Requesting support for Tp-link UB500 Bluetooth adapter

Another day to try to fix my problem…
Meanwhile the Arch kernel has moved to 5.15.3-arch1-1

I discovered these commands that allow me to download the sources corresponding to my version::

$ asp export linux
$ cd linux
$ makepkg -od

(installed asp package first)

I checked that the two versions matched, buided modules and replaced btusb.ko

btusb no longer gives that error and I am able to toggle the switch on gnome-settings

The DBUS error remains, I have tried with dozens of solutions and nobody responds to the Arch forum

Some output:

sudo dmesg | grep -i bluetooth
[sudo] password di fabrixx: 
[    4.724290] Bluetooth: Core ver 2.22
[    4.724301] NET: Registered PF_BLUETOOTH protocol family
[    4.724302] Bluetooth: HCI device and connection manager initialized
[    4.724303] Bluetooth: HCI socket layer initialized
[    4.724304] Bluetooth: L2CAP socket layer initialized
[    4.724305] Bluetooth: SCO socket layer initialized
[  287.650253] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  287.650255] Bluetooth: BNEP filters: protocol multicast
[  287.650257] Bluetooth: BNEP socket layer initialized
[fabrixx@archlinux ~]$
 /usr/lib/bluetooth/bluetoothd -n -d  
bluetoothd[4547]: Bluetooth daemon 5.62
bluetoothd[4547]: src/main.c:parse_config() parsing /etc/bluetooth/main.conf
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “DiscoverableTimeout” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “AlwaysPairable” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “PairableTimeout” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “Privacy” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “JustWorksRepairing” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “TemporaryTimeout” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “Name” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “Class” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “DeviceID” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “ReverseServiceDiscovery” in group “General”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “Cache” in group “GATT”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “KeySize” in group “GATT”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “ExchangeMTU” in group “GATT”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “Channels” in group “GATT”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “SessionMode” in group “AVDTP”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “StreamMode” in group “AVDTP”
bluetoothd[4547]: src/main.c:parse_config() Key file does not have key “RSSISamplingPeriod” in group “AdvMon”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “PageScanType” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “PageScanInterval” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “PageScanWindow” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “InquiryScanType” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “InquiryScanInterval” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “InquiryScanWindow” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “LinkSupervisionTimeout” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “PageTimeout” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “MinSniffInterval” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “MaxSniffInterval” in group “BR”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “MinAdvertisementInterval” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “MaxAdvertisementInterval” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “MultiAdvertisementRotationInterval” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanIntervalAutoConnect” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanWindowAutoConnect” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanIntervalSuspend” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanWindowSuspend” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanIntervalDiscovery” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanWindowDiscovery” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanIntervalAdvMonitor” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanWindowAdvMonitor” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanIntervalConnect” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ScanWindowConnect” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “MinConnectionInterval” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “MaxConnectionInterval” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ConnectionLatency” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “ConnectionSupervisionTimeout” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “Autoconnecttimeout” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “AdvMonAllowlistScanDuration” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “AdvMonNoFilterScanDuration” in group “LE”
bluetoothd[4547]: src/main.c:parse_mode_config() Key file does not have key “EnableAdvMonInterleaveScan” in group “LE”
D-Bus setup failed: Name already in use
bluetoothd[4547]: src/main.c:main() Unable to get on D-Bus
× bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disable>
     Active: failed (Result: exit-code) since Sun 2021-11-21 19:35:32 UTC; 15min ago
       Docs: man:bluetoothd(8)
    Process: 1789 ExecStart=/usr/lib/bluetooth/bluetoothd (code=exited, status=1/FAILURE)
   Main PID: 1789 (code=exited, status=1/FAILURE)
     Status: "Starting up"
        CPU: 6ms

nov 21 19:35:32 archlinux systemd[1]: Starting Bluetooth service...
nov 21 19:35:32 archlinux bluetoothd[1789]: Bluetooth daemon 5.62
nov 21 19:35:32 archlinux bluetoothd[1789]: D-Bus setup failed: Connection ":1.97" is not allow>
nov 21 19:35:32 archlinux bluetoothd[1789]: src/main.c:main() Unable to get on D-Bus
nov 21 19:35:32 archlinux systemd[1]: bluetooth.service: Main process exited, code=exited, stat>
nov 21 19:35:32 archlinux systemd[1]: bluetooth.service: Failed with result 'exit-code'.
nov 21 19:35:32 archlinux systemd[1]: Failed to start Bluetooth servic

e.

After downgrading bluez (resding about some problems in atch forum) and with dfeet tool im now finally able to scan for devices i have bluetooth icon on my panel

Status is on now:

● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
     Active: active (running) since Sun 2021-11-21 20:19:28 UTC; 7min ago
       Docs: man:bluetoothd(8)
   Main PID: 4017 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 19069)
     Memory: 1.2M
        CPU: 24ms
     CGroup: /system.slice/bluetooth.service
             └─4017 /usr/lib/bluetooth/bluetoothd

nov 21 20:19:28 archlinux bluetoothd[4017]: Starting SDP server
nov 21 20:19:28 archlinux bluetoothd[4017]: Bluetooth management interface 1.21 initialized
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
nov 21 20:19:28 archlinux bluetoothd[4017]: Endpoint registered: sender=:1.88 path=/MediaEndpoint>
~
~

Another good news, The patch is backported to linux kernel 5.15.4, and it is also on manjaro unstable.

2 Likes

Omg i can install it now!!
https://archlinux.org/packages/core/x86_64/linux/

I had better wait but I had a good experience on compiling the kernel …
Work perfectly, I have paired the google home mini and am using it as a speaker

Nice ! Thanks for the info.

1 Like

Very good ! Enjoy using it !

1 Like

Which Bluetooth version is it working as? Just bought the same adapter and it works, but only as Bluetooth 4.1.

I don’t think the adapter you bought is the same adapter mentioned in this tutorial. Tp-Link UB500 has ONLY bluetooth Version 5.0 and not bluetooth version 4.1. I think the adapter you bought is the UB400 model. Also, UB400 bluetooth adapter has been supported on linux for a long time. The problem arises only with UB500 because the adapter was launched only recently. And also with the latest manjaro 5.15 stable kernel, UB500 adapter is also now officially supported. If your bluetooth adapter is workin fine with BLUETOOTH 4.1, then it’s likely NOT UB500 but UB400. Both adapters look almost identical.
TLDR :-
Please recheck the box of your adapter as it surely is UB400 and NOT UB500. Also, if your adapter works fine, meaning you can connect and use bluetooth devices with it. Then I don’t see you having to need this tutorial in anyway. :slight_smile:

I’m trying GNOME 42 alpha and the bluetooth disconnects after a few seconds and won’t start

You have to configure bluetooth configuration file located in /etc I think ? Go through this github link : Keychron K2 Linux BLUETOOTH FIXES. Use the ‘Bluetooth fixes’ section and see if your problem resolves. If not, then I think it is a bug in the Software (since it is in alpha version). Hope it helps !!