Jetson nano bluetooth issue: RFCOMM TTY support not available

Hi everyone,

Even though someone already asked a similar question in this forum (rfcomm socket - Jetson Nano - NVIDIA Developer Forums), the solution provided there could not really solve the the problem.

I tried to read data from external bluetooth sensor to the program in Jetson Nano. I found some tutorials which worked for raspberry Pi 3b+. The procedure is like this:
1)edit this file: sudo nano /etc/systemd/system/dbus-org.bluez.service; ExecStart=/usr/lib/bluetooth/bluetoothd -C;
ExecStartPost=/usr/bin/sdptool add SP;
2)then implement this command: sudo rfcomm bind 0 xx:xx:xx:xx:xx:xx.

By this command, I could successfully read the data to the raspberry pi from external bluetooth sensor. However, when I applied them into Jetson Nano (because there is no bluetooth module for jetson nano, I used a bluetooth adapter), it could not work. If I edit /etc/systemd/system/dbus-org.bluez.service as I mentioned above, the bluetooth service even fails to start. When I give the command “sudo rfcomm bind 0 xx:xx:xx:xx:xx:xx”, the error message was threw which said “RFCOMM TTY support not available”. Is this error caused by my bluetooth adapter or system configurations?

Here is some additional info which might be useful as your reference.

1)This is the bluetooth info:

lamb@lamb-desktop:~$ lsusb
Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

lamb@lamb-desktop:~$ hciconfig dev
hci0: Type: Primary Bus: USB
BD Address: 00:1A:7D:DA:71:13 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:658 acl:0 sco:0 events:44 errors:0
TX bytes:2191 acl:0 sco:0 commands:44 errors:0

  1. And this might be the reason of error message “RFCOMM TTY support not available”

lamb@lamb-desktop:~$ zcat /proc/config.gz | grep RFCOMM
CONFIG_BT_RFCOMM=y

CONFIG_BT_RFCOMM_TTY is not set

Any responses are welcome!

Hi,

I hope my experience could help someone who may have the same needs as me.

After so many trial and errors, I finally found out the reason is that the default kernel doesn’t support RFCOMM. In order to enable RFCOMM, we have to recompile the kernel. Here is a great tutorial for recompiling the kernel (NVIDIA Jetson Nano - Docker optimized Linux Kernel · Docker Pirates ARMed with explosive stuff). Just follow it, then in the menuconfig panel, enable the “RFCOMM TTY support”, which is under the “Networking support/Bluetooth subsystem support”.

Then enjoy!

Best regard,
Xiaoqun Yu

3 Likes