Skip to contentSkip to conversation

btusb: ASUS USB-BT540/BT600 IDs backported without, RTL8761CUV support, adapter re-enumerates endlessly (6.18.50, 6.12.109,, 6.1.188, 5.15.221, 5.10.270)

REGRESSION ra.prism 3 participants 3 messages Sep 14 – Sep 20

Subsystems (3)
lore
Share & tools
lore

ra.prism

author
#0 lore raw

Hi,

two btusb device-ID commits were backported to stable branches that lack the btrtl support they depend on:

  980084de4d9b ("Bluetooth: btusb: Add ASUS USB-BT540 for Realtek 8761CU") 6f0624b4427e ("Bluetooth: btusb: Add ASUS USB-BT600 for Realtek 8761CU")

Both set BTUSB_REALTEK for 0b05:1bef / 0b05:1d70, so the adapters now go through btrtl setup. btrtl only learned about this chip in v6.19-rc1:

  4a23ce935f74 ("Bluetooth: btrtl: Add the support for RTL8761CUV")

Without it, setup fails and the adapter resets in a loop. Before the backport the adapter bound via the generic Bluetooth class and did not loop.

Affected, checked against the stable trees (btusb.c has 0x0b05/0x1bef, btrtl.c has no rtl8761cu entry):

  released  6.18.50 (aa7b93fe98ba, bce588b4ca08), still in 6.18.51 6.12.109 (f05baf6e0680, 32412aff8d11) 6.1.188, 5.15.221, 5.10.270
  queued    queue-6.6

Not affected: 7.1.y (has 4a23ce935f74 but not the IDs) and 7.2.y (has both).

Observed with an ASUS USB-BT540 (0b05:1bef, hci_rev 000e, lmp_subver 8761) on 6.18.50: 203 re-enumerations in 37 minutes, one every ~10.8 s, independent of the USB port:

  [    8.008281] Bluetooth: hci0: RTL: examining hci_ver=0d hci_rev=000e lmp_ver=0d lmp_subver=8761 [    8.008294] usb 5-2: USB disconnect, device number 3
  [   18.476022] Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110)
  [   18.852034] usb 5-2: New USB device found, idVendor=0b05, idProduct=1bef, bcdDevice= 2.00 [   18.875711] Bluetooth: hci0: RTL: examining hci_ver=0d hci_rev=000e lmp_ver=0d lmp_subver=8761 [   18.886986] usb 5-2: USB disconnect, device number 4
  [   29.228274] Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110)

Same machine and adapter on 7.2.5, which has both commits, works:

  [    7.816015] Bluetooth: hci0: RTL: examining hci_ver=0d hci_rev=000e lmp_ver=0d lmp_subver=8761 [    7.820005] Bluetooth: hci0: RTL: rom_version status=0 version=1
  [    7.825030] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761cu_fw.bin
  [    7.826003] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761cu_config.bin
  [    7.840001] Bluetooth: hci0: RTL: fw version 0x7bf15762

6.18.48 (without the IDs) did not loop. The kernels were distribution builds (CachyOS linux-cachyos-lts 6.18.50, linux-cachyos 7.2.5). I checked the relevant btusb/btrtl lines against the vanilla stable trees listed above. I only have the BT540 and only tested 6.18.y; the BT600 and the other branches are untested but in the same situation.

Could you please:

  - drop both patches from queue-6.6, and
  - revert them in 6.18.y, 6.12.y, 6.1.y, 5.15.y and 5.10.y, or backport 4a23ce935f74 (btrtl.c, +15/-1) where it applies. I have not checked whether it applies cleanly to any of these trees.

Thanks,
Ralf Ahlbrink

#regzbot introduced: v6.18.49..v6.18.50

#regzbot title: btusb: ASUS USB-BT540/BT600 IDs in stable without RTL8761CUV btrtl support cause endless re-enumeration

maintainer
#1 lore raw
Quoted 4 lines

Both set BTUSB_REALTEK for 0b05:1bef / 0b05:1d70, so the adapters now go through btrtl setup. btrtl only learned about this chip in v6.19-rc1:

4a23ce935f74 ("Bluetooth: btrtl: Add the support for RTL8761CUV")

Thanks for the detailed report, this is a good catch.

4a23ce935f74 ("Bluetooth: btrtl: Add the support for RTL8761CUV") is queued for 6.18 and 6.12, which closes it on those two.

It cannot go to 6.6, 6.1, 5.15 or 5.10: btrtl there has no .hw_info field, IC_INFO() still takes four arguments, and CHIP_ID_8922A, CHIP_ID_8852BT and hci_set_quirk() are all absent, so it does not build. Those four trees get 980084de4d9b ("Bluetooth: btusb: Add ASUS USB-BT540 for Realtek 8761CU") and 6f0624b4427e ("Bluetooth: btusb: Add ASUS USB-BT600 for Realtek 8761CU") reverted instead, which puts the adapters back on the generic path they were on before.

