2012-01-30 03:49:35

by AceLan Kao

[permalink] [raw]
Subject: [PATCH] Bluetooth: Add support for Atheros [0cf3:e004]

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;

Signed-off-by: AceLan Kao <[email protected]>
---
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


2012-01-31 03:24:27

by AceLan Kao

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Atheros [0cf3:e004]

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 <[email protected]>:
> 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/@/)


Attachments:
0001-Bluetooth-Add-support-for-AR3012-0cf3-e004.patch (2.15 kB)

2012-01-30 18:33:41

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Atheros [0cf3:e004]

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



2012-03-09 17:18:34

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Atheros [0cf3:e004]

Hi AceLan,

please do not top posting. Your email might be ignored in the future.

> Sorry, I didn't get notice about this patch,
> is there any update for this patch?
>
> There is no issue for 3.2 kernel and I think we should have the
> PID:VID listed in the kernel first.
> We could contact Atheros and request they update the firmware if there
> is any problem happened in the future.

And patches should be send inline and not as an attachment. Otherwise
nobody will look at it.

Regards

Marcel



2012-03-09 02:09:43

by AceLan Kao

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Atheros [0cf3:e004]

Dear Marcel,

Sorry, I didn't get notice about this patch,
is there any update for this patch?

There is no issue for 3.2 kernel and I think we should have the
PID:VID listed in the kernel first.
We could contact Atheros and request they update the firmware if there
is any problem happened in the future.

Best regards,
AceLan Kao.

2012/1/31 AceLan Kao <[email protected]>:
> 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 agai=
n.
>
> Best regards,
> AceLan Kao.
>
> 2012/1/31 Marcel Holtmann <[email protected]>:
>> Hi AceLan,
>>
>>> Add another vendor specific ID for Atheros BT device
>>>
>>> output of usb-devices:
>>> T: =A0Bus=3D02 Lev=3D02 Prnt=3D02 Port=3D04 Cnt=3D01 Dev#=3D =A04 Spd=
=3D12 =A0MxCh=3D 0
>>> D: =A0Ver=3D 1.10 Cls=3De0(wlcon) Sub=3D01 Prot=3D01 MxPS=3D64 #Cfgs=3D=
=A01
>>> P: =A0Vendor=3D0cf3 ProdID=3De004 Rev=3D00.02
>>> S: =A0Manufacturer=3DAtheros Communications
>>> S: =A0Product=3DBluetooth USB Host Controller
>>> S: =A0SerialNumber=3DAlaska Day 2006
>>> C: =A0#Ifs=3D 2 Cfg#=3D 1 Atr=3De0 MxPwr=3D100mA
>>> I: =A0If#=3D 0 Alt=3D 0 #EPs=3D 3 Cls=3De0(wlcon) Sub=3D01 Prot=3D01 Dr=
iver=3Dbtusb
>>> I: =A0If#=3D 1 Alt=3D 0 #EPs=3D 2 Cls=3De0(wlcon) Sub=3D01 Prot=3D01 Dr=
iver=3Dbtusb
>>>
>>> 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.c=
onf
>>>
>>> =A0 =A0install 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/@/)



--=20
Chia-Lin Kao(AceLan)
http://blog.acelan.idv.tw/
E-Mail: acelan.kaoATcanonical.com (s/AT/@/)