Unable to turn on Bluetooth for Intel Corporation Wireless 8265 / 8275 (rev 78) in Gnome 40.4

Hi,

I’ve been trying to troubleshoot why I can no longer turn on Bluetooth in my EndeavourOS Gnome 40.4 (Thinkpad T470s) setup where I have been testing with the two below kernels as part of the troubleshooting:

inxi -b

  • Host: sol Kernel: 5.10.63-1-lts x86_64 bits: 64 Desktop: GNOME 40.4
    Distro: EndeavourOS
  • Host: sol Kernel: 5.14.2-zen1-2-zen x86_64 bits: 64 Desktop: GNOME 40.4

It was working in August when I had enabled APTx sound in Pulseaudio (yay -S pulseaudio-modules-bt ofono) with my Bluetooth headphones. I have confirmed that Windows 10 Bluetooth is still working on the same machine.

What I am not sure about (as I have been progressively re-installing all my tools on this laptop as I moved from Manjaro) is whether the Kernel or configuration is broken? I want to make sure I have my bases covered so I can file a bug if necessary.

My Troubleshooting notes:

(1) Verify Hardware Configuration of the Wifi\Bluetooth card:

(a) Get a list of all devices which are loaded from the Kernel Modules (lspci -k)

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: skl_uncore
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: i915
        Kernel modules: i915
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: intel_pch_thermal
        Kernel modules: intel_pch_thermal
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: mei_me
        Kernel modules: mei_me
00:16.3 Serial controller: Intel Corporation Sunrise Point-LP Active Management Technology - SOL (rev 21)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: serial
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
        Kernel driver in use: pcieport
00:1c.2 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #3 (rev f1)
        Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
        Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation Sunrise Point LPC Controller/eSPI Controller (rev 21)
        Subsystem: Lenovo Device 224b
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
        Subsystem: Lenovo Device 224b
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel, snd_soc_skl
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
        Subsystem: Lenovo Device 224b
        Kernel driver in use: i801_smbus
        Kernel modules: i2c_i801
3a:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
        Subsystem: Intel Corporation Dual Band Wireless-AC 8265
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi
3c:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963
        Subsystem: Samsung Electronics Co Ltd SM963 2.5" NVMe PCIe SSD
        Kernel driver in use: nvme

(b) Get a list of all USB Devices:

lsusb

Bus 002 Device 002: ID 0bda:0316 Realtek Semiconductor Corp. Card Reader
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 5986:111c Acer, Inc Integrated Camera
Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
Bus 001 Device 002: ID 046d:c505 Logitech, Inc. Cordless Mouse+Keyboard Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

(2) Makes sure the following packages are installed:

(a) Install the necessary packages from terminal.

sudo pacman -S bluez bluez-utils

(3) Make sure the Bluetooth driver (btusb) is loaded by the kernel.

(a) Use lsmod command from terminal to check which kernel modules loaded.

lsmod | grep btusb

btusb                  65536  0
btrtl                  24576  1 btusb
btbcm                  16384  1 btusb
btintel                32768  1 btusb
bluetooth             704512  11 btrtl,btintel,btbcm,bnep,btusb

(b) Use Modeinfo to get more information about the btusb module:

modinfo btusb


filename:       /lib/modules/5.10.63-1-lts/kernel/drivers/bluetooth/btusb.ko.xz
license:        GPL
version:        0.8
description:    Generic Bluetooth USB driver ver 0.8
author:         Marcel Holtmann <marcel@holtmann.org>

(4) Check rfkill to see if anything is blocking the bluetooth from being turned on.
-Note: That a Soft Block can be Bluetooth shut off in Gnome Settings.

(a) From Terminal, verify there are not Hard or Soft blocks
rfkill list all


0: tpacpi_bluetooth_sw: Bluetooth
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

(5) Verify the bluetooth.service is started:

(a) From Terminal, use the systemctl command to verify the “bluetooth.service” is started.

systemctl status bluetooth.service

● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset:>
     Active: active (running) since Fri 2021-09-10 18:49:54 EDT; 57min ago
       Docs: man:bluetoothd(8)
   Main PID: 1746 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 19035)
     Memory: 1.9M
        CPU: 13ms
     CGroup: /system.slice/bluetooth.service
             └─1746 /usr/lib/bluetooth/bluetoothd

Sep 10 18:49:54 sol systemd[1]: Starting Bluetooth service...
Sep 10 18:49:54 sol bluetoothd[1746]: Bluetooth daemon 5.61
Sep 10 18:49:54 sol systemd[1]: Started Bluetooth service.
Sep 10 18:49:54 sol bluetoothd[1746]: Starting SDP server
Sep 10 18:49:54 sol bluetoothd[1746]: Bluetooth management interface 1.18 initialized

(6) Check for error messages:

(a) Check demesg

sudo dmesg | grep -i bluetooth

