Comment 39 for bug 714862

Revision history for this message
Eric Miao (eric.y.miao) wrote :

I've modified the upstream drivers a little bit and managed to get it
working, but the changes are so ulgy they'll never make into upstream.
Below are my findings:

* a GET_STATE has to be issued before firmware can be loaded

* no USB device reset happens after firmware downloaded
 (I mentioned observed a USB re-enumeration, which is wrong - double
  checked, no re-enumeration happened, it was me manually removing
  the ath3k module)

* no PID change after firmware downloaded, even if the command
 SWITCH_VID_PID is issued (same one as for ATH_AR3012)

* btusb.ko will be working if the line below is removed from btusb.c

 { USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE },

* I have to do 'rmmod ath3k' and 'insmod btusb' to make btusb to
 attach to the device

Considering there is no reliable/standard way in Linux kernel for
two drivers to attach to the same USB device, a feasible way to
fix this is really to change the firmware to follow a little bit the
way as AR3012, so a PID change will happen.