Dear Marcel, I just verified that, on 3.0 kernel, the btusb will be loaded after ath3k. That will lead to the problem. But, on 3.2 kernel, btusb will be loaded before ath3k. And I forced it to load ath3k before btusb on 3.2 kernel, and it works as expected. So, there is no loading order issue on 3.2 kernel. I removed the wording about the module loading order and reattach it again. Best regards, AceLan Kao. 2012/1/31 Marcel Holtmann <marcel@xxxxxxxxxxxx>: > Hi AceLan, > >> Add another vendor specific ID for Atheros BT device >> >> output of usb-devices: >> T: Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 >> D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 >> P: Vendor=0cf3 ProdID=e004 Rev=00.02 >> S: Manufacturer=Atheros Communications >> S: Product=Bluetooth USB Host Controller >> S: SerialNumber=Alaska Day 2006 >> C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA >> I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb >> I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb >> >> BTW, to enable this device correctly, the btusb module should be loaded >> before ath3k. So, user should have this line in /etc/modprobe.d/ath3k.conf >> >> install ath3k modprobe btusb; modprobe --ignore-install ath3k; > > NAK. Get this fixed properly then. > > Regards > > Marcel > > -- Chia-Lin Kao(AceLan) http://blog.acelan.idv.tw/ E-Mail: acelan.kaoATcanonical.com (s/AT/@/)
From e10c5062a311103ea96291e318ab44e6e91c2d52 Mon Sep 17 00:00:00 2001 From: AceLan Kao <acelan.kao@xxxxxxxxxxxxx> Date: Tue, 31 Jan 2012 10:24:54 +0800 Subject: [PATCH] Bluetooth: Add support for AR3012 [0cf3:e004] Add another vendor specific ID for Atheros AR3012 output of usb-devices: T: Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0cf3 ProdID=e004 Rev=00.02 S: Manufacturer=Atheros Communications S: Product=Bluetooth USB Host Controller S: SerialNumber=Alaska Day 2006 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb BugLink: https://bugs.launchpad.net/bugs/922715 Signed-off-by: AceLan Kao <acelan.kao@xxxxxxxxxxxxx> --- drivers/bluetooth/ath3k.c | 2 ++ drivers/bluetooth/btusb.c | 1 + 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c index 07f14d1..b55fc76 100644 --- a/drivers/bluetooth/ath3k.c +++ b/drivers/bluetooth/ath3k.c @@ -71,6 +71,7 @@ static struct usb_device_id ath3k_table[] = { /* Atheros AR3012 with sflash firmware*/ { USB_DEVICE(0x0CF3, 0x3004) }, + { USB_DEVICE(0x0CF3, 0xE004) }, /* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xE02C) }, @@ -87,6 +88,7 @@ static struct usb_device_id ath3k_blist_tbl[] = { /* Atheros AR3012 with sflash firmware*/ { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, { } /* Terminating entry */ }; diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index f00f596..888230a 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -126,6 +126,7 @@ static struct usb_device_id blacklist_table[] = { /* Atheros 3012 with sflash firmware */ { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, /* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, -- 1.7.8.3