[    2.611351] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[    7.888706] Bluetooth: Core ver 2.22
[    7.888759] Bluetooth: HCI device and connection manager initialized
[    7.888765] Bluetooth: HCI socket layer initialized
[    7.888768] Bluetooth: L2CAP socket layer initialized
[    7.888775] Bluetooth: SCO socket layer initialized
[   53.287241] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   53.287243] Bluetooth: BNEP filters: protocol multicast
[   53.287247] Bluetooth: BNEP socket layer initialized

(b) Check the journalctl for boot messages related to bluetooth.

journalctl -b | grep blue

Sep 10 21:11:00 sol kernel: thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
Sep 10 21:11:02 sol NetworkManager[583]: <info>  [1631322662.7675] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.32.10-1/libnm-device-plugin-bluetooth.so)
Sep 10 21:11:17 sol dbus-daemon[580]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service' requested by ':1.52' (uid=1000 pid=1379 comm="/usr/bin/pulseaudio --daemonize=no --log-target=jo")
Sep 10 21:11:17 sol bluetoothd[1551]: Bluetooth daemon 5.61
Sep 10 21:11:17 sol dbus-daemon[580]: [system] Successfully activated service 'org.bluez'
Sep 10 21:11:17 sol audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=bluetooth comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Sep 10 21:11:17 sol bluetoothd[1551]: Starting SDP server
Sep 10 21:11:17 sol bluetoothd[1551]: Bluetooth management interface 1.18 initialized
Sep 10 21:11:23 sol dbus-daemon[1275]: [session uid=1000 pid=1275] Activating via systemd: service name='org.bluez.obex' unit='dbus-org.bluez.obex.service' requested by ':1.75' (uid=1000 pid=1912 comm="/usr/lib/gnome-contacts-search-provider ")
Sep 10 21:11:23 sol dbus-daemon[1275]: [session uid=1000 pid=1275] Successfully activated service 'org.bluez.obex

(b) Check the journalctl for boot messages related to wifi (iwlwifi).

journalctl -b | grep iwlwifi

Sep 10 21:11:01 sol kernel: iwlwifi 0000:3a:00.0: loaded firmware version 36.ca7b901d.0 8265-36.ucode op_mode iwlmvm
Sep 10 21:11:01 sol kernel: iwlwifi 0000:3a:00.0: Detected Intel(R) Dual Band Wireless AC 8265, REV=0x230
Sep 10 21:11:01 sol kernel: iwlwifi 0000:3a:00.0: base HW address: 44:03:2c:99:85:81
Sep 10 21:11:02 sol NetworkManager[583]: <info>  [1631322662.7573] rfkill1: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.2/0000:3a:00.0/ieee80211/phy0/rfkill1) (driver iwlwifi)

(7) Create custom settings for the Intel Dual Band Wireless-AC 8265

(a) Create a custom comfiguration /etc/modprobe.d/iwlwifi.conf
sudo nano /etc/modprobe.d/iwlwifi.conf

(b) Include the following lines:

options iwlwifi bt_coex_active=0 11n_disable=8

(8) Verify the Bluetooth Controller can be found and controlled via ‘bluetoothctl’:

(a) From Terminal, start the ‘bluetoothctl’.

bluetoothctl

(b) Use the 'show’command to verify the bluetooth controller is functional.

[

bluetooth]# show
No default controller available

Source:
https://wiki.archlinux.org/title/Bluetooth
https://wiki.archlinux.org/title/Network_configuration/Wireless#iwlwifi
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#wi-fibluetooth_coexistence

1 Like

https://wiki.archlinux.org/title/Lenovo_ThinkPad_T470s

i see the ID is different from the one on archwiki page …

And Gnome-Settings does not show it too?

And the main Arch kernel is also not working to enable BT?

A full bootlog could say more than 100 words too.

Hi Joe,

Thanks for your feedback. I will try to answer your questions below:

“Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface” ID is not in the T470s Arch Wiki page.

This is true. I noticed the T470s Arch Wiki page does not document all the hardware configurations for the T470s. This T470s is model is ‘20HD’ which is listed on the T470 page:

https://wiki.archlinux.org/title/Lenovo_ThinkPad_T470

And Gnome-Settings does not show it too?

image

Gnome Settings when I turn on\off the switch I can see the soft lock change when I run the “rfkill list all” command. But no local Bluetooth devices that it discover show.

And the main Arch kernel is also not working to enable BT?

image

I have not tried the mainline kernel. I thought if I used ZEN Kernel it would be close to matching the main line? I can install the Main line Kernel if you like?

Additionally when I tried the LTS vs the Zen Kernel I saw the following when checking the module info which seems to be the same driver:

LTS

modinfo btusb

filename:       /lib/modules/5.10.63-1-lts/kernel/drivers/bluetooth/btusb.ko.xz
license:        GPL
version:        0.8
description:    Generic Bluetooth USB driver ver 0.8
author:         Marcel Holtmann <marcel@holtmann.org>

ZEN

modinfo btusb

filename:       /lib/modules/5.14.2-zen1-2-zen/kernel/drivers/bluetooth/btusb.ko.zst
license:        GPL
version:        0.8
description:    Generic Bluetooth USB driver ver 0.8
author:         Marcel Holtmann <marcel@holtmann.org>