Signature · 2 lines
Thanks,
Sasha
#2 lore raw
In reply to ra.prism

Hi Ralf, hi all,

I submitted the two commits. Your analysis is correct - please revert them from every tree below 6.19.

The commit message was also wrong where it called the adapters "non-functional" without the entry. They bind via the generic Bluetooth class and run their ROM firmware. I had tested that on a machine that was also running ASUS' out-of-tree rtk_btusb, and credited the working adapter to my patch.

Measured 2026-09-20 on 6.18.50 with the two IDs removed from a local btusb build: BT540 (0b05:1bef) and BT600 (0b05:1d70) both come up with real BD addresses, no USB disconnects, and carry ASHA and A2DP.

My recommendation is the revert rather than fixing it by backporting the RTL8761CU support that btrtl gained in 6.19 (4a23ce935f74). I tried the backport against 6.18.50 and measured it, but it is hardware enablement rather than a regression fix, and it doesn't seem to gain anything substantial: against the ROM firmware these adapters already run, I could measure no difference in audio quality. The revert is smaller, needs no stable-policy argument, and simply restores the behavior these adapters had for years.

Sorry for the breakage, and thanks for the report.

Christoph

Quoted 71 lines · ra.prism

Hi,

two btusb device-ID commits were backported to stable branches that lack the btrtl support they depend on:

  980084de4d9b ("Bluetooth: btusb: Add ASUS USB-BT540 for Realtek 8761CU") 6f0624b4427e ("Bluetooth: btusb: Add ASUS USB-BT600 for Realtek 8761CU")

Both set BTUSB_REALTEK for 0b05:1bef / 0b05:1d70, so the adapters now go through btrtl setup. btrtl only learned about this chip in v6.19-rc1:

  4a23ce935f74 ("Bluetooth: btrtl: Add the support for RTL8761CUV")

Without it, setup fails and the adapter resets in a loop. Before the backport the adapter bound via the generic Bluetooth class and did not loop.

Affected, checked against the stable trees (btusb.c has 0x0b05/0x1bef, btrtl.c has no rtl8761cu entry):

  released  6.18.50 (aa7b93fe98ba, bce588b4ca08), still in 6.18.51 6.12.109 (f05baf6e0680, 32412aff8d11) 6.1.188, 5.15.221, 5.10.270
  queued    queue-6.6

Not affected: 7.1.y (has 4a23ce935f74 but not the IDs) and 7.2.y (has both).

Observed with an ASUS USB-BT540 (0b05:1bef, hci_rev 000e, lmp_subver 8761) on 6.18.50: 203 re-enumerations in 37 minutes, one every ~10.8 s, independent of the USB port:

  [    8.008281] Bluetooth: hci0: RTL: examining hci_ver=0d
hci_rev=000e lmp_ver=0d lmp_subver=8761
  [    8.008294] usb 5-2: USB disconnect, device number 3 [   18.476022] Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110) [   18.852034] usb 5-2: New USB device found, idVendor=0b05,
idProduct=1bef, bcdDevice= 2.00
  [   18.875711] Bluetooth: hci0: RTL: examining hci_ver=0d
hci_rev=000e lmp_ver=0d lmp_subver=8761
  [   18.886986] usb 5-2: USB disconnect, device number 4 [   29.228274] Bluetooth: hci0: RTL: RTL: Read reg16 failed (-110)

Same machine and adapter on 7.2.5, which has both commits, works:

  [    7.816015] Bluetooth: hci0: RTL: examining hci_ver=0d
hci_rev=000e lmp_ver=0d lmp_subver=8761
  [    7.820005] Bluetooth: hci0: RTL: rom_version status=0 version=1 [    7.825030] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761cu_fw.bin [    7.826003] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761cu_config.bin [    7.840001] Bluetooth: hci0: RTL: fw version 0x7bf15762

6.18.48 (without the IDs) did not loop. The kernels were distribution builds (CachyOS linux-cachyos-lts 6.18.50, linux-cachyos 7.2.5). I checked the relevant btusb/btrtl lines against the vanilla stable trees listed above. I only have the BT540 and only tested 6.18.y; the BT600 and the other branches are untested but in the same situation.

Could you please:

  - drop both patches from queue-6.6, and
  - revert them in 6.18.y, 6.12.y, 6.1.y, 5.15.y and 5.10.y, or backport 4a23ce935f74 (btrtl.c, +15/-1) where it applies. I have not checked whether it applies cleanly to any of these trees.

Thanks,
Ralf Ahlbrink

#regzbot introduced: v6.18.49..v6.18.50

#regzbot title: btusb: ASUS USB-BT540/BT600 IDs in stable without RTL8761CUV btrtl support cause endless re-enumeration