When the UPS is connected to USB (control) the system doesn't suspend completely. Hard drives spin down but fans keep running. $ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. Hub Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. Hub Bus 001 Device 006: ID 046a:0011 CHERRY G83 (RS 6000) Keyboard Bus 001 Device 007: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1 Bus 001 Device 009: ID 0463:ffff MGE UPS Systems UPS <---- Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub relevant journal parts: Apr 10 17:43:22 singapore kernel: xhci_hcd 0000:00:14.0: PM: pci_pm_suspend(): hcd_pci_suspend [usbcore] returns -16 Apr 10 17:43:22 singapore kernel: xhci_hcd 0000:00:14.0: PM: dpm_run_callback(): pci_pm_suspend returns -16 Apr 10 17:43:22 singapore kernel: xhci_hcd 0000:00:14.0: PM: failed to suspend async: error -16 Apr 10 17:44:08 singapore kernel: amdgpu 0000:19:00.0: amdgpu: psp gfx command UNLOAD_TA(0x2) failed and response status is (0x117) Apr 10 17:44:08 singapore kernel: PM: Some devices failed to suspend, or early wake event detected
Control: tag -1 + moreinfo Hmm, -16 = EBUSY. Does plugging in the UPS for the first time after a new boot load a new driver? (Try: lsmod > modules-pre # plug in UPS lsmod > modules-post diff modules-pre modules-post ) If new modules are loaded, does `rmmod`ing them before suspend make the machine suspend fine again? Best regards Uwe
# diff lsmod_pre lsmod_post 107c107 < usbhid 77824 0 --- 153c153 < usbcore 409600 4 xhci_hcd,usbhid,rtsx_usb,xhci_pci --- I think nothing new is loaded. Btw thanks for your work! Am Mi., 15. Apr. 2026 um 18:28 Uhr schrieb Uwe Kleine-König < ukleinek@debian.org>:
typical usage of this protocol: human input. Things like "key is pressed" or just "something is communicating to the device". Now it seems that your UPS triggers one of those cases. Sadly it is not possible to access this state from userspace, so no quick check for it. Also there are no existing quirks that could help. What you could try: - A current kernel, to see if it is still the same kind of broken - If stopping the tool that communicates with the device helps Bastian