Re: hciconfig hci0 reset bug
"Odysseus Flappington" <[email protected]>
| Newsgroups | gmane.linux.bluez.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Marcel, Dave, I've been looking around to see if I could figure out the build id where the dongles started shipping with the correct HCI_Reset. I think I may have found something. http://www.csr.com/ contains the docs regarding the release of the CSR firmware and the specs that each adhere's to. Looking at the following HCI overall Implementation doc, I think we can find the relevant build id: https://www.csrsupport.com/document.php?did=141 Firstly, i found confirmation that the problem has been solved in HCIStack1.1v12.x: "In builds before HCIStack1.1v12.x, the HCI Reset command rebooted the BlueCore device. This implied the host transport was reset. This was a consequence of the way the firmware team understood an early version of the Bluetooth specification (probably 0.7). Rebooting the BlueCore device is incorrect behaviour. Version 1.1 [BT] now makes it clear that the Reset command must reinitialise radio, LC, LM and HCI state, but leave the host transport in place. Builds since HCIStack1.1v12.x obey [BT]." So this should be fixed in HCIStack1.1v12.x, the doc outlines the build ids for each version of of the stack, here is the build id for HCIStack1.1v12.1: BuildID (hex) BuildID (decimal) Build Name 0x0077 119 HCIStack1.1v12.1 So, if I'm reading this correctly, you should issue the reset for all CSR-based dongles with build id > 118. Am I on the right track here? Does this information look accurate to you guys? If there's anything else I can to do re this issue, please let feel free to ask me. Many thanks, Alex (Jackflap) On 18/03/2008, Dave Young <[email protected]> wrote: > > On Mon, Mar 17, 2008 at 8:28 PM, Odysseus Flappington > > <[email protected]> wrote: > > Hi Dave, > > > > > So I got around to recompiling my kernel this weekend, and ran off a > test on > > the patch attached and it worked like a charm. > > > > I have to wonder though why the line was commented out in the first > place. > > Could it be because internal adapters don't need the line? > > > > Anyway, I'd love to see this fixed in future kernels. If there's > anything > > else I can do to help test, let me know. Now that I've got my head > around > > recompiling kernels again, I can probably turn around tests a lot > faster. > > > Hi thanks > > About the reset issue, I get some response from marcel about reset csr > dongles > -------- Marcel said : > this is a clear NAK since you gonna break all old CSR based dongles. > Within the Bluetooth 1.0b and 1.1 specification there was an issues > with if HCI_Reset should only reset the Bluetooth internals or also > the transport. So issuing HCI_Reset on an old dongle will cause an USB > reset. > > The solution is to find the build id when CSR produced correct > firmware and set the HCI_RESET quirk based on that. I meant to do this > for a long time, but so far never got around to inquiry the correct > build id where this got fixed. > -------- > > But I think it's hard to find that build id, so ... > > Regards > > dave > > > > > > Many thanks, > > > > > > Alex > > > > On 03/03/2008, Odysseus Flappington <[email protected]> wrote: > > > Ok, > > > > > > I passed reset=1 to hci_usb by adding the following line to > > > /etc/modprobe.d/options: > > > > > > options hci_usb reset=1 > > > > > > and that's fixed the problem! > > > > > > Wasn't sure about my lsusb output, didn't seem to show very much, so > > > here's my lsusb -v output for my bluetooth device: > > > > > > Bus 001 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd > > > Bluetooth Dongle (HCI mode) > > > Device Descriptor: > > > bLength 18 > > > bDescriptorType 1 > > > bcdUSB 2.00 > > > bDeviceClass 224 Wireless > > > bDeviceSubClass 1 Radio Frequency > > > bDeviceProtocol 1 Bluetooth > > > bMaxPacketSize0 64 > > > idVendor 0x0a12 Cambridge Silicon Radio, Ltd > > > idProduct 0x0001 Bluetooth Dongle (HCI mode) > > > bcdDevice 31.64 > > > iManufacturer 0 > > > iProduct 0 > > > iSerial 0 > > > bNumConfigurations 1 > > > Configuration Descriptor: > > > bLength 9 > > > bDescriptorType 2 > > > wTotalLength 177 > > > bNumInterfaces 2 > > > bConfigurationValue 1 > > > iConfiguration 0 > > > bmAttributes 0xc0 > > > Self Powered > > > MaxPower 0mA > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 0 > > > bAlternateSetting 0 > > > bNumEndpoints 3 > > > bInterfaceClass 224 Wireless > > > bInterfaceSubClass 1 Radio Frequency > > > bInterfaceProtocol 1 Bluetooth > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x81 EP 1 IN > > > bmAttributes 3 > > > Transfer Type Interrupt > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0010 1x 16 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x02 EP 2 OUT > > > bmAttributes 2 > > > Transfer Type Bulk > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0040 1x 64 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x82 EP 2 IN > > > bmAttributes 2 > > > Transfer Type Bulk > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0040 1x 64 bytes > > > bInterval 1 > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 1 > > > bAlternateSetting 0 > > > bNumEndpoints 2 > > > bInterfaceClass 224 Wireless > > > bInterfaceSubClass 1 Radio Frequency > > > bInterfaceProtocol 1 Bluetooth > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x03 EP 3 OUT > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0000 1x 0 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x83 EP 3 IN > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0000 1x 0 bytes > > > bInterval 1 > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 1 > > > bAlternateSetting 1 > > > bNumEndpoints 2 > > > bInterfaceClass 224 Wireless > > > bInterfaceSubClass 1 Radio Frequency > > > bInterfaceProtocol 1 Bluetooth > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x03 EP 3 OUT > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0009 1x 9 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x83 EP 3 IN > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0009 1x 9 bytes > > > bInterval 1 > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 1 > > > bAlternateSetting 2 > > > bNumEndpoints 2 > > > bInterfaceClass 224 Wireless > > > bInterfaceSubClass 1 Radio Frequency > > > bInterfaceProtocol 1 Bluetooth > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x03 EP 3 OUT > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0011 1x 17 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x83 EP 3 IN > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0011 1x 17 bytes > > > bInterval 1 > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 1 > > > bAlternateSetting 3 > > > bNumEndpoints 2 > > > bInterfaceClass 224 Wireless > > > bInterfaceSubClass 1 Radio Frequency > > > bInterfaceProtocol 1 Bluetooth > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x03 EP 3 OUT > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0019 1x 25 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x83 EP 3 IN > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0019 1x 25 bytes > > > bInterval 1 > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 1 > > > bAlternateSetting 4 > > > bNumEndpoints 2 > > > bInterfaceClass 224 Wireless > > > bInterfaceSubClass 1 Radio Frequency > > > bInterfaceProtocol 1 Bluetooth > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x03 EP 3 OUT > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0021 1x 33 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x83 EP 3 IN > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0021 1x 33 bytes > > > bInterval 1 > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 1 > > > bAlternateSetting 5 > > > bNumEndpoints 2 > > > bInterfaceClass 224 Wireless > > > bInterfaceSubClass 1 Radio Frequency > > > bInterfaceProtocol 1 Bluetooth > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x03 EP 3 OUT > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0031 1x 49 bytes > > > bInterval 1 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x83 EP 3 IN > > > bmAttributes 1 > > > Transfer Type Isochronous > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0031 1x 49 bytes > > > bInterval 1 > > > Device Status: 0x0001 > > > Self Powered > > > > > > Thanks, > > > Alex > > > > > > > > > > > > > > > On 03/03/2008, Odysseus Flappington <[email protected]> wrote: > > > > Hi Dave, > > > > > > > > Thanks for the help. I can probably get a recompile of my kernel > done > > > > by the end of the weekend, maybe end of week, if it'll help. > > > > > > > > In the meantime, I'll try loading the bluetooth module with reset=1 > > > > and get the lsusb output to you tonight when I get home from work. > > > > > > > > Thanks, > > > > Alex (Jackflap) > > > > > > > > > > > > On 03/03/2008, Dave Young <[email protected]> wrote: > > > > > On Mon, Mar 3, 2008 at 9:21 AM, Dave Young > > <[email protected]> wrote: > > > > > > On Fri, Feb 29, 2008 at 6:51 AM, Odysseus Flappington > > > > > > <[email protected]> wrote: > > > > > > > > > > > > > > > > > > > So, it turns out that in order for any external usb > bluetooth > > adapters > > > > > > > to re-connect to paired input devices on reboot, you need > to > > issue an > > > > > > > 'hciconfig hci0 reset' command after rebooting in order to > > reconnect. > > > > > > > > > > > > > > More info can be found in bug #133690 on Launchpad > > > > > > > > > (https://bugs.launchpad.net/ubuntu/+source/bluez-utils/+bug/133690). > > > > > > > > > > > > > > This bug isn't Ubuntu-specific since I have reproduced in > > Fedora 8, so > > > > > > > I'm posting here. > > > > > > > > > > > > > > Simply adding 'hciconfig hci0 reset' in > /etc/default/bluetooth > > in > > > > > > > source would solve this bug. Is this a reasonable > solution? > > > > > > > > > > > > > > What is required in order to get a fix implemented? > > > > > > > > > > > > > > > Sorry for previous blank reply. > > > > > > > > > > For your problem, if you don't want to patch kernel you can also > try > > > > > load the bluetooth module with parameter "reset=1" > > > > > > > > > > Could you send the lsusb output? > > > > > > > > > > Regards > > > > > > > > > > dave > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > This SF.net email is sponsored by: Microsoft > > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > > _______________________________________________ > > > > > Bluez-users mailing list > > > > > [email protected] > > > > > https://lists.sourceforge.net/lists/listinfo/bluez-users > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Bluez-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bluez-users