public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: "Odysseus Flappington" <deriziotis@gmail.com>
To: "Dave Young" <hidave.darkstar@gmail.com>
Cc: BlueZ users <bluez-users@lists.sourceforge.net>
Subject: Re: [Bluez-users] hciconfig hci0 reset bug
Date: Mon, 17 Mar 2008 12:28:28 +0000	[thread overview]
Message-ID: <5eee8c670803170528o44384744pe238c378953dbc02@mail.gmail.com> (raw)
In-Reply-To: <5eee8c670803031419k10c8e625p447f8f98ac27dcb9@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 12717 bytes --]

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.

Many thanks,
Alex

On 03/03/2008, Odysseus Flappington <deriziotis@gmail.com> 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 <deriziotis@gmail.com> 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 <hidave.darkstar@gmail.com> wrote:
> >  > On Mon, Mar 3, 2008 at 9:21 AM, Dave Young <hidave.darkstar@gmail.com>
> wrote:
> >  >  > On Fri, Feb 29, 2008 at 6:51 AM, Odysseus Flappington
> >  >  >  <deriziotis@gmail.com> 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
> >  >  Bluez-users@lists.sourceforge.net
> >  >  https://lists.sourceforge.net/lists/listinfo/bluez-users
> >  >
> >
>

[-- Attachment #1.2: Type: text/html, Size: 35748 bytes --]

[-- Attachment #2: diff.hci_reset --]
[-- Type: application/octet-stream, Size: 609 bytes --]

net/bluetooth/hci_core.c |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -upr linux/net/bluetooth/hci_core.c linux.new/net/bluetooth/hci_core.c
--- linux/net/bluetooth/hci_core.c	2008-03-01 10:53:34.000000000 +0800
+++ linux.new/net/bluetooth/hci_core.c	2008-03-01 10:53:07.000000000 +0800
@@ -485,7 +485,7 @@ int hci_dev_open(__u16 dev)
 		atomic_set(&hdev->cmd_cnt, 1);
 		set_bit(HCI_INIT, &hdev->flags);
 
-		//__hci_request(hdev, hci_reset_req, 0, HZ);
+		__hci_request(hdev, hci_reset_req, 0, HZ);
 		ret = __hci_request(hdev, hci_init_req, 0,
 					msecs_to_jiffies(HCI_INIT_TIMEOUT));
 

[-- Attachment #3: Type: text/plain, Size: 228 bytes --]

-------------------------------------------------------------------------
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/

[-- Attachment #4: Type: text/plain, Size: 164 bytes --]

_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users

  reply	other threads:[~2008-03-17 12:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-28 22:51 [Bluez-users] hciconfig hci0 reset bug Odysseus Flappington
2008-03-03  1:21 ` Dave Young
2008-03-03  1:24   ` Dave Young
2008-03-03 11:35     ` Odysseus Flappington
2008-03-03 22:19       ` Odysseus Flappington
2008-03-17 12:28         ` Odysseus Flappington [this message]
2008-03-18  7:14           ` Dave Young
2008-03-20 17:19             ` Odysseus Flappington
2008-03-22  0:29               ` Dave Young
2008-03-26 16:22                 ` Marcel Holtmann
2008-04-04  8:58                   ` Odysseus Flappington
2008-07-21 20:53                   ` Odysseus Flappington
2008-07-22  5:02                     ` Dave Young
2008-03-26 12:50               ` Peter Stephenson
2008-03-26 16:24                 ` Marcel Holtmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5eee8c670803170528o44384744pe238c378953dbc02@mail.gmail.com \
    --to=deriziotis@gmail.com \
    --cc=bluez-users@lists.sourceforge.net \
    --cc=hidave.darkstar@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox