Bluetooth regression in 3.10
Subsystems (2)
Hi Johan,
I noticed the thread "3.10-rc: bluetooth disappeared on thinkpad x60 (regression)" on lkml, but unfortunately the resulting patch does not fix the regression for me.
I'm running 3.10.10, so the fix from the thread is applied to my kernel.
I see similar issues when trying to bring up my Bluetooth dongle:
$ lsusb | grep Blue Bus 004 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
This is a Broadcom chip based device.
$ hciconfig hci0 up Can't init device hci0: Operation not supported (95)
hcidump hci0 -X shows:
< HCI Command: Delete Stored Link Key (0x03|0x0012) plen 7
bdaddr 00:00:00:00:00:00 all 1
Quoted 1 line
HCI Event: Command Complete (
0x0e) plen 4
Delete Stored Link Key (0x03|0x0012) ncmd 1
status 0x11 deleted 0
Error: Unsupported Feature or Parameter Valuedevice: disconnected
The following workaround fixes the problem for me:
net/bluetooth/hci_core.c +1 -1
@@ -598,7 +598,7 @@u8 p;/* Only send HCI_Delete_Stored_Link_Key if it is supported */ -if (hdev->commands[6 ] &0x80 ) { +if (0 ) {struct hci_cp_delete_stored_link_key cp;bacpy (&cp.bdaddr,BDADDR_ANY );
This isn't a real solution, of course.
I would be happy to test alternative solutions.
Signature · 1 line
Michael
Marcel Holtmann
maintainerHi Michael,
Quoted 11 lines
I noticed the thread "3.10-rc: bluetooth disappeared on thinkpad x60 (regression)" on lkml, but unfortunately the resulting patch does not fix the regression for me.
I'm running 3.10.10, so the fix from the thread is applied to my kernel.I see similar issues when trying to bring up my Bluetooth dongle:
$ lsusb | grep Blue Bus 004 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)This is a Broadcom chip based device.
that device is CSR based and not Broadcom based. Check with hciconfig hci0 version to see what it really is.
Quoted 6 lines
$ hciconfig hci0 up Can't init device hci0: Operation not supported (95)hcidump hci0 -X shows:
Quoted 7 lines
< HCI Command: Delete Stored Link Key (0x03|0x0012) plen 7
bdaddr 00:00:00:00:00:00 all 1Quoted 1 line
HCI Event: Command Complete (
0x0e) plen 4Delete Stored Link Key (0x03|0x0012) ncmd 1
status0x11deleted 0
Error: Unsupported Feature or Parameter Value
device: disconnected
And hciconfig hci0 commands tells you that this command is actually supported.
Quoted 7 lines
The following workaround fixes the problem for me:
Index:
linux/net/bluetooth/hci_core.c
===================================================================
net/bluetooth/hci_core.c line 604
Quoted 8 lines
net/bluetooth/hci_core.c +1
-1@@ -598,7 +598,7 @@u8 p;/* Only send HCI_Delete_Stored_Link_Key if it is supported */ -if (hdev->commands[6 ] &0x80 ) { +if (0 ) {struct hci_cp_delete_stored_link_key cp;bacpy (&cp.bdaddr,BDADDR_ANY );
Can you toy with hcitool cmd to send the HCI_Delete_Stored_Link_Key commands and see what parameters it would accept to delete all keys.
Regards
Marcel
Quoted 3 lines · On Wed, 4 Sep 2013 08:40:00 -0700 Marcel Holtmann <[email protected]> wrote:
Quoted 1 line
This is a Broadcom chip based device.
that device is CSR based and not Broadcom based. Check with hciconfig hci0 version to see what it really is.
I'm pretty sure there is a Broadcom chip in there, because I opened it once.
Quoted 1 line
Check with hciconfig hci0 version to see what it really is.
$ hciconfig hci0 version | grep Manu
Manufacturer: Broadcom Corporation (15)Quoted 1 line
Can you toy with hcitool cmd to send the
HCI_Delete_Stored_Link_Keycommands and see what parameters it would accept to delete all keys.
Can you give me a few hints and examples?
Signature · 1 line
Michael