Hello - I have a DM3730 OMAP3 interfacing with a WL1831 WiFi/Bluetooth Module. I'm certain the kernel is configured correctly and the WiFi interface comes up fine. I can do an 'ifconfig wlan0 up' followed by a 'iw wlan0 scan' and find nearby hotspots.
I've built all relevant modules for our Linux 3.4.79 Kernel from the backports package here:
http://drvbp1.linux-foundation.org/~mcgrof/rel-html/backports/
I am having problems getting Hcitool to connect to the Bluetooth module properly.
Here is my recipe:
# Toggle the bluetooth enable line echo -e "\nTogggling the bluetooth enable lines..." /bin/echo 0 > /sys/class/gpio/gpio194/value /bin/echo 1 > /sys/class/gpio/gpio194/value # Start up the bluetooth stack echo -e "\nStarting hciattach..." /usr/sbin/hciattach /dev/ttyO1 texas 3000000 # I've tried 152000 as well with same results echo -e "\nStarting bluetoothd..." /usr/sbin/bluetoothd
I've tried every single BTS file from the official TI Bluetooth firmware repository:
https://github.com/TI-ECS/bt-firmware
I always seem to get this error ( not a legal TI firmware file ):
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/TIInit_11.8.32.bts
/lib/firmware/TIInit_11.8.32.bts not a legal TI firmware file
Warning: cannot find BTS file: /lib/firmware/TIInit_11.8.32.bts
Bluetooth: Unknown HCI packet type 49
Bluetooth: Unknown HCI packet type 34
Bluetooth: hci0 command 0x1003 tx timeout
Bluetooth: hci0 command 0x1001 tx timeout
Bluetooth: hci0 command 0x1009 tx timeout
Initialization timed out.
I can, however do the following command, which allows hciconfig -a to show a result, but then scans still fail:
>> hciconfig /dev/ttyO1 any
Device setup complete
>> hciconfig -a
hci0: Type: BR/EDR Bus: UART
BD Address: 78:A5:04:2E:F4:2B ACL MTU: 1021:6 SCO MTU: 180:4
UP RUNNING PSCAN
RX bytes:635 acl:0 sco:0 events:35 errors:0
TX bytes:971 acl:0 sco:0 commands:35 errors:0
Features: 0xff 0xfe 0x2d 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF
Link mode: SLAVE ACCEPT
Name: '"FLUKE's Thermal Imager"'
Class: 0x400430
Service Classes: Telephony
Device Class: Audio/Video, Video Camera
HCI Version: 4.0 (0x6) Revision: 0x0
LMP Version: 4.0 (0x6) Subversion: 0xac20
Manufacturer: Texas Instruments Inc. (13)
It seems that providing "any" to hcitool seems to work, but not loading a TI firmware file.
I would appreciate if someone could please shed some light on why I can't load a firmware file from the TI repository even though communication with the chip seems to be working.
Thanks.
#### UPDATE ####
I've worked around the "not a Legal Firmware" issue by commenting out the check in the hciattach_ti.c file.
+ /*
if (fw_header->magic != FM_FW_FILE_HEADER_MAGIC) {
fmerr("%s not a legal TI firmware file\n", fw_name);
ret = -EINVAL;
goto rel_fw;
}
1271
+ */
However, now I get the "Initialization Timed out" error:
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/TIInit_11.8.32.bts
Loaded BTS script version 1
texas: changing baud rate to 3000000, flow control to 1
Initialization timed out.