FW16 Debian bookworm hibernate not reliable

Hibernate was hanging during resume - just black screen and then eventually reboot. Got a similar issue running the zoom-client snap when connecting to a meeting or suspend.

But when I plugged in the power cable it was more reliably - 50% black screen!

I got this with both the standard bookworm kernel and the latest backports Debian 6.7.12-1~bpo12+1 (2024-05-06)

Logged a support issue with Framework and they suggested changing BIOS to optimal defaults : -

F2 (Enter BIOS) Set-Up, F9 (Optimal Defaults), F10 (Save and exit)

I also added no_console_suspend to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub (and did update-grub to implement it on kernels)

Then I started to get more informative messages not just black screen and reboot.

[  188.708238] mt7921e 0000:01:00.0: Message 00020007 (seq 1) timeout
[  188.708431] mt7921e 0000:01:00.0: PM: dpm_run_callback(): pci_pm_restore+0x0/0xe0 returns -110
[  188.708448] mt7921e 0000:01:00.0: PM: failed to restore async: error -110
[  188.719217] usb 1-3.2: reset full-speed USB device number 6 using xhci_hcd
[  188.791472] mt7921e 0000:01:00.0: Failed to get patch semaphore
[  188.828420] usb 1-3.2: unable to get BOS descriptor set
[  189.006363] usb 1-5: reset high-speed USB device number 7 using xhci_hcd
[  189.258820] usb 1-4.2: reset full-speed USB device number 9 using xhci_hcd
[  189.369400] usb 1-4.2: unable to get BOS descriptor set
[  192.007457] mt7921e 0000:01:00.0: Message 00000010 (seq 14) timeout
[  192.007472] mt7921e 0000:01:00.0: Failed to get patch semaphore
[  195.291143] mt7921e 0000:01:00.0: Message 00000010 (seq 15) timeout
[  195.291160] mt7921e 0000:01:00.0: Failed to get patch semaphore
[  198.337161] mt7921e 0000:01:00.0: Message 000046ed (seq 1) timeout
[  198.337178] ------------[ cut here ]------------
[  198.337180] Hardware became unavailable upon resume. This could be a software issue prior to suspend or a hardware issue.
[  198.337204] WARNING: CPU: 15 PID: 11 at net/mac80211/util.c:2593 ieee80211_reconfig+0x9f/0x14e0 [mac80211]
[  198.337279] Modules linked in: ctr ccm rfcomm cmac algif_hash algif_skcipher af_alg snd_seq_dummy snd_hrtimer snd_seq snd_seq_device qrtr bnep binfmt_misc nls_ascii nls_cp437 vfat fat mt7921e mt7921_common mt792x_lib btusb mt76_connac_lib btrtl btintel mt76 btbcm btmtk bluetooth mac80211 snd_sof_amd_rembrandt snd_sof_amd_acp snd_sof_pci intel_rapl_msr snd_sof_xtensa_dsp intel_rapl_common edac_mce_amd snd_sof kvm_amd snd_hda_codec_realtek libarc4 sha3_generic snd_sof_utils snd_hda_codec_generic jitterentropy_rng hid_sensor_als ledtrig_audio kvm cfg80211 snd_soc_core snd_hda_codec_hdmi hid_sensor_trigger snd_compress snd_hda_intel snd_pcm_dmaengine hid_sensor_iio_common drbg snd_intel_dspcfg industrialio_triggered_buffer snd_intel_sdw_acpi kfifo_buf snd_hda_codec irqbypass ansi_cprng industrialio snd_pci_ps ecdh_generic snd_rpl_pci_acp6x snd_hda_core rapl wmi_bmof snd_pci_acp6x snd_hwdep ecc pcspkr snd_pcm k10temp snd_pci_acp5x ucsi_acpi snd_rn_pci_acp3x typec_ucsi snd_timer snd_acp_config sp5100_tco snd_soc_acpi snd
[  198.337374]  typec snd_pci_acp3x watchdog rfkill ccp soundcore roles ac joydev amd_pmc hid_multitouch evdev squashfs parport_pc ppdev lp parport loop efi_pstore configfs efivarfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 crc32c_generic dm_crypt dm_mod usbhid amdgpu drm_exec amdxcp drm_buddy gpu_sched i2c_algo_bit drm_suballoc_helper drm_display_helper hid_sensor_hub cec rc_core hid_generic drm_ttm_helper nvme
[  198.337426] mt7921e 0000:01:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x000d address=0xffc41f80 flags=0x0000]
[  198.337427]  i2c_hid_acpi ttm i2c_hid nvme_core drm_kms_helper hid xhci_pci t10_pi crc32_pclmul xhci_hcd crc32c_intel crc64_rocksoft_generic ghash_clmulni_intel sha512_ssse3 crc64_rocksoft drm thunderbolt sha512_generic crc_t10dif usbcore crct10dif_generic cros_ec_lpcs sha256_ssse3 crct10dif_pclmul cros_ec crc64 sha1_ssse3 i2c_piix4 video usb_common crct10dif_common button battery wmi aesni_intel crypto_simd cryptd
[  198.337471] CPU: 15 PID: 11 Comm: kworker/u32:0 Not tainted 6.7.12+bpo-amd64 #1  Debian 6.7.12-1~bpo12+1
[  198.337476] Hardware name: Framework Laptop 16 (AMD Ryzen 7040 Series)/FRANMZCP07, BIOS 03.03 03/27/2024
[  198.337479] Workqueue: events_unbound async_run_entry_fn
[  198.337488] RIP: 0010:ieee80211_reconfig+0x9f/0x14e0 [mac80211]
[  198.337532] Code: 02 00 00 41 c6 86 85 05 00 00 00 4c 89 f7 e8 68 8b fb ff 41 89 c4 85 c0 0f 84 0d 03 00 00 48 c7 c7 e8 2c 19 c2 e8 a1 c5 fe eb <0f> 0b eb 2d 84 c0 0f 85 9d 01 00 00 c6 87 85 05 00 00 00 e8 39 8b
[  198.337535] RSP: 0018:ffffb1a3400fbcd0 EFLAGS: 00010282
[  198.337538] RAX: 0000000000000000 RBX: ffff9b3749720538 RCX: 0000000000000027
[  198.337541] RDX: ffff9b46201e1408 RSI: 0000000000000001 RDI: ffff9b46201e1400
[  198.337543] RBP: ffff9b37497203c0 R08: 0000000000000000 R09: ffffb1a3400fbaa0
[  198.337544] R10: ffffb1a3400fba98 R11: 0000000000000003 R12: 00000000ffffff92
[  198.337546] R13: 0000000000000000 R14: ffff9b3749720900 R15: ffff9b37497205b8
[  198.337548] FS:  0000000000000000(0000) GS:ffff9b46201c0000(0000) knlGS:0000000000000000
[  198.337550] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  198.337552] CR2: 0000000000000000 CR3: 0000000c9ca20000 CR4: 0000000000750ef0
[  198.337555] PKRU: 55555554
[  198.337556] Call Trace:
[  198.337561]  <TASK>
[  198.337563]  ? ieee80211_reconfig+0x9f/0x14e0 [mac80211]
[  198.337603]  ? __warn+0x81/0x130
[  198.337611]  ? ieee80211_reconfig+0x9f/0x14e0 [mac80211]
[  198.337652]  ? report_bug+0x171/0x1a0
[  198.337657]  ? srso_alias_return_thunk+0x5/0xfbef5
[  198.337662]  ? console_unlock+0xcb/0x120
[  198.337668]  ? handle_bug+0x41/0x70
[  198.337674]  ? exc_invalid_op+0x17/0x70
[  198.337678]  ? asm_exc_invalid_op+0x1a/0x20
[  198.337686]  ? ieee80211_reconfig+0x9f/0x14e0 [mac80211]
[  198.337726]  ? srso_alias_return_thunk+0x5/0xfbef5
[  198.337729]  ? srso_alias_return_thunk+0x5/0xfbef5
[  198.337732]  ? srso_alias_return_thunk+0x5/0xfbef5
[  198.337734]  ? update_load_avg+0x7e/0x7e0
[  198.337740]  ? srso_alias_return_thunk+0x5/0xfbef5
[  198.337743]  ? srso_alias_return_thunk+0x5/0xfbef5
[  198.337745]  ? wait_for_completion+0x3b/0x160
[  198.337752]  wiphy_resume+0x82/0x1a0 [cfg80211]
[  198.337794]  ? __pfx_wiphy_resume+0x10/0x10 [cfg80211]
[  198.337810]  dpm_run_callback+0x89/0x1e0
[  198.337816]  __device_resume+0xa5/0x250
[  198.337818]  async_resume+0x1d/0x30
[  198.337819]  async_run_entry_fn+0x31/0x130
[  198.337822]  process_one_work+0x17c/0x350
[  198.337826]  worker_thread+0x27b/0x3a0
[  198.337829]  ? __pfx_worker_thread+0x10/0x10
[  198.337830]  kthread+0xe5/0x120
[  198.337833]  ? __pfx_kthread+0x10/0x10
[  198.337835]  ret_from_fork+0x31/0x50
[  198.337839]  ? __pfx_kthread+0x10/0x10
[  198.337841]  ret_from_fork_asm+0x1b/0x30
[  198.337847]  </TASK>
[  198.337847] ---[ end trace 0000000000000000 ]---
[  198.337907] ------------[ cut here ]------------

