I'm using Linux 3.14.14-gentoo with BT_ATH3K enabled. I've downloaded the latest linux-firmware from Portage (20131230), and bluez-5.21-r1.

My Bluetooth device is an AR3012 according to lsusb:

Bus 003 Device 003: ID 0cf3:3004 Atheros Communications, Inc.

I'd give you my lsusb -v, but it chokes there for some reason. Here is the card's entry:

Bus 003 Device 003: ID 0cf3:3004 Atheros Communications, Inc. 
lsusb: gconv.c:74: __gconv: Assertion `outbuf != ((void *)0) && *outbuf != ((void *)0)' failed.

lsusb exits after that. Anyone know what's going on there?

Anyway, my Bluetooth device wasn't being detected after setting up all of the above. Relevant information:

[vinny@gentoo ~]$ sudo rfkill list
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
[vinny@gentoo ~]$ hcitool dev

On bootup, I could tell that the ath3k drivers weren't loading properly.

Here's some Bluetooth output early on in dmesg:

[    0.228135] Bluetooth: Core ver 2.18
[    0.228163] Bluetooth: HCI device and connection manager initialized
[    0.228166] Bluetooth: HCI socket layer initialized
[    0.228169] Bluetooth: L2CAP socket layer initialized
[    0.228175] Bluetooth: SCO socket layer initialized
[    3.018728] Bluetooth: RFCOMM TTY layer initialized
[    3.019511] Bluetooth: RFCOMM socket layer initialized
[    3.020285] Bluetooth: RFCOMM ver 1.11
[    3.021051] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.021818] Bluetooth: BNEP filters: protocol multicast
[    3.022581] Bluetooth: BNEP socket layer initialized
[    3.023344] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    3.024111] Bluetooth: HIDP socket layer initialized

Bootup goes smoothly up until right after loading the touchpad, where it would hang:

[    7.307114] input: FSPPS/2 Sentelic FingerSensingPad as /devices/platform/i8042/serio2/input/input13

After about a minute, the following error would display and the system would resume booting as normal.

[   64.440637] Bluetooth: Patch file not found ar3k/AthrBT_0x11020000.dfu
[   64.443594] Bluetooth: Loading patch file failed
[   64.446465] ath3k: probe of 3-4:1.0 failed with error -2

And this is the problem that I am still having, except that last night when I was messing around with it it magically started working. I ran an rfkill list and there it was, hci0! hcitool also showed the device, so I was good to go, I went into bluetoothctl and paired my mouse, added a udev rule to get everything running at boot, the works. I rebooted my computer a couple times and it worked like a charm, it didn't hang at boot, so I guess it got the firmware to load.

This morning I woke up and my laptop had unplugged and the battery had died, I booted back up, and sure enough, hang at the boot screen and the same error as before (or at least a similar one, I don't remember if I was missing the same firmware file originally or if something else was causing the module not to load). hci0 is suddenly nowhere to be found again.

I don't know if it was the fact that the computer completely shut down (I had only been rebooting it) that caused the physical device to deactivate, but I don't see a physical switch anywhere on my computer (Sager NP8298 built on Clevo P177SM-A) for Bluetooth, no keyboard toggle either.

Any ideas on how to get the computer to see the device? Everything worked beautifully when it was working.

Edit: Some ls output

[vinny@gentoo ~]$ ls -l /lib/firmware | grep ar3k
drwxr-xr-x 7 root root    4096 Sep 18 15:00 ar3k
[vinny@gentoo ~]$ ls -l /lib/firmware | grep ath3k
-rw-r--r-- 1 root root  246804 Sep 18 14:16 ath3k-1.fw
[vinny@gentoo ~]$ cd /lib/firmware/ar3k && ls
1020200    AthrBT_0x01020001.dfu  AthrBT_0x41020000.dfu    ramps_0x01020201_40.dfu
1020201    AthrBT_0x01020200.dfu  ramps_0x01020001_26.dfu  ramps_0x11020000_40.dfu
30000      AthrBT_0x01020201.dfu  ramps_0x01020200_26.dfu  ramps_0x31010000_40.dfu
30101      AthrBT_0x11020000.dfu  ramps_0x01020200_40.dfu  ramps_0x41020000_40.dfu
30101coex  AthrBT_0x31010000.dfu  ramps_0x01020201_26.dfu
  • Have you emerged the firmware needed? – eyoung100 Sep 18 '14 at 20:10
  • Yeah, it's in linux-firmware. ath3k-1.fw is in /lib/firmware. – vinnydiehl Sep 18 '14 at 22:25
  • Please ls -l /lib/firmware | grep ar3k – eyoung100 Sep 19 '14 at 18:38
  • OP edited with output. – vinnydiehl Sep 19 '14 at 18:41
  • Also, it's working again! For now, at least. I suspect if I do a hard reboot it won't though, is there any info that you want while it's working before I try rebooting? – vinnydiehl Sep 19 '14 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.