Using sdptool, I have added the OPUSH and FTP profiles against my bluetooth stack on Linux (yocto Linux to be precise). Given below are my profiles:

Service Name: OBEX Object Push Service RecHandle: 0x10005 Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 9 "OBEX" (0x0008) Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100

Service Name: OBEX File Transfer Service RecHandle: 0x10006 Service Class ID List: "OBEX File Transfer" (0x1106) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 10 "OBEX" (0x0008) Profile Descriptor List: "OBEX File Transfer" (0x1106) Version: 0x0100

I then run the obexd pointed to a folder in my file system into which the files submitted by the bluetooth client will reside in.

/usr/libexec/bluetooth/obexd -r $HOME -a -d -n

My goal is establish a file transfer mechanism.

However, when the bluetooth client tries to send the file, I get the following exception:

obexd[3469]: ../bluez-5.37/obexd/plugins/bluetooth.c:profile_new_connection() device /org/bluez/hci0/dev_D4_63_C6_FC_B5_57 obexd[3469]: ../bluez-5.37/obexd/src/obex.c:obex_session_start() obexd[3469]: ../bluez-5.37/obexd/src/obex.c:cmd_connect() obexd[3469]: CONNECT(0x0), (null)(0xffffffff) obexd[3469]: ../bluez-5.37/obexd/src/obex.c:cmd_connect() Selected driver: Object Push server obexd[3469]: CONNECT(0x0), (null)(0x0) obexd[3469]: disconnected: Unicode conversion failed: Conversion from character set 'UTF-16BE' to 'UTF-8' is not supported obexd[3469]: ../bluez-5.37/obexd/src/obex.c:obex_session_destroy()

I have confirmed in debug mode that the obexd utility has registered my bluetooth services.

Can anyone please tell me as to why I am getting a unicode conversion exception? How can I fix this?

Thanks in advance for your help.

  • perhaps one of your files is Unicode 16 big endian? – OyaMist Jun 24 '18 at 13:24
  • yep. I checked that too and made sure my files were only UTF-8 encoded and still the obexd daemon is reporting the same exception. – Subbu Jun 24 '18 at 22:35
  • Byte order marks can wreak havoc. The UTF16BE BOM is FE FF. Suggest you try a single "hello world" file prefixed with UTF8 BOM. See msdn.microsoft.com/en-us/library/windows/desktop/… – OyaMist Jun 25 '18 at 13:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.