I'm trying to connect to a bluetooth device on embedded linux.
- BlueZ version is 4.101.
- Local bluetooth adapter is an USB Bluetooth dongle Trendnet TBW-107UB, for all tests.
- I can't provide details about the target device, as it is a product of the company I work for, sorry.
Using the method described at this page works fine on Desktop Linux Mint 17 x64, and on RiotBoard (i.MX6) Linaro Ubuntu.
However, I can't get an i.MX25 board (embedded custom Linux) to connect to the target device. Only scan works.
rfcomm.conf
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:07:80:5A:48:93;
# RFCOMM channel for the connection
channel 1;
# Description of the connection
comment "Example Bluetooth device";
}
hciconfig -a output
hci0: Type: BR/EDR Bus: USB
BD Address: 00:15:83:44:39:E2 ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:28633 acl:0 sco:0 events:204 errors:0
TX bytes:899 acl:0 sco:0 commands:60 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'Bluetooth2.1+EDR CLASS1'
Class: 0x000000
Service Classes: Unspecified
Device Class: Miscellaneous,
HCI Version: 2.1 (0x4) Revision: 0x149c
LMP Version: 2.1 (0x4) Subversion: 0x149c
Manufacturer: Cambridge Silicon Radio (10)
rfcomm connect output
# rfcomm connect 0
Can't connect RFCOMM socket: Operation now in progress
hcitool cc output
# hcitool cc 00:07:80:5A:48:93
Can't create connection: Connection timed out
l2ping output
# l2ping 00:07:80:5A:48:93
Can't connect: Invalid exchange
While google searching, the only relevant thread I could find suggests that the rfcomm connect output could be due to a kernel 2.6.27 regression, but mine is 3.10.28 (used uname -r).
I tried with two other target bluetooth devices (of different type), the problem remains the same.
Any help is appreciated, thank you!
Edit
Rfkill block / unblock didn't seem to change anything.