I have a custom board with a LS Research TiWi-BLE module on it. It appears to function correctly for standard bluetooth devices. It can detect devices and I can use bluetooth keyboards and rfcomm devices as expected. See as follows for what I believe to be correct functionality:
# hciattach -s 115200 /dev/ttyO5 texas 3000000
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/TIInit_7.6.15.bts
Loaded BTS script version 1
texas: changing baud rate to 3000000, flow control to 1
[ 17.680000] Bluetooth: Core ver 2.16
[ 17.690000] NET: Registered protocol family 31
[ 17.690000] Bluetooth: HCI device and connection manager initialized
[ 17.700000] Bluetooth: HCI socket layer initialized
[ 17.700000] Bluetooth: L2CAP socket layer initialized
[ 17.710000] Bluetooth: SCO socket layer initialized
[ 17.730000] Bluetooth: HCI UART driver ver 2.2
[ 17.730000] Bluetooth: HCI H4 protocol initialized
[ 17.730000] Bluetooth: HCI BCSP protocol initialized
[ 17.740000] Bluetooth: HCILL protocol initialized
[ 17.870000] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 17.880000] Bluetooth: BNEP filters: protocol multicast
[ 18.030000] Bluetooth: RFCOMM TTY layer initialized
[ 18.040000] Bluetooth: RFCOMM socket layer initialized
[ 18.040000] Bluetooth: RFCOMM ver 1.11
[ 18.190000] PHY: 0:00 - Link is Up - 1000/Full
Device setup complete
# hciconfig -a
hci0: Type: BR/EDR Bus: UART
BD Address: 1C:45:93:5C:8D:12 ACL MTU: 1021:4 SCO MTU: 180:4
UP RUNNING PSCAN
RX bytes:2540 acl:0 sco:0 events:50 errors:0
TX bytes:758 acl:0 sco:0 commands:42 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: '<hostname>'
Class: 0x480100
Service Classes: Capturing, Telephony
Device Class: Computer, Uncategorized
HCI Version: 4.0 (0x6) Revision: 0x0
LMP Version: 4.0 (0x6) Subversion: 0x1f3b
Manufacturer: Texas Instruments Inc. (13)
# hcitool scan
Scanning ...
D8:A2:5E:89:2B:2C Loudthought2 iMac
00:23:12:4B:55:0A Loudthought G5 (4)
I can't get the BLE features of the chip working though. I have a CC2540 Mini Development kit (BLE dev kit) and have the USB dongle discovering the keyfob. I expect my wl12xx to also be able to discover the keyfob. But it fails to do that. I've been attempting to do the following:
# hciconfig hci0 lestates
Read LE supported states on hci0 returned status 12
# hcitool cmd 0x3f 0x015B 0x1 0x0
< HCI Command: ogf 0x3f, ocf 0x015b, plen 2
01 00
> HCI Event: 0x0e plen 4
01 5B FD 1F
# hcitool cmd 0x3f 0x01DD 0x1
< HCI Command: ogf 0x3f, ocf 0x01dd, plen 1
01
> HCI Event: 0x0e plen 4
01 DD FD 00
# hciconfig hci0 lestates
Supported link layer states:
YES Non-connectable Advertising State
YES Scannable Advertising State
YES Connectable Advertising State
YES Directed Advertising State
YES Passive Scanning State
YES Active Scanning State
YES Initiating State/Connection State in Master Role
YES Connection State in the Slave Role
YES Non-connectable Advertising State and Passive Scanning State combination
YES Scannable Advertising State and Passive Scanning State combination
YES Connectable Advertising State and Passive Scanning State combination
YES Directed Advertising State and Passive Scanning State combination
YES Non-connectable Advertising State and Active Scanning State combination
YES Scannable Advertising State and Active Scanning State combination
YES Connectable Advertising State and Active Scanning State combination
YES Directed Advertising State and Active Scanning State combination
YES Non-connectable Advertising State and Initiating State combination
YES Scannable Advertising State and Initiating State combination
YES Non-connectable Advertising State and Master Role combination
YES Scannable Advertising State and Master Role combination
YES Non-connectable Advertising State and Slave Role combination
YES Scannable Advertising State and Slave Role combination
YES Passive Scanning State and Initiating State combination
YES Active Scanning State and Initiating State combination
YES Passive Scanning State and Master Role combination
YES Active Scanning State and Master Role combination
YES Passive Scanning State and Slave Role combination
YES Active Scanning State and Slave Role combination
YES Initiating State and Master Role combination/Master Role and Master Role combination
# hcitool lescan
LE Scan ...
And it hangs... forever. Meanwhile the CC2540 Mini Dev kit detects the keyfob without issue.
I'm using the firmware linked from http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_BTS_files_overview @ http://processors.wiki.ti.com/images/e/e8/BTS_files_v2.zip (./AM335/1271L/3M/TIInit_7.6.15.bts).
What's the secret? Is there any documentation anywhere as to how to actually use the WL1271L with BLE devices and bluez?