Bug 214823
Summary: | RTL8821CE Bluetooth adapter randomly stopped working, only suspend then resume can reset it | ||
---|---|---|---|
Product: | Drivers | Reporter: | tuwuna (thanhdatwarriorok) |
Component: | Bluetooth | Assignee: | linux-bluetooth (linux-bluetooth) |
Status: | RESOLVED WILL_NOT_FIX | ||
Severity: | high | CC: | murphyde835 |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.14.16 | Subsystem: | |
Regression: | Yes | Bisected commit-id: |
Description
tuwuna
2021-10-26 09:08:36 UTC
Downgraded to kernel version 5.10.75, no issue were found In this kernel, bluetooth don't work after suspend because there was a bug in power management. I believe the issue appear after https://github.com/lwfinger/rtw88 was brought to kernel code on 25 Sep 2020. Alright, since no one on the team is responding anytime soon, I even reported to https://github.com/lwfinger/rtw88/issues/72 also with no respond I will leave my workaround here: Add blacklist rtw88_8821ce to /etc/modprobe.d/blacklist.conf Install https://github.com/tomaspinho/rtl8821ce modprobe rtw88_8821ce before suspend modprobe -r rtw88_8821ce after resume To do this automatically see https://wiki.archlinux.org/title/Power_management#Sleep_hooks That workaround only works for 5.10 kernel For a better workaround see https://github.com/lwfinger/rtw88/issues/72 In case the link die for whatever reason, quote: Add usbcore.autosuspend=0 to kernel parameter or blacklist only bluetooth adapter using https://wiki.archlinux.org/title/Power_management#USB_autosuspend And this workaround doesn't work for me after a suspend resume cycle (It disconnects after a few hours) D: Here is an updated log on 5.14.16 kernel
> sudo dmesg | grep 'hci'
[ 3489.447794] Bluetooth: hci0: RTL: examining hci_ver=08 hci_rev=000c lmp_ver=08 lmp_subver=8821
[ 3489.450797] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 3489.450803] Bluetooth: hci0: RTL: loading rtl_bt/rtl8821c_fw.bin
[ 3489.450817] Bluetooth: hci0: RTL: loading rtl_bt/rtl8821c_config.bin
[ 3489.450829] Bluetooth: hci0: RTL: cfg_sz 10, total sz 31990
[ 3490.156772] Bluetooth: hci0: RTL: fw version 0x829a7644
[16782.570629] usb 1-2: new full-speed USB device number 5 using xhci_hcd
(suspend then resume event)
[26765.726605] Bluetooth: hci0: command 0x041f tx timeout
[26765.726616] Bluetooth: hci0: Timed out waiting for suspend events
[26765.726623] Bluetooth: hci0: Suspend timeout bit: 6
[26765.726646] Bluetooth: hci0: Suspend notifier action (3) failed: -110
[26766.591682] usb 3-1: reset full-speed USB device number 2 using xhci_hcd
[26766.605552] usb 1-4: reset high-speed USB device number 4 using xhci_hcd
[26766.796709] Bluetooth: hci0: RTL: examining hci_ver=08 hci_rev=000c lmp_ver=08 lmp_subver=8821
[26766.799656] Bluetooth: hci0: RTL: rom_version status=0 version=1
[26766.799662] Bluetooth: hci0: RTL: loading rtl_bt/rtl8821c_fw.bin
[26766.805135] Bluetooth: hci0: RTL: loading rtl_bt/rtl8821c_config.bin
[26766.805399] Bluetooth: hci0: RTL: cfg_sz 10, total sz 31990
[26767.513646] Bluetooth: hci0: RTL: fw version 0x829a7644
To anyone hoping for a fix just buy a AX200 because these guy don't fucking care about linux users. |