So I tried unloading this mt7921e and that avoid that complaint.
But I still got queuing ieee80211 work while going to suspend and then a hang on resuming.

After some tracing I think that line comes from mac80211 but many things depend on that module - but I think I can avoid this by rmmod-ing the mt7921_common as it then seems to be fine.

BUT this is all with the power cable plugged in.

Removing the power cable causes the resume to hang as follows

[   81.547005] amdgpu 0000:c1:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[   81.547008] amdgpu 0000:c1:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[   81.547011] amdgpu 0000:c1:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[   81.547014] amdgpu 0000:c1:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[   81.570551] [drm] ring gfx_32775.1.1 was added
[   81.571887] [drm] ring compute_32775.2.2 was added
[   81.573173] [drm] ring sdma_32775.3.3 was added
[   81.574080] [drm] ring gfx_32775.1.1 ib test pass
[   81.574657] [drm] ring compute_32775.2.2 ib test pass
[   81.575352] [drm] ring sdma_32775.3.3 ib test pass
[   81.868648] usb 1-3: reset high-speed USB device number 3 using xhci_hcd
[   82.148798] usb 2-2: reset SuperSpeed Plus Gen 2x1 USB device number 2 using xhci_hcd
[   82.432339] usb 1-2.1: reset full-speed USB device number 4 using xhci_hcd
 **** following lines never appear and hangs here for ever ****

