Librem 13v3 bluetooth module no longer recognized

I had the built-in bluetooth module working recently by installing the firmware-atheros package from Debian’s non-free repo, but after a reboot I can’t seem to find the device.

Here are the kernel modules that are loaded:

lsmod | grep ath
ath9k                 139264  0
ath9k_common           20480  1 ath9k
ath9k_hw              483328  2 ath9k_common,ath9k
ath                    36864  3 ath9k_common,ath9k,ath9k_hw
mac80211              835584  1 ath9k
cfg80211              774144  5 ath9k_common,ath9k,ath,mac80211,88XXau

The bluetooth service is running:

    systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-01-23 09:33:22 PST; 13min ago
     Docs: man:bluetoothd(8)
 Main PID: 5796 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   Memory: 2.5M
   CGroup: /system.slice/bluetooth.service
           └─5796 /usr/lib/bluetooth/bluetoothd

Yet I don’t see the device in rfkill:

    rfkill
ID TYPE DEVICE      SOFT      HARD
 0 wlan phy0   unblocked unblocked
 1 wlan phy1   unblocked unblocked

or in lspci:

    lspci
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 520 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 08)
00:08.0 System peripheral: Intel Corporation Skylake Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.1 USB controller: Intel Corporation Device 9d30 (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.5 Non-VGA unclassified device: Intel Corporation Device 9d24 (rev 21)
01:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981

Something must’ve failed to load, but I’m not sure what it would be; I’m happy to provide any other information that would be helpful.

Thanks!

Still having issues; no idea what is going on here bluetoothctl and btmgmt do not see the device. The only sudo dmesg | grep Blue returns only good things, (I think)

sudo dmesg | grep Blue
[  231.621056] Bluetooth: Core ver 2.22
[  231.621072] Bluetooth: HCI device and connection manager initialized
[  231.621074] Bluetooth: HCI socket layer initialized
[  231.621076] Bluetooth: L2CAP socket layer initialized
[  231.621081] Bluetooth: SCO socket layer initialized
[  239.575242] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  239.575245] Bluetooth: BNEP filters: protocol multicast
[  239.575251] Bluetooth: BNEP socket layer initialized

How are these services all showing up as properly connected and yet I can’t even see the hardware device? Totally baffled by this one.

Alright, I’ve got bluetooth back working! I’m not sure what went wrong, but a reboot did not seem to fix the issue. After shutting down the machine and then rebooting I could see the hardware again! Enabling functionality was still a tad complicated. I’m not sure if this is the correct process but after rebooting this is what I did:

  1. sudo systemctl stop bluetooth
  2. sudo modprobe ath3k (for some reason this module is not loading by default
  3. Toggle the hardware killswitch for the bluetooth card
  4. sudo systemctl start bluetooth

Now I have hci0 and bluetooth functionality is re-enabled. I hope this helps someone else in the future!

2 Likes