OBEX Push without pairing
Hi Marcel and everybody else in the list,
I am writing an applications that, among other things, sends an OBEX Push to a device (e.g. a mobile phone). This is working fine, except for one thing: whenever I send something to the device, the first time it always asks for the PIN. I have seen that, for example, kbluetooth (the KDE Bluetooth framework) and Impronto can send a file without pairing first. How can I do that?
I am sure that I am missing something, but still have not found what. In my application, I call to socket(), bind() to a local address (BDADDR_ANY) and then connect(). It is at the connect stage that the pairing takes place. I have been following the code of kbluetooth and all I can see is that I am doing essentially the same.
Any help would be appreciated.
Cheers,
Pedro Monjo
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Marcel Holtmann
maintainerHi Pedro,
Quoted 7 lines
I am writing an applications that, among other things, sends an OBEX Push to a device (e.g. a mobile phone). This is working fine, except for one thing: whenever I send something to the device, the first time it always asks for the PIN. I have seen that, for example, kbluetooth (the KDE Bluetooth framework) and Impronto can send a file without pairing first. How can I do that?
Quoted 5 lines
I am sure that I am missing something, but still have not found what. In my application, I call to
socket(),bind()to a local address (BDADDR_ANY) and thenconnect(). It is at the connect stage that the pairing takes place. I have been following the code of kbluetooth and all I can see is that I am doing essentially the same.
it seems that your device is working in security mode 3 and then actually every ACL connection requests the authentication. The simple answer is to use security mode 1/2.
Regards
Marcel
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Hi Marcel,
Quoted 12 lines · Marcel Holtmann
Hi Pedro,
Quoted 4 lines
I am writing an applications that, among other things, sends an OBEX Push to a device (e.g. a mobile phone). This is working fine, except for one thing: whenever I send something to the device, the first time it always asks for the PIN. I have seen that, for example, kbluetooth (the KDE Bluetooth framework) and Impronto can send a file without pairing first. How can I do that?
I am sure that I am missing something, but still have not found what. In my application, I call to
socket(),bind()to a local address (BDADDR_ANY) and thenconnect(). It is at the connect stage that the pairing takes place. I have been following the code of kbluetooth and all I can see is that I am doing essentially the same.it seems that your device is working in security mode 3 and then actually every ACL connection requests the authentication. The simple answer is to use security mode 1/2.
Thank you for your fast answer.
I am not quite sure about the security mode the device is. How can I get it? In any case, I have executed (as root):
$ hciconfig hci0 noencrypt $ hciconfig hci0 noauth
but still no success. With the same computer and configuration and as a normal user, if I send a file from KDE using kbtobexclient, it works as expected (no PIN requested, just the confirmation for receiving the message), so I believe that there is some other things to do. I guess that it should be a library call or somthing similar. Any suggestions?
Thanks,
Pedro
Marcel Holtmann
maintainerHi Pedro,
Quoted 9 lines
Quoted 4 lines
it seems that your device is working in security mode 3 and then actually every ACL connection requests the authentication. The simple answer is to use security mode 1/2.
Thank you for your fast answer.
I am not quite sure about the security mode the device is. How can I get it? In any case, I have executed (as root):
Quoted 8 lines
$ hciconfig hci0 noencrypt $ hciconfig hci0 noauthbut still no success. With the same computer and configuration and as a normal user, if I send a file from KDE using kbtobexclient, it works as expected (no PIN requested, just the confirmation for receiving the message), so I believe that there is some other things to do. I guess that it should be a library call or somthing similar. Any suggestions?
run "hcidump -X -V" as root at the same time and show us the result.
Regards
Marcel
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
Quoted 5 lines · Pedro Monjo Florit
but still no success. With the same computer and configuration and as a normal user, if I send a file from KDE using kbtobexclient, it works as expected (no PIN requested, just the confirmation for receiving the message), so I believe that there is some other things to do. I guess that it should be a library call or somthing similar. Any suggestions?
Are you sure that you are connecting to the rfcomm channel of the obex push service? All others require authentication usually. Maybe you should have a look at hcidump's output to see the difference and at which point the phone is requesting authentication.
Fred
Signature · 13 lines
Fred Schaettgen [email protected] ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Bluez-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bluez-users
Hi Fred:
Quoted 9 lines · Fred Schaettgen
Quoted 6 lines · Pedro Monjo Florit
but still no success. With the same computer and configuration and as a normal user, if I send a file from KDE using kbtobexclient, it works as expected (no PIN requested, just the confirmation for receiving the message), so I believe that there is some other things to do. I guess that it should be a library call or somthing similar. Any suggestions?
Quoted 5 lines
Are you sure that you are connecting to the rfcomm channel of the obex push service? All others require authentication usually. Maybe you should have a look at hcidump's output to see the difference and at which point the phone is requesting authentication.
Fred
Thank you very much for your suggestion. It was indeed what you said. I was sending the data to the service "OBEX File Transfer" instead of "OBEX Object Push". Now it works exactly as expected.
Cheers,
Pedro