[   82.696280] usb 1-4: reset high-speed USB device number 5 using xhci_hcd
[   83.427875] usb 1-2.2: reset low-speed USB device number 6 using xhci_hcd
[   83.827724] usb 1-3.2: reset full-speed USB device number 7 using xhci_hcd
[   83.939744] usb 1-3.2: unable to get BOS descriptor set
[   84.143368] usb 1-5: reset high-speed USB device number 8 using xhci_hcd
[   84.427570] usb 1-4.2: reset full-speed USB device number 10 using xhci_hcd
[   84.539786] usb 1-4.2: unable to get BOS descriptor set
[   84.575775] PM: hibernation: Basic memory bitmaps freed
[   84.575932] OOM killer enabled.
[   84.576396] Restarting tasks ... 
[   84.577262] Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20221227123429
[   84.577379] done.
[   84.578183] usb 1-4.1: USB disconnect, device number 9
[   84.582137] PM: hibernation: hibernation exit
[   84.662863] usb 1-4.1: new full-speed USB device number 11 using xhci_hcd
[   84.791898] usb 1-4.1: New USB device found, idVendor=27c6, idProduct=609c, bcdDevice= 1.00
[   84.791910] usb 1-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   84.791914] usb 1-4.1: Product: Goodix USB2.0 MISC
[   84.791918] usb 1-4.1: Manufacturer: Goodix Technology Co., Ltd.
[   84.791921] usb 1-4.1: SerialNumber: UIDD89E4D2A_XXXX_MOC_B0
[   86.822398] Bluetooth: hci0: Device setup in 2194467 usecs
[   86.822408] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
[   86.877516] Bluetooth: MGMT ver 1.22
[   90.683175] mt7921e 0000:01:00.0: firmware: direct-loading firmware mediatek/WIFI_RAM_CODE_MT7922_1.bin
[   90.685345] mt7921e 0000:01:00.0: ASIC revision: 79220010
[   90.769743] mt7921e 0000:01:00.0: firmware: direct-loading firmware mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin
  • I have two systemd services that unload those modules and I show them
    /etc/systemd/system/wifi-suspend.service
[Unit]
Description=Disable and reenable mt7921e module on sleep
Before=sleep.target
StopWhenUnneeded=yes

[Service]
User=root
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/rmmod mt7921e
ExecStart=/usr/bin/sleep 5
ExecStop=/usr/bin/sleep 5
ExecStop=/usr/sbin/modprobe mt7921e

[Install]
WantedBy=sleep.target
  • Then enable it with: systemctl enable wifi-suspend.service
  • Similarly for the mt7921_common module - /etc/systemd/system/mt7921e-suspend.service
[Unit]
Description=Disable and reenable mt7921_common module on sleep
Before=sleep.target
After=wifi-suspend.service
StopWhenUnneeded=yes

[Service]
User=root
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/rmmod mt7921_common
ExecStart=/usr/bin/sleep 1
ExecStop=/usr/bin/sleep 1
ExecStop=/usr/sbin/modprobe mt7921_common

[Install]
WantedBy=sleep.target
  • Enable it similarly : systemctl enable mt7921e-suspend.service
  • Not sure how to get around the power cable resume hang - so my next step is perhaps to try building my own kernel and mailing WARNING messages from latest kernel to the relevant module maintainers. They will probably point me in the right direction if I give enough details.

This commit (and all deps for it) may help you.

I tried kernel 6.10-rc3 which contains this code and it black screen hung on the way down (systemctl hibernate) - so perhaps worse. :frowning:

I try again from a console window rather than X to see if I get any more info.

It could be another regression; but I don’t know for sure.
It also doesn’t help the wifi issue in any way; so it might be worthwhile to unload the wifi module before going down.

1 Like

As you are AMD based this may be a worthless comment, but I’m on a 12th gen FW 13 with Debian 12.5, and the stock kernel, as you have experienced had serious sleep and hibernate issues. I was able to get a 6.7.12 kernel from backports though that has been working perfectly!

Maybe it is worth giving it a go?

I say this may be worthless because the kit in the FW 16 is super new.

Debian has been working perfectly on my 13 since moving to the backports kernel.

1 Like

Hibernation has been working 100% reliably on my Laptop 16 running Linux 6.6.41-gentoo. I didn’t have to do anything special with modules; in fact my kernel does not even support dynamically loadable modules (by my choice).

Here’s a kernel log excerpt from my most recent hibernate/resume cycle:

