Just bought a mini PC to try Zorin Pro, so far I like it but for some reason, my bluetooth doesn't work. I ran some linux commands to see the status, bluetooth shows on the list but when I go on to activate the bluetooth, the option is greyed out. This is a BT 5.2 and found out it is Intel Corp. AX201 Bluetooth chip. I tried updating/upgrading and end/restarting bluetooth service, nothing is working but somehow WiFi on the same is working just fine.
Also, I tested other Asus Bluetooth USB adapter from another computer, it works. I want my built in BT (AX201 Chip) to work, any help would be greatly appreciated.
Hi, welcome to Zorin OS!
Can you launch a terminal and run the command:
lsmod | grep btusb
This will help verify if the module btusb
is actually loaded. It should output something like this (yours might be different):
btusb 77824 0
btrtl 32768 1 btusb
btintel 57344 1 btusb
btbcm 24576 1 btusb
btmtk 12288 1 btusb
bluetooth 1028096 44 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
If you see no output at all, that means is not loaded. You can do so with:
sudo modprobe btusb
To verify if it's working or not, you can run the command bluetoothctl
. It should automatically start scanning for devices so you'd see a ton of output right away.
Welcome to the Forum!
Do you have updated Your System? And did you take a Look in the ''Additional Drivers'' Tab in Software & Updates
if there are any Drivers offered?
I thought additional drivers only related to Graphics cards?
" Linux AX201 Bluetooth Driver
Based on the provided search results, here’s a concise answer:
The Intel AX201 Bluetooth driver is part of the iwlwifi driver, which is included in the Linux kernel. However, the firmware for the AX201 Bluetooth chip is not included in the standard Linux-firmware.git tree. This means that the Bluetooth functionality may not work out of the box.
To resolve this issue, you may need to downgrade the linux-firmware
package to a version that includes the required firmware for your AX201 Bluetooth chip. For example, version 20220119 has been reported to work.
Additionally, you can try using the iwlwifi
driver with an older kernel version, such as 5.16-rc3, which has been reported to work with the AX201 Bluetooth chip. However, this may not be a sustainable solution as it may not receive security updates.
It’s also important to note that Intel has a habit of breaking AX20x series wifi/bluetooth chips with updates to iwlwifi, which may require frequent downgrades or workarounds to maintain functionality.
For more information, you can refer to the following resources:
- Intel Wi-Fi Linux community page: Provides information on supported devices and firmware versions.
- Bugzilla: Reports and tracks issues related to Intel Wi-Fi on Linux.
- Phoronix article: “Intel Firmware Binaries Land For AX200/AX201 Bluetooth Linux Support” (October 2019) - Provides an overview of the firmware availability and issues.
- Manjaro Linux Forum: “Linux-firmware and Intel AX20x wifi/bluetooth cards” (February 2022) - Discusses downgrading
linux-firmware
to resolve issues with AX201 Bluetooth chip.
Remember to always check the compatibility and support status of your hardware with your Linux distribution and kernel version before attempting any workarounds or downgrades."
[Source: Brave A.I. Search engine via Mojeek alternative search option]
I think it offers more that only Graphics Card Drivers. It can offer Driver for Network Cards and other Stuff, too. I know that the AX201 should theoretically be supported by the linux-firmware
Package because I saw that in the Past in the Changelog when an Update came. But I thought it could be a good Idea to take a Look there. It doesn't take much Time or makes Circumstances.
Remember to always check the compatibility and support status of your hardware with your Linux distribution and kernel version before attempting any workarounds or downgrades.
Yep, thanks for your input. I am not going to bother downgrading the firmware just to see the BT chip work as it appears there is no support for AX201. I in fact initiated a return process. This mini PC was N100 based, I just order one with Amd 6950H chip. Hopefully, everything will work out of the box on that one. So far loving Zorin Pro and the support here.
Yes I did both update and upgrade, I think that's the religious steps to do when it comes to using Linux system. Thanks!
It does list the bluetooth modules when I ran lsmod command but the option to activate bluetooth remains greyed out. Like someone suggested below, I would rather replace the device than downgrading firmware to make it work. And, I want to thank you for your time replying to this thread.
lsmod | grep btusb
btusb 77824 0
btrtl 32768 1 btusb
btintel 57344 1 btusb
btbcm 24576 1 btusb
btmtk 12288 1 btusb
bluetooth 1028096 39 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0b05:190e ASUSTek Computer, Inc. ASUS USB-BT500
Bus 003 Device 003: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I was able to connect to bluetooth devices once I connected the other ASUS BT USB adapter.
bluetoothctl
Agent registered
[CHG] Controller 08:BF:B8:4C:8B:A6 Pairable: yes
[Keyboard K780]# devices
Device CE:C0:EE:8A:23:05 Keyboard K780
Device DE:43:E0:47:DF:28 MX Master 3 B
Device F4:6A:D7:98:81:4A Xbox Wireless Controller
Device D7:14:A8:26:2E:F2 MX Ergo
[Keyboard K780]#
$ rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: hci1: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
I have the same model, and it's working right out of the box.
Are you able to use the launcher on the taskbar? You should be able to see come activity on the command line once you start the bluetoothctl
command:
- Launch the terminal and run
bluetoothctl
. - Enable bluetooth.
- Scan for devices with
scan on
. - Attempt to connect to a new device with
connect <target_device_MAC_address>
. - Wait until it connects or perform additional steps as needed by the device.
However, it seems that Gnome is somehow interfering with this as I cannot get it to work through the command line at all. But on the same machine running Debian 12 XFCE (I'm running Zorin OS on a virtual machine), it works without an issues.
To check the status of the bluetooth service:
sudo systemctl status bluetoothctl.service
I'm guessing there's some kind of error showing up there for you. Try to restart it as well, and try again.
sudo systemctl restart bluetoothctl.service
Try also the solution proposed at the end in this Stack Overflow thread:
rmmod btusb
modprobe btusb
systemctl restart bluetooth
It's basically restarting the kernel module and then the service.
nlam108@nlam108-MPL1W:~$ lsmod | grep btusb
btusb 77824 0
btrtl 32768 1 btusb
btintel 57344 1 btusb
btbcm 24576 1 btusb
btmtk 12288 1 btusb
bluetooth 1028096 16 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
nlam108@nlam108-MPL1W:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 1532:007c Razer USA, Ltd Razer DeathAdder V2 Pro
Bus 003 Device 005: ID 1532:024e Razer USA, Ltd Razer BlackWidow V3
Bus 003 Device 003: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nlam108@nlam108-MPL1W:~$ bluetoothctl
Agent registered
[bluetooth]# scan on
No default controller available
[bluetooth]# exit
nlam108@nlam108-MPL1W:~$ sudo systemctl status bluetoothctl.service
[sudo] password for nlam108:
Unit bluetoothctl.service could not be found.
nlam108@nlam108-MPL1W:~$ sudo systemctl restart bluetoothctl.service
Failed to restart bluetoothctl.service: Unit bluetoothctl.service not found.
nlam108@nlam108-MPL1W:~$ sudo systemctl restart bluetooth.service
nlam108@nlam108-MPL1W:~$ sudo systemctl status bluetooth.service
â—Ź bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor pre>
Active: active (running) since Wed 2024-12-04 22:54:18 PST; 9s ago
Docs: man:bluetoothd(8)
Main PID: 76864 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 18681)
Memory: 656.0K
CPU: 47ms
CGroup: /system.slice/bluetooth.service
└─76864 /usr/lib/bluetooth/bluetoothd
Dec 04 22:54:18 nlam108-MPL1W systemd[1]: Starting Bluetooth service...
Dec 04 22:54:18 nlam108-MPL1W bluetoothd[76864]: Bluetooth daemon 5.64
Dec 04 22:54:18 nlam108-MPL1W systemd[1]: Started Bluetooth service.
Dec 04 22:54:18 nlam108-MPL1W bluetoothd[76864]: Starting SDP server
Dec 04 22:54:18 nlam108-MPL1W bluetoothd[76864]: Bluetooth management interface 1>
nlam108@nlam108-MPL1W:~$ rmmod btusb
rmmod: ERROR: ../libkmod/libkmod-module.c:799 kmod_module_remove_module() could not remove 'btusb': Operation not permitted
rmmod: ERROR: could not remove module btusb: Operation not permitted
nlam108@nlam108-MPL1W:~$ sudo rmmod btusb
nlam108@nlam108-MPL1W:~$ sudo modprobe btusb
nlam108@nlam108-MPL1W:~$ systemctl restart bluetooth
nlam108@nlam108-MPL1W:~$ systemctl status bluetooth.service
â—Ź bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor pre>
Active: active (running) since Wed 2024-12-04 22:56:25 PST; 18s ago
Docs: man:bluetoothd(8)
Main PID: 77024 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 18681)
Memory: 648.0K
CPU: 47ms
CGroup: /system.slice/bluetooth.service
└─77024 /usr/lib/bluetooth/bluetoothd
Dec 04 22:56:25 nlam108-MPL1W systemd[1]: Starting Bluetooth service...
Dec 04 22:56:25 nlam108-MPL1W bluetoothd[77024]: Bluetooth daemon 5.64
Dec 04 22:56:25 nlam108-MPL1W systemd[1]: Started Bluetooth service.
Dec 04 22:56:25 nlam108-MPL1W bluetoothd[77024]: Starting SDP server
Dec 04 22:56:25 nlam108-MPL1W bluetoothd[77024]: Bluetooth management interface 1>
nlam108@nlam108-MPL1W:~$
So, I removed my Asus BT USB adapter and tried to work it out as you suggested but it still didn't show me the option to enable the bluetooth on the settings page. It remained greyed out. But as soon as I inserted the Asus BT USB adapter, it became active and was able to connect to my devices.
Can you try running power on
inside the bluetoothctl prompt? In my previous screenshot I didn't need to use run this because I used the button from the popup menu.
The message "No default controller available" could simply mean that there is a controller available and recognized, but for whatever reason is just not using it by default. You can run list
as well to see all the available controllers — controller in this context being the bluetooth interface.
One last thing, leave the bluetoothctl
command running and plug in the external adapter. That might give us some clues as to what runs behind the scenes to enable the built-in bluetooth device.
Never saw that on my machines, only gpu drivers. From what i understood those other drivers are written in the kernel.
When You go to /etc/bluetooth/main.conf
there should stand in the last Row AutoEnable=
Stands behind the =
true or false?
Funny enough, the comment description says that it defaults to "false" but I have it enabled, without changing anything (at least knowingly).
# AutoEnable defines option to enable all controllers when they are found.
# This includes adapters present on start as well as adapters that are plugged
# in later on. Defaults to 'false'.
AutoEnable=true
Was on my System, too. I changed it to false. Maybe the Zorin Crew think that it is better to set to true for a better Experience(?).
Yeah, I think it makes more sense to have it enabled; they probably just forgot to update the comment. On Debian 12, it's correct:
# AutoEnable defines option to enable all controllers when they are found.
# This includes adapters present on start as well as adapters that are plugged
# in later on. Defaults to 'true'.
AutoEnable=true
AX201 working Super!
Mine was AX201. At this point, I think a BIOS update would probably fix my issue but, I already returned the PC so, moderator can close this post.