Freeze after resuming from suspend with bluetooth enabled

Hi folks. I started having issues with suspend and resume with the kernel 6.11. I noticed that, when I disable Bluetooth, suspend and resume works fine but I don’t want to keep it that way.

There’s an issue with mediatek chipsets and bluetooth starting on that kernel version but it’s supposed to have been fixed already. I tried bazzite recently on this system and the suspend/resume worked without issues. I don’t know if they’re doing something special about it, but I wanted to check here if somebody knows how to fix it in CachyOS.

There’s a systemd service going around that uses rfkill to disable bluetooth before entering suspend and reenabling after resume, but I found that it causes instability when using bt devices.

Here’s the journalctl output of the offending boot

dic 23 12:36:05 rocinante systemd-sleep[5209]: Performing sleep operation 'suspend'...
dic 23 12:36:05 rocinante systemd-sleep[5209]: in suspend-then-hibernate operations or setups with encrypted home d>
dic 23 12:36:05 rocinante systemd-sleep[5209]: This is not recommended, and might result in unexpected behavior, pa>
dic 23 12:36:05 rocinante systemd-sleep[5209]: User sessions remain unfrozen on explicit request ($SYSTEMD_SLEEP_FR>
dic 23 12:36:05 rocinante systemd[1]: Starting System Suspend...
dic 23 12:36:05 rocinante systemd[1]: nvidia-suspend.service: Consumed 1.251s CPU time, 843.6M memory peak.
dic 23 12:36:05 rocinante systemd[1]: Finished NVIDIA system suspend actions.
dic 23 12:36:05 rocinante systemd[1]: nvidia-suspend.service: Deactivated successfully.
dic 23 12:36:04 rocinante systemd-resolved[752]: Switching to fallback DNS server 1.1.1.1#cloudflare-dns.com.
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/opus>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/opus_0>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/opus>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/opus_05
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/fast>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/fast>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/sbc
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/sbc
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/opus>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/opus_g
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aac
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aac
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aptx
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aptx_hd
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/ldac
dic 23 12:36:03 rocinante logger[5177]: <13>Dec 23 12:36:03 suspend: nvidia-suspend.service
dic 23 12:36:03 rocinante suspend[5177]: nvidia-suspend.service
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/sbc
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/sbc
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/opus>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/opus_g
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aac
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aac
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aptx
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/aptx>
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSink/aptx_hd
dic 23 12:36:03 rocinante bluetoothd[1027]: Endpoint unregistered: sender=:1.44 path=/MediaEndpoint/A2DPSource/ldac
dic 23 12:36:03 rocinante logger[5177]: <13>Dec 23 12:36:03 suspend: nvidia-suspend.service
dic 23 12:36:03 rocinante suspend[5177]: nvidia-suspend.service
dic 23 12:36:03 rocinante systemd[1]: Starting NVIDIA system suspend actions...
dic 23 12:36:03 rocinante systemd[1]: Reached target Sleep.

I have an Nvidia 3070 and Ryzen 5 7600. Should I provide more hardware details? The network controller is “Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter”

Thanks for the help.

1 Like

This is a bug with Mediatek chips. GitHub - alimert-t/suspend-freeze-fix-for-mt7921e: Solution for suspend/resume issue on Linux kernel 6.11.6-300 with MediaTek MT7921 adapter can be used as a workaround. We are discussing internally whether to include this in cachyos-settings package or into our hardware detection app.

Thank you very much @naim . I tried the kernel param without success. I’m avoiding the systemd service as I remember having issues using bluetooth after resume. I guess we have to wait more time for a fix.