I'm attempting to pair with a automotive OBDII bluetooth device from a Beaglebone Black running Ubuntu Linux, and not having a ton of luck.
I was able, initially to set up hci0 using bluez-simple-agent, although it never asked me for a PIN. The PIN for this device is supposed to be "1234". Now, when I run bluez-simple-agent, I get this:
ubuntu@ubuntu-armhf:/etc/bluetooth$ sudo bluez-simple-agent hci0 00:0D:18:A0:4E:35
Creating device failed: org.bluez.Error.AlreadyExists: Already Exists
Which would be fine if it was working, but when I try to bind using rfcomm, I repeatedly get either "Can't connect RFCOMM socket: Invalid exchange" (first time after restarting the device) and then "Can't connect RFCOMM socket: Connection refused" every time thereafter.
This is my /etc/bluetooth/rfcomm.conf file:
rfcomm0 {
# Automatically bind the device at startup
bind no;
# Bluetooth address of the device
device 00:0D:18:A0:4E:35;
# RFCOMM channel for the connection
channel 16;
# Description of the connection
comment "OBDII";
}
And running "rfcomm bind 0" does successfully create a device at /dev/rfcomm0:
rfcomm0: 00:0D:18:A0:4E:35 channel 16 clean
However, trying to read from /dev/rfcomm0, gives me this:
ubuntu@ubuntu-armhf:/etc/bluetooth$ sudo cat /dev/rfcomm0
cat: /dev/rfcomm0: Invalid exchange
ubuntu@ubuntu-armhf:/etc/bluetooth$ sudo cat /dev/rfcomm0
cat: /dev/rfcomm0: Connection refused
ubuntu@ubuntu-armhf:/etc/bluetooth$
And thereafter, rfcomm returns this:
ubuntu@ubuntu-armhf:/etc/bluetooth$ rfcomm
rfcomm0: 00:0D:18:A0:4E:35 channel 16 closed
I think I am using the correct channel (16) based on the result of "sdptool records"
ubuntu@ubuntu-armhf:/etc/bluetooth$ sudo sdptool records 00:0D:18:A0:4E:35
...
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 16
Profile Descriptor List:
"Serial Port" (0x1101)
Version: 0x0100
Any help would be greatly appreciated, because I'm pretty well out of ideas at this point.
Refs:
- rfcomm
- Manually Using Bluetooth RFCOMM
- How to Set Up Bluetooth Serial connection over Bluetooth
- The device