[269646.021108] elogind-daemon[1849]: Power key pressed short.
[269646.059692] wlp2s0: deauthenticating from xx:xx:xx:xx:xx:xx by local choice (Reason: 3=DEAUTH_LEAVING)
[269646.443069] elogind-daemon[1849]: Entering sleep state 'hibernate'...
[269646.443075] PM: hibernation: hibernation entry
[269646.523057] Filesystems sync: 0.079 seconds
[269646.523129] Freezing user space processes
[269646.524351] Freezing user space processes completed (elapsed 0.001 seconds)
[269646.524353] OOM killer disabled.
[269646.525634] PM: hibernation: Preallocating image memory
[269649.925789] PM: hibernation: Allocated 1243581 pages for snapshot
[269649.925792] PM: hibernation: Allocated 4974324 kbytes in 3.40 seconds (1463.03 MB/s)
[269649.925794] Freezing remaining freezable tasks
[269649.927060] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[269649.928647] printk: Suspending console(s) (use no_console_suspend to debug)
[269649.939740] queueing ieee80211 work while going to suspend
[269650.133374] ACPI: EC: interrupt blocked
[269650.171852] ACPI: PM: Preparing to enter system sleep state S4
[269650.481956] ACPI: EC: event blocked
[269650.481959] ACPI: EC: EC stopped
[269650.481959] ACPI: PM: Saving platform NVS memory
[269650.486970] Disabling non-boot CPUs ...
[269650.488968] smpboot: CPU 1 is now offline
[269650.491051] smpboot: CPU 2 is now offline
[269650.492836] smpboot: CPU 3 is now offline
[269650.494624] smpboot: CPU 4 is now offline
[269650.496437] smpboot: CPU 5 is now offline
[269650.498163] smpboot: CPU 6 is now offline
[269650.500133] smpboot: CPU 7 is now offline
[269650.502018] smpboot: CPU 8 is now offline
[269650.503750] smpboot: CPU 9 is now offline
[269650.505481] smpboot: CPU 10 is now offline
[269650.507171] smpboot: CPU 11 is now offline
[269650.509049] smpboot: CPU 12 is now offline
[269650.510745] smpboot: CPU 13 is now offline
[269650.512516] smpboot: CPU 14 is now offline
[269650.514098] smpboot: CPU 15 is now offline
[269650.514940] PM: hibernation: Creating image:
[269650.866033] PM: hibernation: Need to copy 1386842 pages
[269650.516117] ACPI: PM: Restoring platform NVS memory
[269650.517952] ACPI: EC: EC started
[269650.518642] LVT offset 0 assigned for vector 0x400
[269650.519317] Enabling non-boot CPUs ...
[269650.519372] smpboot: Booting Node 0 Processor 1 APIC 0x1
[269650.522481] ACPI: \_SB_.PLTF.C001: Found 3 idle states
[269650.522607] CPU1 is up
[269650.522640] smpboot: Booting Node 0 Processor 2 APIC 0x2
[269650.524999] ACPI: \_SB_.PLTF.C002: Found 3 idle states
[269650.525067] CPU2 is up
[269650.525086] smpboot: Booting Node 0 Processor 3 APIC 0x3
[269650.527514] ACPI: \_SB_.PLTF.C003: Found 3 idle states
[269650.527613] CPU3 is up
[269650.527630] smpboot: Booting Node 0 Processor 4 APIC 0x4
[269650.530047] ACPI: \_SB_.PLTF.C004: Found 3 idle states
[269650.530121] CPU4 is up
[269650.530133] smpboot: Booting Node 0 Processor 5 APIC 0x5
[269650.532549] ACPI: \_SB_.PLTF.C005: Found 3 idle states
[269650.532644] CPU5 is up
[269650.532656] smpboot: Booting Node 0 Processor 6 APIC 0x6
[269650.534967] ACPI: \_SB_.PLTF.C006: Found 3 idle states
[269650.535040] CPU6 is up
[269650.535050] smpboot: Booting Node 0 Processor 7 APIC 0x7
[269650.537513] ACPI: \_SB_.PLTF.C007: Found 3 idle states
[269650.537619] CPU7 is up
[269650.537634] smpboot: Booting Node 0 Processor 8 APIC 0x8
[269650.540037] ACPI: \_SB_.PLTF.C008: Found 3 idle states
[269650.540119] CPU8 is up
[269650.540131] smpboot: Booting Node 0 Processor 9 APIC 0x9
[269650.542538] ACPI: \_SB_.PLTF.C009: Found 3 idle states
[269650.542639] CPU9 is up
[269650.542650] smpboot: Booting Node 0 Processor 10 APIC 0xa
[269650.544966] ACPI: \_SB_.PLTF.C00A: Found 3 idle states
[269650.545053] CPU10 is up
[269650.545077] smpboot: Booting Node 0 Processor 11 APIC 0xb
[269650.547568] ACPI: \_SB_.PLTF.C00B: Found 3 idle states
[269650.547682] CPU11 is up
[269650.547691] smpboot: Booting Node 0 Processor 12 APIC 0xc
[269650.550038] ACPI: \_SB_.PLTF.C00C: Found 3 idle states
[269650.550132] CPU12 is up
[269650.550141] smpboot: Booting Node 0 Processor 13 APIC 0xd
[269650.552550] ACPI: \_SB_.PLTF.C00D: Found 3 idle states
[269650.552661] CPU13 is up
[269650.552671] smpboot: Booting Node 0 Processor 14 APIC 0xe
[269650.555001] ACPI: \_SB_.PLTF.C00E: Found 3 idle states
[269650.555106] CPU14 is up
[269650.555114] smpboot: Booting Node 0 Processor 15 APIC 0xf
[269650.557595] ACPI: \_SB_.PLTF.C00F: Found 3 idle states
[269650.557736] CPU15 is up
[269650.560261] ACPI: PM: Waking up from system sleep state S4
[269650.561816] ACPI: EC: interrupt unblocked
[269650.728102] ACPI: EC: event unblocked
[269650.728854] usb usb3: root hub lost power or was reset
[269650.728855] usb usb1: root hub lost power or was reset
[269650.728857] usb usb2: root hub lost power or was reset
[269650.728858] usb usb4: root hub lost power or was reset
[269650.729461] [drm] PCIE GART of 512M enabled (table at 0x000000807FD00000).
[269650.729509] [drm] PSP is resuming...
[269650.730562] usb usb5: root hub lost power or was reset
[269650.730566] usb usb6: root hub lost power or was reset
[269650.730598] usb usb7: root hub lost power or was reset
[269650.730601] usb usb8: root hub lost power or was reset
[269650.753757] [drm] reserve 0x4000000 from 0x8078000000 for PSP TMR
[269650.760876] nvme nvme0: 16/0/0 default/read/poll queues
[269650.934504] nvme nvme1: 16/0/0 default/read/poll queues
[269651.457052] amdgpu 0000:c2:00.0: amdgpu: RAS: optional ras ta ucode is not available
[269651.464459] amdgpu 0000:c2:00.0: amdgpu: RAP: optional rap ta ucode is not available
[269651.464460] amdgpu 0000:c2:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[269651.464463] amdgpu 0000:c2:00.0: amdgpu: SMU is resuming...
[269651.465291] amdgpu 0000:c2:00.0: amdgpu: SMU is resumed successfully!
[269651.467712] [drm] DMUB hardware initialized: version=0x08003D00
[269651.477353] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:264
[269651.481816] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:272
[269651.486281] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:280
[269651.490742] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:288
[269651.575121] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:264
[269651.577600] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:272
[269651.580076] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:280
[269651.582550] [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:288
[269652.489728] [drm] kiq ring mec 3 pipe 1 q 0
[269652.492840] [drm] VCN decode and encode initialized successfully(under DPG Mode).
[269652.493009] amdgpu 0000:c2:00.0: [drm:jpeg_v4_0_hw_init] JPEG decode initialized successfully.
[269652.493264] amdgpu 0000:c2:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[269652.493266] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[269652.493267] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[269652.493268] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[269652.493269] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[269652.493270] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[269652.493270] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[269652.493271] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[269652.493272] amdgpu 0000:c2:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[269652.493273] amdgpu 0000:c2:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[269652.493274] amdgpu 0000:c2:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[269652.493275] amdgpu 0000:c2:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[269652.493275] amdgpu 0000:c2:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[269652.496110] [drm] ring gfx_32793.1.1 was added
[269652.496679] [drm] ring compute_32793.2.2 was added
[269652.497199] [drm] ring sdma_32793.3.3 was added
[269652.497244] [drm] ring gfx_32793.1.1 ib test pass
[269652.497293] [drm] ring compute_32793.2.2 ib test pass
[269652.497380] [drm] ring sdma_32793.3.3 ib test pass
[269652.755621] usb 3-1: reset high-speed USB device number 2 using xhci_hcd
[269652.763687] usb 1-2: reset high-speed USB device number 2 using xhci_hcd
[269653.038610] usb 1-3: reset high-speed USB device number 3 using xhci_hcd
[269653.281962] usb 2-2: reset SuperSpeed Plus Gen 2x1 USB device number 2 using xhci_hcd
[269653.621680] usb 1-4: reset high-speed USB device number 4 using xhci_hcd
[269653.817681] usb 1-3.2: reset full-speed USB device number 5 using xhci_hcd
[269653.907378] usb 1-3.2: unable to get BOS descriptor set
[269654.080848] usb 1-5: reset high-speed USB device number 6 using xhci_hcd
[269654.276670] usb 1-4.2: reset full-speed USB device number 8 using xhci_hcd
[269654.366386] usb 1-4.2: unable to get BOS descriptor set
[269654.406191] OOM killer enabled.
[269654.406194] Restarting tasks ... 
[269654.407507] usb 1-4.1: USB disconnect, device number 26
[269654.410444] done.
[269654.412468] PM: hibernation: hibernation exit
[269654.426830] elogind-daemon[1849]: System returned from sleep state.
[269654.474020] usb 1-4.1: new full-speed USB device number 27 using xhci_hcd
[269654.583877] usb 1-4.1: New USB device found, idVendor=27c6, idProduct=609c, bcdDevice= 1.00
[269654.583885] usb 1-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[269654.583888] usb 1-4.1: Product: Goodix USB2.0 MISC
[269654.583889] usb 1-4.1: Manufacturer: Goodix Technology Co., Ltd.
[269654.583891] usb 1-4.1: SerialNumber: UID3598F245_XXXX_MOC_B0
1 Like

Great to hear! Hibernation is something the desktop Linux world needs to embrace at large.

Hibernation is simple, as it’s entirely software-driven. The real holy grail is s0ix/s2idle. It almost works on my Laptop 16, but the CPUs hang for over a minute during resume, such that using it doesn’t make for a great user experience.

Indeed, only my experience is that it isn’t straight forward on many distros and requires some more advanced methods to get working. Not without glitches though. (I’m referring to Ubuntu 24.04 here)

It is just wonky to get properly setup up with encrypted drives, etc.

I can’t speak to whatever the highly pre-fabricated distros like Ubuntu are doing, but it is certainly true that getting hibernation to work with encrypted swap is not so straightforward when you are “rolling your own” setup from scratch, such as I do with Gentoo.

I had to get somewhat creative to get my system down to “only” three passwords/passphrases that I have to type during boot or resume: one into the UEFI firmware to unlock my TCG Opal drive at power on, one into the early boot environment of the initramfs to map my encrypted swap partition via dmcrypt, and one into SDDM/kscreenlocker to login/unlock my Plasma session (depending on whether I’m booting or resuming). The gotcha is that, in addition to encrypted swap, I also use a LUKS-encrypted data partition (on the Opal-encrypted drive), and I don’t want to have to type a separate passphrase for that partition during boot. To that end, my initramfs stashes the volume key for the encrypted swap partition in a kernel keyring, and then my call to cryptsetup during late boot pulls the volume key from the keyring to map my encrypted data partition without prompting for a passphrase.

This forum keeps rejecting my post with a 403 error when I try to include my source code in it, so I posted my initramfs /init script as a gist instead.

In reference to the above-linked gist, the three calls to findfs find my root, data, and swap partitions even if I don’t specify them on the kernel command line, so long as they are labeled Root, Data, and Swap, respectively, in the GPT(s).

The main trick is where I call cryptsetup luksOpen --test-passphrase --link-vk-to-keyring @us::dmcrypt, which prompts for a passphrase that unlocks the volume key of my LUKS-encrypted data partition but does not map that partition. The volume key is stashed in the root user’s session keyring and is then immediately fed into a plain (not LUKS) dmcrypt mapping of my swap partition. (That means my swap partition has no LUKS header; it simply/blindly uses the same volume key as my LUKS-encrypted data partition.)

Once the encrypted swap partition is mapped, resuming from hibernation is achieved simply by writing the mapped device major:minor numbers to /sys/power/resume.

Then the only other piece of the puzzle is: during my main system startup process, I pass the additional option --volume-key-keyring dmcrypt to cryptsetup when mapping my encrypted data partition. That lets me reuse the volume key that the initramfs stashed so I don’t have to type my passphrase again during late boot.

So yeah, there’s nothing particularly finicky about it, but it is not at all pre-fabricated. Then again, hardly anything on Gentoo is, which is what makes using it so Fun℠.

Have you considered to just use a swapfile on your already encrypted main drive?

That ended up being my solution to this problem after I moved from sed to luks encryption, it’s relatively painless to setup these days.

You can’t do that. If you mount a file system that is already mounted (in the hibernated image), you will corrupt it. It’s the same as mounting the same file system twice concurrently.

Hibernate to swap file works perfectly fine and is a supported use case, definitely doesn’t look mounted twice to me.

Oh, indeed. I forgot that you can tell the kernel a device and an offset, and it’ll read the hibernation image blindly from the device without going through the file system. I’m sure that works, but it doesn’t win you anything, as you’d still need to map the encrypted partition that holds the file system that the swap file resides in. If you only meant that it saves you from using the keyring, then sure, but there’s no downside to using the keyring, and there is a downside to routing all your swap activity through a file system driver.

Since that’s the root partition you kind of always have to do that so i don’t really see the problem here.

Saves me from both the keyring and messing with partitions, also a lot easier to change the size of the swapfile later without squishing and moving stuff around.

If I read it right at least in the case of btrfs the fs is not involved in swap activity apart from initially telling it where it can put it’s stuff.

But the main thing is that at least on base arch it is insanely low effort to set up, just create swapfile (btrfs has a command for that), find the offset (also command for that), put offset part uuid and offset (also got from btrfs command) into the kernel command line and add swapfile to fstab. One password, one partition.

1 Like

That is your most compelling point, but all your points are good. I am probably just a dinosaur still doing things the old way.

As long as it works for you, I was doing similar stuff before I figured this out but just hated dealing with the keys and stuff.

Just thought I should update people with a problem that was impacting me on Debian bookworm. Basically the 6.10 kernel was ok but the 6.11-rc4 kernel hung on boot up - see linux amdgpu mailing list bug report

There is a patch that fixes it.

Alternatively there you can just install the most recent nonfree-firmware package containing the amdgpu firmware. You need version 20240709-1 for it to work with v6.11-rc4 kernel.
Note: You need to re-build the initrd with:

update-initramfs -c -k 6.11.0-rc4

as the firmware is loaded from the initrd on boot (confused me for a while :frowning: )

I note there are still plenty of “suspend issue” patches in that mailing list so perhaps the suspend still has a way to go for me.

Yep - still have problems - at the moment it is refusing because btusb fails

This was linux 6.11.0-rc4 with amdgpu patch

[   97.004255] PM: hibernation: hibernation entry
[   97.661545] Filesystems sync: 0.010 seconds
[   97.661638] Freezing user space processes
[   97.663358] Freezing user space processes completed (elapsed 0.001 seconds)
[   97.663372] OOM killer disabled.
[   97.663837] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
[   97.663841] PM: hibernation: Marking nosave pages: [mem 0x0009f000-0x000fffff]
[   97.663843] PM: hibernation: Marking nosave pages: [mem 0x09b00000-0x09dfffff]
[   97.663853] PM: hibernation: Marking nosave pages: [mem 0x09f00000-0x09f3bfff]
[   97.663854] PM: hibernation: Marking nosave pages: [mem 0x49b60000-0x4bd5ffff]
[   97.663954] PM: hibernation: Marking nosave pages: [mem 0x4bd69000-0x4bd6cfff]
[   97.663955] PM: hibernation: Marking nosave pages: [mem 0x4bd6f000-0x4bd6ffff]
[   97.663956] PM: hibernation: Marking nosave pages: [mem 0x52ddd000-0x52e2bfff]
[   97.663958] PM: hibernation: Marking nosave pages: [mem 0x548b7000-0x548b7fff]
[   97.663958] PM: hibernation: Marking nosave pages: [mem 0x57f7f000-0x5affefff]
[   97.664104] PM: hibernation: Marking nosave pages: [mem 0x5b000000-0xffffffff]
[   97.668265] PM: hibernation: Basic memory bitmaps created
[   97.670490] PM: hibernation: Preallocating image memory
[   99.365333] PM: hibernation: Allocated 1342293 pages for snapshot
[   99.365354] PM: hibernation: Allocated 5369172 kbytes in 1.69 seconds (3177.02 MB/s)
[   99.365366] Freezing remaining freezable tasks
[   99.368002] Freezing remaining freezable tasks completed (elapsed 0.002 seconds)
[   99.369822] btusb 1-5:1.2: suspend error -16
[   99.369842] btusb 1-5:1.1: suspend error -16
[   99.369856] btusb 1-5:1.0: suspend error -16
[   99.370083] Bluetooth: hci0: urb 00000000a266a7e0 failed to resubmit (113)
[  100.044421] ACPI: EC: interrupt blocked
[  100.044984] ACPI: PM: Preparing to enter system sleep state S4
[  100.383340] ACPI: EC: event blocked
[  100.383351] ACPI: EC: EC stopped
[  100.383354] ACPI: PM: Saving platform NVS memory
[  100.388618] Disabling non-boot CPUs ...
[  100.390949] smpboot: CPU 15 is now offline
[  100.393328] smpboot: CPU 14 is now offline
[  100.395541] smpboot: CPU 13 is now offline
[  100.397693] smpboot: CPU 12 is now offline
[  100.399816] smpboot: CPU 11 is now offline
[  100.401804] smpboot: CPU 10 is now offline
[  100.403895] smpboot: CPU 9 is now offline
[  100.405937] smpboot: CPU 8 is now offline
[  100.407932] smpboot: CPU 7 is now offline
[  100.410024] smpboot: CPU 6 is now offline
[  100.412040] smpboot: CPU 5 is now offline
[  100.414011] smpboot: CPU 4 is now offline
[  100.416160] smpboot: CPU 3 is now offline
[  100.418642] smpboot: CPU 2 is now offline
[  100.421140] smpboot: CPU 1 is now offline
[  100.421781] Spectre V2 : Update user space SMT mitigation: STIBP off
[  100.422249] PM: hibernation: Creating image:
[  101.754504] PM: hibernation: Need to copy 1475825 pages
[  101.754513] PM: hibernation: Normal pages needed: 1475825 + 1024, available pages: 14725498
[  111.063086] PM: hibernation: Image created (1289933 pages copied, 185892 zero pages)
[  100.422490] ACPI: PM: Restoring platform NVS memory
[  100.423370] ACPI: EC: EC started
[  100.424196] LVT offset 0 assigned for vector 0x400
[  100.424766] Enabling non-boot CPUs ...
[  100.424795] smpboot: Booting Node 0 Processor 1 APIC 0x1
[  100.427345] ACPI: \_SB_.PLTF.C001: Found 3 idle states
[  100.427584] Spectre V2 : Update user space SMT mitigation: STIBP always-on
[  100.427595] CPU1 is up
[  100.427615] smpboot: Booting Node 0 Processor 2 APIC 0x2
[  100.430029] ACPI: \_SB_.PLTF.C002: Found 3 idle states
[  100.430199] CPU2 is up
[  100.430213] smpboot: Booting Node 0 Processor 3 APIC 0x3
[  100.432895] ACPI: \_SB_.PLTF.C003: Found 3 idle states
[  100.433086] CPU3 is up
[  100.433100] smpboot: Booting Node 0 Processor 4 APIC 0x4
[  100.435516] ACPI: \_SB_.PLTF.C004: Found 3 idle states
[  100.435693] CPU4 is up
[  100.435706] smpboot: Booting Node 0 Processor 5 APIC 0x5
[  100.438101] ACPI: \_SB_.PLTF.C005: Found 3 idle states
[  100.438323] CPU5 is up
[  100.438335] smpboot: Booting Node 0 Processor 6 APIC 0x6
[  100.440732] ACPI: \_SB_.PLTF.C006: Found 3 idle states
[  100.440933] CPU6 is up
[  100.440946] smpboot: Booting Node 0 Processor 7 APIC 0x7
[  100.443349] ACPI: \_SB_.PLTF.C007: Found 3 idle states
[  100.443602] CPU7 is up
[  100.443614] smpboot: Booting Node 0 Processor 8 APIC 0x8
[  100.446042] ACPI: \_SB_.PLTF.C008: Found 3 idle states
[  100.446265] CPU8 is up
[  100.446278] smpboot: Booting Node 0 Processor 9 APIC 0x9
[  100.448674] ACPI: \_SB_.PLTF.C009: Found 3 idle states
[  100.448964] CPU9 is up
[  100.448976] smpboot: Booting Node 0 Processor 10 APIC 0xa
[  100.451419] ACPI: \_SB_.PLTF.C00A: Found 3 idle states
[  100.451667] CPU10 is up
[  100.451682] smpboot: Booting Node 0 Processor 11 APIC 0xb
[  100.454179] ACPI: \_SB_.PLTF.C00B: Found 3 idle states
[  100.454489] CPU11 is up
[  100.454502] smpboot: Booting Node 0 Processor 12 APIC 0xc
[  100.456924] ACPI: \_SB_.PLTF.C00C: Found 3 idle states
[  100.457195] CPU12 is up
[  100.457208] smpboot: Booting Node 0 Processor 13 APIC 0xd
[  100.459621] ACPI: \_SB_.PLTF.C00D: Found 3 idle states
[  100.459951] CPU13 is up
[  100.459964] smpboot: Booting Node 0 Processor 14 APIC 0xe
[  100.462402] ACPI: \_SB_.PLTF.C00E: Found 3 idle states
[  100.462700] CPU14 is up
[  100.462715] smpboot: Booting Node 0 Processor 15 APIC 0xf
[  100.465129] ACPI: \_SB_.PLTF.C00F: Found 3 idle states
[  100.465493] CPU15 is up
[  100.468564] ACPI: PM: Waking up from system sleep state S4
[  100.472068] ACPI: EC: interrupt unblocked
[  100.476344] ACPI: EC: event unblocked
[  100.476766] [drm] PCIE GART of 512M enabled (table at 0x000000807FD00000).
[  100.476812] amdgpu 0000:c1:00.0: amdgpu: PSP is resuming...
[  100.484988] nvme nvme0: 16/0/0 default/read/poll queues
[  100.500873] amdgpu 0000:c1:00.0: amdgpu: reserve 0x4000000 from 0x8078000000 for PSP TMR
[  101.218730] amdgpu 0000:c1:00.0: amdgpu: RAS: optional ras ta ucode is not available
[  101.226121] amdgpu 0000:c1:00.0: amdgpu: RAP: optional rap ta ucode is not available
[  101.226129] amdgpu 0000:c1:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[  101.226138] amdgpu 0000:c1:00.0: amdgpu: SMU is resuming...
[  101.252330] amdgpu 0000:c1:00.0: amdgpu: SMU is resumed successfully!
[  101.254902] [drm] DMUB hardware initialized: version=0x08003D00
[  102.234125] amdgpu 0000:c1:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[  102.234139] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[  102.234143] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[  102.234146] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[  102.234149] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[  102.234152] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[  102.234155] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[  102.234158] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[  102.234161] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[  102.234164] amdgpu 0000:c1:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[  102.234168] amdgpu 0000:c1:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[  102.234171] amdgpu 0000:c1:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[  102.234174] amdgpu 0000:c1:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[  102.246901] [drm] ring gfx_32776.1.1 was added
[  102.248119] [drm] ring compute_32776.2.2 was added
[  102.249128] [drm] ring sdma_32776.3.3 was added
[  102.249609] [drm] ring gfx_32776.1.1 ib test pass
[  102.250502] [drm] ring compute_32776.2.2 ib test pass
[  102.251093] [drm] ring sdma_32776.3.3 ib test pass
[  102.268407] PM: Using 3 thread(s) for lzo compression
[  102.269208] PM: Compressing and saving image data (1292816 pages)...
[  102.269636] PM: Image saving progress:   0%
[  102.612217] PM: Image saving progress:  10%
[  102.919742] PM: Image saving progress:  20%
[  103.223724] PM: Image saving progress:  30%
[  103.521423] PM: Image saving progress:  40%
[  103.830906] PM: Image saving progress:  50%
[  104.128791] PM: Image saving progress:  60%
[  104.421781] PM: Image saving progress:  70%
[  104.701087] PM: Image saving progress:  80%
[  104.963681] PM: Image saving progress:  90%
[  105.224756] PM: Image saving progress: 100%
[  105.225387] PM: Image saving done
[  105.226136] PM: hibernation: Wrote 5171264 kbytes in 2.95 seconds (1752.97 MB/s)
[  105.226534] PM: Image size after compression: 1840394 kbytes
[  105.227004] PM: S|
[  105.531923] btusb 1-5:1.2: suspend error -16
[  105.532775] btusb 1-5:1.1: suspend error -16
[  105.533178] btusb 1-5:1.0: suspend error -16
[  105.603391] xhci_hcd 0000:c1:00.3: PM: pci_pm_poweroff(): hcd_pci_suspend [usbcore] returns -16
[  105.603447] xhci_hcd 0000:c1:00.3: PM: dpm_run_callback(): pci_pm_poweroff returns -16
[  105.603470] xhci_hcd 0000:c1:00.3: PM: failed to hibernate async: error -16
[  106.030627] usb usb3: root hub lost power or was reset
[  106.030636] usb usb5: root hub lost power or was reset
[  106.030650] usb usb4: root hub lost power or was reset
[  106.030651] usb usb6: root hub lost power or was reset
[  106.030675] usb usb7: root hub lost power or was reset
[  106.030688] usb usb8: root hub lost power or was reset
[  106.031247] [drm] PCIE GART of 512M enabled (table at 0x000000807FD00000).
[  106.031345] amdgpu 0000:c1:00.0: amdgpu: PSP is resuming...
[  106.039162] nvme nvme0: 16/0/0 default/read/poll queues
[  106.055540] amdgpu 0000:c1:00.0: amdgpu: reserve 0x4000000 from 0x8078000000 for PSP TMR
[  106.323488] usb 3-1: reset high-speed USB device number 2 using xhci_hcd
[  106.770535] amdgpu 0000:c1:00.0: amdgpu: RAS: optional ras ta ucode is not available
[  106.778015] amdgpu 0000:c1:00.0: amdgpu: RAP: optional rap ta ucode is not available
[  106.778024] amdgpu 0000:c1:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[  106.778033] amdgpu 0000:c1:00.0: amdgpu: SMU is resuming...
[  106.803552] amdgpu 0000:c1:00.0: amdgpu: SMU is resumed successfully!
[  106.806251] [drm] DMUB hardware initialized: version=0x08003D00
[  107.030617] amdgpu 0000:c1:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[  107.030631] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[  107.030635] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[  107.030639] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[  107.030642] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[  107.030645] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[  107.030648] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[  107.030651] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[  107.030654] amdgpu 0000:c1:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[  107.030658] amdgpu 0000:c1:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[  107.030661] amdgpu 0000:c1:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[  107.030664] amdgpu 0000:c1:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[  107.030667] amdgpu 0000:c1:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[  107.050467] [drm] ring gfx_32776.1.1 was added
[  107.052405] [drm] ring compute_32776.2.2 was added
[  107.053488] [drm] ring sdma_32776.3.3 was added
[  107.053974] [drm] ring gfx_32776.1.1 ib test pass
[  107.054451] [drm] ring compute_32776.2.2 ib test pass
[  107.055080] [drm] ring sdma_32776.3.3 ib test pass
[  107.148612] PM: hibernation: Wakeup event detected during hibernation, rolling back.
[  107.149231] PM: hibernation: Basic memory bitmaps freed
[  107.149523] OOM killer enabled.
[  107.150360] Restarting tasks ... done.
[  107.156246] PM: hibernation: hibernation exit
[  109.187334] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[  109.187338] Bluetooth: hci0: command 0x0c24 tx timeout
[  111.391344] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[  111.644919] usb 1-5: reset high-speed USB device number 7 using xhci_hcd
[  111.917817] Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20221227123429
[  113.292614] mt7921e 0000:01:00.0: ASIC revision: 79220010
[  113.375093] mt7921e 0000:01:00.0: HW/SW Version: 0x8a108a10, Build Time: 20221227123154a

[  113.390133] mt7921e 0000:01:00.0: WM Firmware Version: ____000000, Build Time: 20221227123243
[  114.205593] Bluetooth: hci0: Device setup in 2343424 usecs
[  114.205610] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
[  114.263672] Bluetooth: MGMT ver 1.23
[  114.303272] Bluetooth: hci0: Bad flag given (0x1) vs supported (0x0)
[  114.479732] mt7921e 0000:01:00.0 wlp1s0: renamed from wlan0