From: Sumit's Mailing Lists <lists@battlepenguin.com>
To: Ben Young Tae Kim <ytkim@qca.qualcomm.com>,
Marcel Holtmann <marcel@holtmann.org>,
"Huang, Rick" <rickh@qti.qualcomm.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: ath3k Bluetooth adapter not loading: [0cf3:3004] Atheros Communications, Inc. AR3012 Bluetooth 4.0
Date: Wed, 17 Jun 2015 20:46:41 +0800 [thread overview]
Message-ID: <55816C31.3050008@battlepenguin.com> (raw)
In-Reply-To: <55808CAB.3020205@qca.qualcomm.com>
On 17/06/15 04:52, Ben Young Tae Kim wrote:
> Hi Sumit,
>
> On 06/15/15 10:48, Sumit's Mailing Lists wrote:
>> On 16/06/15 00:57, Ben Young Tae Kim wrote:
>>> Hi Sumit,
>>>
>>>
>>> On 06/15/15 07:16, Sumit's Mailing Lists wrote:
>>>> On 15/06/15 21:55, Marcel Holtmann wrote:
>>>>> Hi Smuit,
>>>>>
>>>>>>>> I'm currently using an MSI WS60 laptop which contains the following
>>>>>>>> Bluetooth controller (from lsusb):
>>>>>>>>
>>>>>>>> Bus 003 Device 003: ID 0cf3:3004 Atheros Communications, Inc. AR3012
>>>>>>>> Bluetooth 4.0
>>>>>>> assuming that the firmware is present, this is most likely just missing the right VID/PID additions in the drivers. Please prepare a patch for that.
>>>>>>>
>>>>>>>> and the more detailed version:
>>>>>>>>
>>>>>>>> Bus 003 Device 003: ID 0cf3:3004 Atheros Communications, Inc. AR3012
>>>>>>>> Bluetooth 4.0
>>>>>>>> Device Descriptor:
>>>>>>>> bLength 18
>>>>>>>> bDescriptorType 1
>>>>>>>> bcdUSB 1.10
>>>>>>>> bDeviceClass 224 Wireless
>>>>>>>> bDeviceSubClass 1 Radio Frequency
>>>>>>>> bDeviceProtocol 1 Bluetooth
>>>>>>>> bMaxPacketSize0 64
>>>>>>>> idVendor 0x0cf3 Atheros Communications, Inc.
>>>>>>>> idProduct 0x3004 AR3012 Bluetooth 4.0
>>>>>>>> bcdDevice 0.01
>>>>>>>> iManufacturer 0
>>>>>>>> iProduct 0
>>>>>>>> iSerial 0
>>>>>>>> bNumConfigurations 1
>>>>>>>> Configuration Descriptor:
>>>>>>> I actually prefer /sys/kernel/debug/usb/devices output for the devices.
>>>>>>>
>>>>>>> Regards
>>>>>>>
>>>>>>> Marcel
>>>>>>>
>>>>>> Here is the output from /sys/kernel/debug/usb/devices for my ath3k (also
>>>>>> added it to the kernel bugzilla):
>>>>>>
>>>>>> T: Bus=03 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
>>>>>> D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
>>>>>> P: Vendor=0cf3 ProdID=3004 Rev= 0.01
>>>>>> C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
>>>>>> I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
>>>>>> E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
>>>>>> E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
>>>>>> E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
>>>>>> I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
>>>>>> E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
>>>>>> E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
>>>>>> I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
>>>>>> E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
>>>>>> E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
>>>>>> I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
>>>>>> E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
>>>>>> E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
>>>>>> I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
>>>>>> E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
>>>>>> E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
>>>>>> I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
>>>>>> E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
>>>>>> E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
>>>>>> I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
>>>>>> E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
>>>>>> E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
>>>>>>
>>>>>> and the firmware the kernel is trying to load:
>>>>>>
>>>>>> [ 762.729370] usb 3-1.3: Direct firmware load for
>>>>>> ar3k/AthrBT_0x00000200.dfu failed with error -2
>>>>>> [ 762.729373] Bluetooth: Patch file not found ar3k/AthrBT_0x00000200.dfu
>>>>>> [ 762.729374] Bluetooth: Loading patch file failed
>>>>>> [ 762.729381] ath3k: probe of 3-1.3:1.0 failed with error -2
>>>>>> [ 762.729411] usbcore: registered new interface driver ath3k
>>>>> I fail to see that firmware in linux-firmware tree. However this up to Atheros / Qualcomm to submit there. I can not do much about this.
>>>>>
>>>>> Regards
>>>>>
>>>>> Marcel
>>>>>
>>>> Marcel,
>>>>
>>>> So it's pulling the right firmware file for my device, but It just
>>>> hasn't been released yet?
>>>>
>>>> I know with the Wi-Fi firmware, the ath10k devs had python scripts to
>>>> extract the firmware binaries from the Windows drivers (mentioned in
>>>> here https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1383184). Has
>>>> anyone done that before with the bluetooth firmware, or do you typically
>>>> just wait for atheros/qualcom to release official ones?
>>> Where did you get your atheros board/card since I couldn't find that board here. Is it a laptop? The BT firmware driver was trying to load AthrBT_0x00000200.dfu file and it got failed because no firmware file was present. But 0x00000200 means fw_version.rom_version which coming from controller chip, however, I haven't seen this version on Atheros chipset.
>>>
>>> I'm adding my friend - Rick Huang here. He may help you out
>>>
>>> Hi Rick,
>>>
>>> Have you seen rom_version as 0x00000200?
>>>
>>>> Sumit
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> Thanks
>>> -- Ben Kim
>>>
>> Yes, It's an MSI WS-60 Laptop, purchased two months ago in Australia. Is
>> there any other debugging information I need to pull for you?
>>
>> Sumit
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
> According to my colleague, it is not AR chip but QCA ROME core inside even though they're sharing same VID/PID with AR/QCA ROME(version 2). That's why you cannot bring up your card with ath3k driver. I knew it was not a good idea as it was early stage to develop the card so that next version of ROME USB card(v3.0 or v3.2) will use different PID/VID as you can see below.
>
> Can you follow up these instructions to see whether or not it can be addressed on your setup?
>
> --
> 1. put this code in drivers/bluetooth/btusb.c
>
> static const struct usb_device_id blacklist_table[] = {
> ...
> /* QCA ROME chipset */
> { USB_DEVICE(0x0cf3, 0xe300), .driver_info = BTUSB_QCA_ROME },
> { USB_DEVICE(0x0cf3, 0xe360), .driver_info = BTUSB_QCA_ROME },
> { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_QCA_ROME }, // <-- add new VID/PID here
> ...
>
> 2. Copy firmware files into /lib/firmware/qca
> - nvm_usb_00000200.bin
> - rampatch_usb_00000200.bin
> Those FW files won't be available on linux-firmware.git til today but it it will be available soon I believe.
> --
>
> Thanks
> -- Ben Kim
>
>
>
Hi Ben,
I added that line to my btusb.c; did a mrpropery, copied my .config back
into the source tree, disabled ATH3K in menucofnig, made the bzImage and
rebooted. The firmware you attached is in /lib/firmware/qca.
I enabled debugging (FLAGS_btusb.o := -DDEBUG in the Makefile) so I
could get some more info, and discovered I also have to delete this line
or it will match the ath first:
{ USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }
So then I saw
[ 1.263991] usb 3-1.3: new full-speed USB device number 3 using ehci-pci
[ 1.277022] usb 4-1.8: new full-speed USB device number 3 using ehci-pci
[ 1.350050] usb 3-1.3: New USB device found, idVendor=0cf3,
idProduct=3004
[ 1.350051] usb 3-1.3: New USB device strings: Mfr=0, Product=0,
SerialNumber=0
[ 1.350461] intf ffff88041bf62400 id ffffffff81d83bc0
[ 1.350462] BT Device Info 0
[ 1.350463] BT Device Info (after matching) 32768
[ 1.350466] In Rome Block
[ 1.350546] input: ETPS/2 Elantech Touchpad as
/devices/platform/i8042/serio1/input/input10
[ 1.350671] hci0
[ 1.350879] Bluetooth: hci0: don't support firmware rome 0x200
[ 1.364795] usb 4-1.8: New USB device found, idVendor=1770,
idProduct=ff00
[ 1.364797] usb 4-1.8: New USB device strings: Mfr=1, Product=1,
SerialNumber=1
[ 1.364798] usb 4-1.8: Product: MSI EPF USB
[ 1.364799] usb 4-1.8: Manufacturer: MSI EPF USB
[ 1.364800] usb 4-1.8: SerialNumber: MSI EPF USB
So those BT Device Info statements I added in the probe function. "In
Rome Block" I added right after "if (id->driver_info & BTUSB_QCA_ROME) "
and you can see where that error comes from.
And that comes from...oh it checks another table...okay so I added the
following to qca_device_info
{ 0x00000200, 28, 4, 18 },
and now I get;
[ 1.357942] intf ffff88041ba5bc00 id ffffffff81d83bc0
[ 1.357943] BT Device Info 0
[ 1.357944] BT Device Info (after matching) 32768
[ 1.357946] In Rome Block
[ 1.358113] hci0
[ 1.358516] bluetooth hci0: Direct firmware load for
qca/rampatch_usb_00000200.bin failed with error -2
[ 1.358517] Bluetooth: hci0: failed to request rampatch file:
qca/rampatch_usb_00000200.bin (-2)
So progress. It's attempting to load the firmware and failing. Are those
the right numbers for the device_info block?
Sumit
next prev parent reply other threads:[~2015-06-17 12:46 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-26 14:44 ath3k Bluetooth adapter not loading: [0cf3:3004] Atheros Communications, Inc. AR3012 Bluetooth 4.0 Sumit's Mailing Lists
2015-06-06 6:16 ` Marcel Holtmann
2015-06-15 12:05 ` Sumit's Mailing Lists
2015-06-15 13:55 ` Marcel Holtmann
2015-06-15 14:16 ` Sumit's Mailing Lists
2015-06-15 16:57 ` Ben Young Tae Kim
2015-06-15 17:48 ` Sumit's Mailing Lists
2015-06-16 20:52 ` Ben Young Tae Kim
2015-06-17 9:36 ` Marcel Holtmann
2015-06-17 18:34 ` Ben Young Tae Kim
2015-06-17 12:46 ` Sumit's Mailing Lists [this message]
2015-06-17 13:00 ` Sumit Khanna
2015-06-17 18:54 ` Ben Young Tae Kim
2015-06-18 2:36 ` Sumit's Mailing Lists
2015-06-18 2:53 ` Kim, Ben Young Tae
2015-06-18 3:01 ` Sumit's Mailing Lists
2015-06-18 16:00 ` Ben Young Tae Kim
2015-06-18 16:33 ` Sumit's Mailing Lists
2015-06-18 16:37 ` Ben Young Tae Kim
2015-06-19 5:04 ` Sumit's Mailing Lists
2015-06-30 14:05 ` Sumit's Mailing Lists
2015-07-01 0:08 ` Ben Young Tae Kim
2015-12-11 21:16 ` Sumit's Mailing Lists
2015-06-18 3:02 ` Sumit's Mailing Lists
2015-06-18 5:53 ` Kim, Ben Young Tae
2015-06-18 8:45 ` Sumit's Mailing Lists
2015-06-18 10:09 ` Huang, Rick
-- strict thread matches above, loose matches on Subject: below --
2015-11-01 0:55 Clément de l'Hamaide
2015-05-26 12:25 Sumit's Mailing Lists
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=55816C31.3050008@battlepenguin.com \
--to=lists@battlepenguin.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=rickh@qti.qualcomm.com \
--cc=ytkim@qca.qualcomm.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;
as well as URLs for NNTP newsgroup(s).