btmgmt info

systemctl list-unit-files | grep blue

1 Like

btmgmt info
Index list with 0 items

systemctl list-unit-files | grep blue

bluetooth-mesh.service                     disabled        disabled
bluetooth.service                          enabled         disabled
dbus-org.bluez.service                     alias           -
bluetooth.target                           static          -

so it really looks like something wrong with accessing the BT device…
could be a firmware issue:
sudo dmesg | grep firmware
journalctl -b -0 | grep firmware

1 Like
[joe ~]$ btmgmt info
Index list with 1 item
hci0:	Primary controller
	addr 00:15:83:3D:0A:57 version 3 manufacturer 10 class 0x6c0104
	supported settings: powered connectable fast-connectable discoverable bondable link-security br/edr debug-keys phy-configuration 
	current settings: powered br/edr 
	name buildsystem
	short name
1 Like

Hi Joe,

I ran an extra command as I have usbguard running. I’m going to see if the blocked device happens to be related to the bluetooth.

sudo dmesg | grep firmware

[    0.158002] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    2.603812] iwlwifi 0000:3a:00.0: loaded firmware version 36.ca7b901d.0 8265-36.ucode op_mode iwlmvm
[    2.704118] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    3.630529] psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3

~
journalctl -b -0 | grep firmware

Sep 11 14:12:30 sol kernel: Spectre V2 : Enabling Restricted Speculation for firmware calls
Sep 11 14:12:31 sol kernel: iwlwifi 0000:3a:00.0: loaded firmware version 36.ca7b901d.0 8265-36.ucode op_mode iwlmvm
Sep 11 14:12:31 sol kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Sep 11 14:12:32 sol kernel: psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3
Sep 11 14:12:33 sol NetworkManager[722]: <info>  [1631383953.5762] manager[0x5575a6249000]: monitoring kernel firmware directory '/lib/firmware'.
Sep 11 14:12:34 sol systemd[1]: Startup finished in 9.388s (firmware) + 28.778s (loader) + 864ms (kernel) + 4.476s (userspace) = 43.507s.

sudo usbguard list-devices

6: allow id 1d6b:0002 serial "0000:00:14.0" name "xHCI Host Controller" hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" via-port "usb1" with-interface 09:00:00 with-connect-type ""
7: allow id 1d6b:0003 serial "0000:00:14.0" name "xHCI Host Controller" hash "3Wo3XWDgen1hD5xM3PSNl3P98kLp1RUTgGQ5HSxtf8k=" parent-hash "rV9bfLq7c2eA4tYjVjwO4bxhm+y6GgZpl9J60L0fBkY=" via-port "usb2" with-interface 09:00:00 with-connect-type ""
8: allow id 046d:c505 serial "" name "USB Receiver" hash "DLUGx/Ox7PN6QQfwhi/tkVqPMsfUJa70/S1d30y/JFo=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-4" with-interface { 03:01:01 03:01:02 } with-connect-type "hotplug"
9: block id 8087:0a2b serial "" name "" hash "TtRMrWxJil9GOY/JzidUEOz0yUiwwzbLm8D7DJvGxdg=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-7" with-interface { e0:01:01 e0:01:01 e0:01:01 e0:01:01 e0:01:01 e0:01:01 e0:01:01 } with-connect-type "not used"
10: allow id 5986:111c serial "200901010001" name "Integrated Camera" hash "eJOK0isU58kbzlKp7vkhqIX9jnniOygkoiGdZ9rqWZg=" parent-hash "jEP/6WzviqdJ5VSeTUY8PatCNBKeaREvo2OqdplND/o=" via-port "1-8" with-interface { 0e:01:00 0e:02:00 0e:02:00 0e:02:00 0e:02:00 0e:02:00 0e:02:00 0e:02:00 0e:02:00 } with-connect-type "not used"
11: allow id 0bda:0316 serial "20120501030900000" name "USB3.0-CRW" hash "WG1MSC3YZsmCslTNGpjTTjT2lUvhNfU4gEVvD3gIuV4=" parent-hash "3Wo3XWDgen1hD5xM3PSNl3P98kLp1RUTgGQ5HSxtf8k=" via-port "2-3" with-interface 08:06:50 with-connect-type "not used"

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/iwlwifi-8265-36.ucode

1 Like

do you try already have wifi turned off and BT on?

@ricklinux

Thanks Guys :sweat_smile:

It is fixed and the short of it is USBGUARD was blocking the bluetooth device.

The long story is when I was in Manjaro land I hardly ever upgraded the Kernel. But when I did have to patch it I would notice now and again USBGuard “/etc/usbguard/rules.conf” Label or enumeration of devices would change. To find out what changed I would:

(1) Get a list of now blocked devices:

sudo usbguard list-devices | grep block

(2) Update the “/etc/usbguard/rules.conf” the new devices enumeration. This would include removing the old enumeration.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.