LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* hci reset on init
@ 2008-03-03  1:41 Dave Young
  2008-03-03 10:56 ` Marcel Holtmann
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Young @ 2008-03-03  1:41 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: linux-bluetooth, Linux Kernel, David Miller

Hi, marcel

Recently, I find my usb bluetooth dongle doesn't work after reboot or resume.

Kernel report (with bluetooth mouse active):

Feb 15 16:54:32 darkstar kernel: hci_acldata_packet: hci0 ACL packet for unknown
 connection handle 43
Feb 15 16:54:34 darkstar last message repeated 124 times

I fixed it by adding HCI_RESET to CSR usb id:
        { USB_DEVICE(0x0a12, 0x0001), .driver_info = HCI_CSR |HCI_RESET},

Maybe you have known that there's other reports about this on
bluetooth list as well.

Most of the ids in hci_usb.c have the HCI_RESET option set.  Does we
need to do this automaticly?  I want to know whether sending reset
request on init in hci_core.c is better, or at least the btusb driver
need these porting.

What's your opinion?

Regards
dave

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: hci reset on init
  2008-03-03  1:41 hci reset on init Dave Young
@ 2008-03-03 10:56 ` Marcel Holtmann
  0 siblings, 0 replies; 2+ messages in thread
From: Marcel Holtmann @ 2008-03-03 10:56 UTC (permalink / raw)
  To: Dave Young; +Cc: linux-bluetooth, Linux Kernel, David Miller

Hi Dave,

> Recently, I find my usb bluetooth dongle doesn't work after reboot  
> or resume.
>
> Kernel report (with bluetooth mouse active):
>
> Feb 15 16:54:32 darkstar kernel: hci_acldata_packet: hci0 ACL packet  
> for unknown
> connection handle 43
> Feb 15 16:54:34 darkstar last message repeated 124 times
>
> I fixed it by adding HCI_RESET to CSR usb id:
>        { USB_DEVICE(0x0a12, 0x0001), .driver_info = HCI_CSR | 
> HCI_RESET},
>
> Maybe you have known that there's other reports about this on
> bluetooth list as well.
>
> Most of the ids in hci_usb.c have the HCI_RESET option set.  Does we
> need to do this automaticly?  I want to know whether sending reset
> request on init in hci_core.c is better, or at least the btusb driver
> need these porting.
>
> What's your opinion?

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.

Regards

Marcel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-03-03 10:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-03  1:41 hci reset on init Dave Young
2008-03-03 10:56 ` Marcel Holtmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).