You are not logged in.
Hi there,
I have a BT USB dongle, ASUS BT500. I also have an onboard BT chipset (the infamous AX200 from Intel, which is the reason I bought the dongle).
What is happening right now is that every time I reboot my system, the dongle hangs, hardware way, that is, no longer responding to any commands, although it is visible on lsusb.
I have a parallel Windows installation (with fastboot disabled) and when the dongle hangs it's no longer working in there as well. The only way to make it work again is to unplug it and plug it back in, under both Windows and Arch.
When I first installed it under Windows, it didn't work, kept failing in Device Manager. I found in ASUS' installation docs that I have to disable Intel's onboard BT from Device Manager. Works flawlessly that way under Windows, survives 100% to reboots. This is why I would like to stop btusb from loading btintel, see if I get any positive results.
I tried adding
install btintel /bin/trueto /etc/modprobe.d/, but then btusb no longer loads and dmesg shows
[ 840.837190] btusb: Unknown symbol btintel_recv_event (err -2)
[ 840.837240] btusb: Unknown symbol btintel_configure_setup (err -2)Any way I can remove btintel from btusb's dependency list ?
Thanks in advance.
Last edited by mdcclxv (2023-12-20 22:49:23)
Offline
Any way I can remove btintel from btusb's dependency list ?
The module will still try to use those functions.
Ideally, you'd just disable the BT chip in the BIOS/UEFI.
If that's absolutely not possible, you could add a udev rule to block the device, https://unix.stackexchange.com/question … nvironment
Offline
The Intel chipset cannot be disabled from BIOS, there's no such option, that's the very first thing I looked for when I found out about ASUS' recommendations.
My suspicion is that some piece of Intel related code is actually causing the BT500 to hang. In Windows, when disabling something in Device Manager, it's the driver that is being disabled, not the hardware itself. I'm pretty sure we're not talking about conflicting hardware, but software messing up the hardware, at least on Windows.
I will try a udev rule and come back.
Offline
I added the following udev rule:
ACTION=="add", ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0029", ATTR{authorized}="0"It makes no difference, the dongle still hangs between reboots. Confirmation the rule was applied:
~: cat /sys/bus/usb/devices/3-5/authorized
0No idea what I could try next ![]()
Offline
Do you have the bluetooth modules in the initramfs?
Please post your complete system journal for the boot:
sudo journalctl -b | curl -F 'file=@-' 0x0.stOffline
Offline
Dec 13 12:33:07 amd kernel: usb 3-5: New USB device found, idVendor=8087, idProduct=0029, bcdDevice= 0.01
Dec 13 12:33:07 amd kernel: usb 3-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
…
Dec 13 12:33:08 amd (udev-worker)[393]: 3-5:1.1: /etc/udev/rules.d/40-disable_builtin_radio.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-5/3-5:1.1/authorized}, ignoring: No such file or directory
Dec 13 12:33:08 amd (udev-worker)[398]: 3-5:1.0: /etc/udev/rules.d/40-disable_builtin_radio.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-5/3-5:1.0/authorized}, ignoring: No such file or directoryDo you actually still get the errors when blacklisting btintel?
You could try adding
initcall_blacklist=btintel_configure_setup,btintel_setup_combined,btintel_recv_eventto the https://wiki.archlinux.org/title/Kernel_parameters *intead*.
Sanity check:
ls /usr/lib/firmware/rtl_bt/*8761*Offline
Dec 13 12:33:07 amd kernel: usb 3-5: New USB device found, idVendor=8087, idProduct=0029, bcdDevice= 0.01 Dec 13 12:33:07 amd kernel: usb 3-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0 … Dec 13 12:33:08 amd (udev-worker)[393]: 3-5:1.1: /etc/udev/rules.d/40-disable_builtin_radio.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-5/3-5:1.1/authorized}, ignoring: No such file or directory Dec 13 12:33:08 amd (udev-worker)[398]: 3-5:1.0: /etc/udev/rules.d/40-disable_builtin_radio.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-5/3-5:1.0/authorized}, ignoring: No such file or directoryDo you actually still get the errors when blacklisting btintel?
The 40-.. file is an old rule, completely forgot about it, which I added when I installed my Arch to disable the onboard WiFi. Removed, as it is a duplicate now.
You could try adding
initcall_blacklist=btintel_configure_setup,btintel_setup_combined,btintel_recv_eventto the https://wiki.archlinux.org/title/Kernel_parameters *intead*.
I have no boot loader, so I had to edit the UEFI entry to add those params. But, alas, the dongle still hangs.
Sanity check:
ls /usr/lib/firmware/rtl_bt/*8761*
No idea why are we checking these:
~: ls -l /usr/lib/firmware/rtl_bt/*8761*
-rw-r--r-- 1 root root 38320 Nov 22 18:01 /usr/lib/firmware/rtl_bt/rtl8761a_fw.bin.zst
-rw-r--r-- 1 root root 38 Nov 22 18:01 /usr/lib/firmware/rtl_bt/rtl8761b_config.bin.zst
-rw-r--r-- 1 root root 30508 Nov 22 18:01 /usr/lib/firmware/rtl_bt/rtl8761b_fw.bin.zst
-rw-r--r-- 1 root root 19 Nov 22 18:01 /usr/lib/firmware/rtl_bt/rtl8761bu_config.bin.zst
-rw-r--r-- 1 root root 29947 Nov 22 18:01 /usr/lib/firmware/rtl_bt/rtl8761bu_fw.bin.zstOffline
Just to be sure they're there, b/c they don't show up in the journal, but I guess the adapter hangs before even that.
Does the journal indicate that the functions are blocked?
Do you actually still get the errors when blacklisting btintel?
(Now, after un-authorizing the device)
Offline
Just to be sure they're there, b/c they don't show up in the journal, but I guess the adapter hangs before even that.
Does the journal indicate that the functions are blocked?
~: journalctl -b | grep btintel
Dec 14 12:54:04 amd kernel: Command line: root=UUID=bea56754-e0f6-4ecb-ace3-ccc734454406 resume=UUID=bea56754-e0f6-4ecb-ace3-ccc734454406 rw initrd=\initramfs-linux.img initcall_blacklist=btintel_configure_setup,btintel_setup_combined,btintel_recv_event
Dec 14 12:54:04 amd kernel: Kernel command line: root=UUID=bea56754-e0f6-4ecb-ace3-ccc734454406 resume=UUID=bea56754-e0f6-4ecb-ace3-ccc734454406 rw initrd=\initramfs-linux.img initcall_blacklist=btintel_configure_setup,btintel_setup_combined,btintel_recv_event
Dec 14 12:54:04 amd kernel: blacklisting initcall btintel_configure_setup
Dec 14 12:54:04 amd kernel: blacklisting initcall btintel_setup_combined
Dec 14 12:54:04 amd kernel: blacklisting initcall btintel_recv_eventseth wrote:Do you actually still get the errors when blacklisting btintel?
(Now, after un-authorizing the device)
Yep:
~: journalctl -b | grep "3-5"
Dec 14 12:54:05 amd kernel: usb 3-5: new full-speed USB device number 4 using xhci_hcd
Dec 14 12:54:05 amd kernel: usb 3-5: New USB device found, idVendor=8087, idProduct=0029, bcdDevice= 0.01
Dec 14 12:54:05 amd kernel: usb 3-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Dec 14 12:54:06 amd (udev-worker)[433]: 3-5:1.0: /etc/udev/rules.d/40-disable_builtin_radio.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-5/3-5:1.0/authorized}, ignoring: No such file or directory
Dec 14 12:54:06 amd (udev-worker)[409]: 3-5:1.1: /etc/udev/rules.d/40-disable_builtin_radio.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-5/3-5:1.1/authorized}, ignoring: No such file or directoryOffline
No, what I meant was
[ 840.837190] btusb: Unknown symbol btintel_recv_event (err -2)
[ 840.837240] btusb: Unknown symbol btintel_configure_setup (err -2)Offline
No, what I meant was
[ 840.837190] btusb: Unknown symbol btintel_recv_event (err -2) [ 840.837240] btusb: Unknown symbol btintel_configure_setup (err -2)
Nope, they're gone.
Offline
So you can this way also blacklist btintel (your origignal idea), but that doesn't help w/ the dongle?
Offline
So you can this way also blacklist btintel (your origignal idea), but that doesn't help w/ the dongle?
The bitter truth ![]()
I also tried
modprobe -r btusbbefore rebooting, hoping this way the dongle won't be touched during the shutdown part of the reboot, same result.
Is there a way to "eject" the dongle before rebooting? This way at least I would know for sure that it's the init procedure that hangs the dongle, not the shutdown.
Offline
Is there a way to "eject" the dongle before rebooting?
You mean to unplug it?
I don't think this is gonna help you, though.
What if you unplug the dongle, disable bluetoothd, reboot, run "dmesg -w" and then plug the dongle?
=> dmesg output and following "rfkill"?
Then https://wiki.archlinux.org/title/Blueto … leshooting and try to manually pair, at what point does dmesg start to yell errors at you?
Offline
What if you unplug the dongle, disable bluetoothd, reboot, run "dmesg -w" and then plug the dongle?
=> dmesg output
[ 3699.839413] usb 3-2.1: new full-speed USB device number 8 using xhci_hcd
[ 3699.965412] usb 3-2.1: New USB device found, idVendor=0b05, idProduct=190e, bcdDevice= 2.00
[ 3699.965419] usb 3-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3699.965422] usb 3-2.1: Product: ASUS USB-BT500
[ 3699.965424] usb 3-2.1: Manufacturer: Realtek
[ 3699.965425] usb 3-2.1: SerialNumber: 00E04C239987
[ 3700.010612] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[ 3700.011613] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 3700.011618] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[ 3700.014555] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
[ 3700.014709] Bluetooth: hci0: RTL: cfg_sz 6, total sz 30210
[ 3700.162623] Bluetooth: hci0: RTL: fw version 0xdfc6d922and following "rfkill"?
~: rfkill
ID TYPE DEVICE SOFT HARD
0 wlan phy0 blocked unblocked
1 bluetooth hci0 unblocked unblockedThe "problem" here is that if I plug the dongle after the system is up, it works with no issues. It hangs on a reboot.
Upon re-enabling and starting bluetooth I got this in dmesg's output:
[ 4353.206654] Bluetooth: hci0: Bad flag given (0x1) vs supported (0x0)But then my BT keyboard connected just fine.
Again, the issue only happens on a reboot.
Last edited by mdcclxv (2023-12-16 22:58:54)
Offline
That exclusive condition had kinda escaped me…
Dec 13 12:33:07 amd kernel: usb 3-2.1: Manufacturer: Realte! looks like the dongle isn't fully initiated when polled.
Can you avoid this by stalling the boot (hanging out at the uefi/bootloader for a while)?
Don't block the intel BT and post the output of
lsusb -tvLooks like the
Dec 13 12:33:06 amd kernel: usb 3-1: Product: Keychron K8 Prois on the same hub, can you afford the BT dongle a hub of its own or work w/o the keychron (replace it w/ $5 office supply)?
Offline
You are a genius ![]()
Moving the dongle on a hub of its own seems to have fixed the issue, survives reboots and shutdowns/power-ons with btintel not blacklisted. Thanks a million!
So it was a hardware incompatibility after all. Should've listened to you more carefully.
My take is that ASUS' Windows driver is aware of this issue, knows how to recover from it and probably the Intel driver is messing up the recovery procedure.
As a side note, on my normal workflow the Keychron is the device using the dongle, so it's not connected to USB on my day-to-day usage.
Now I will start adding devices one by one to see exactly which one causes the problem.
Offline
Just an update for whoever comes reading: the ASUS BT500 dongle doesn't do well together with any device on the same hub. I've tried connecting, one by one, every USB device I use on my machine, with the same result, BT500 doesn't survive reboots. As soon as I left it alone, works as expected. Nice job ASUS!
Offline