插入 USB C 集线器时,Arch Linux 无法从挂起状态唤醒

插入 USB C 集线器时,Arch Linux 无法从挂起状态唤醒

当未插入 USB C 集线器时,挂起功能可以正常工作,我可以使用笔记本电脑键盘或电源按钮唤醒。但是,当我插入集线器时,所有设备都无法唤醒笔记本电脑。笔记本电脑的内置键盘和电源按钮不起作用,即使启用连接到集线器的键盘作为唤醒设备,它仍然不起作用。

以下是有关硬件的一些信息:
笔记本电脑模式:Asus Zenbook 14 UX435EG
CPU:Intel Core i7 1165G7 第 11 代,配备 Intel Iris Xe GPU
独立 GPU:Nvidia MX450
Ram:16GB LPDDR4X

以及有关系统的一些信息:
内核:5.16.2-arch1-1
发行版:Arch Linux
初始化系统:Systemd
GPU 驱动程序:i965、nvidia(专有驱动程序)
图形服务器:Xorg
窗口管理器:Qtile
锁定:xsecurelock
引导加载程序:Grub
内核参数:loglevel=3 mem_sleep_default=deep resume=UUID=04481cca-5956-4100-a12a-207a3c942279
睡眠状态:mem
睡眠模式:deep

拔下集线器时 lsusb:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 13d3:56eb IMC Networks USB2.0 HD UVC WebCam
Bus 003 Device 003: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 004: ID 25a7:fa61 Areson Technology Corp Elecom Co., Ltd MR-K013 Multicard Reader
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

插入集线器时 lsusb:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 13d3:56eb IMC Networks USB2.0 HD UVC WebCam
Bus 003 Device 005: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 003 Device 003: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 004: ID 25a7:fa61 Areson Technology Corp Elecom Co., Ltd MR-K013 Multicard Reader
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 05e3:0616 Genesys Logic, Inc. hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

/proc/acpi/wakeup无论集线器是否插入,都是一样的:

Device  S-state   Status   Sysfs node
PEG1      S4    *disabled
PEGP      S4    *disabled
PEG2      S4    *disabled
PEGP      S4    *disabled
PEG3      S4    *disabled
PEGP      S4    *disabled
PEG0      S4    *disabled
PEGP      S4    *disabled
RP04      S4    *enabled   pci:0000:00:1c.0
PXSX      S4    *disabled  pci:0000:57:00.0
        *disabled  platform:rtsx_pci_sdmmc.0
RP05      S4    *enabled   pci:0000:00:1c.4
PXSX      S4    *disabled  pci:0000:58:00.0
PEGA      S4    *disabled
XHCI      S3    *enabled   pci:0000:00:14.0
XDCI      S4    *disabled
HDAS      S4    *disabled  pci:0000:00:1f.3
CNVW      S4    *disabled  pci:0000:00:14.3
TXHC      S3    *enabled   pci:0000:00:0d.0
TDM0      S3    *enabled   pci:0000:00:0d.2
TDM1      S3    *disabled
TRP0      S3    *enabled   pci:0000:00:07.0
PXSX      S4    *disabled
TRP1      S3    *enabled   pci:0000:00:07.1
PXSX      S4    *disabled
TRP2      S3    *disabled
PXSX      S4    *disabled
TRP3      S3    *disabled
PXSX      S4    *disabled
AWAC      S4    *enabled   platform:ACPI000E:00

我试过了linux-lts,没有什么区别。我也和nouveau司机一起尝试过。另外,我尝试了 GPU 驱动程序的早期 KMS 和晚期 KMS,但没有任何变化。我尝试禁用nvidia-suspend.service甚至删除它的符号链接。更改deeps2idle默认模式会带来另一个问题。它挂起得很好,但是当我唤醒设备时,会出现一个带有实心光标的空白屏幕。如果我从 tty 挂起,tty 就会冻结。

我在 Ubuntu live USB 上尝试使用内核 5.11,无论集线器是否插入,deep 和 s2idle 都工作正常,但是,我无法判断这是由于特定的 ubuntu 配置还是内核版本造成的。

Journalctl 日志的最后几行(深度睡眠):

Jan 27 17:34:05 mahan-lap systemd[1]: Reached target Sleep.
Jan 27 17:34:05 mahan-lap systemd[1]: Starting System Suspend...
Jan 27 17:34:05 mahan-lap wpa_supplicant[961]: p2p-dev-wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Jan 27 17:34:05 mahan-lap wpa_supplicant[961]: p2p-dev-wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Jan 27 17:34:05 mahan-lap wpa_supplicant[961]: nl80211: deinit ifname=p2p-dev-wlan0 disabled_11b_rates=0
Jan 27 17:34:05 mahan-lap wpa_supplicant[961]: wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Jan 27 17:34:05 mahan-lap systemd-sleep[13029]: Entering sleep state 'suspend'...

dmesg(journalctl -k):

an 27 17:33:40 mahan-lap kernel: audit: type=1105 audit(1643292220.625:158): pid=12605 uid=1000 auid=1000 ses=2 msg='op=PAM:session_open grantors=pam_systemd_home,pam_limits,pam_unix,pam_p>
Jan 27 17:33:53 mahan-lap kernel: audit: type=1106 audit(1643292233.112:159): pid=12605 uid=1000 auid=1000 ses=2 msg='op=PAM:session_close grantors=pam_systemd_home,pam_limits,pam_unix,pam_>
Jan 27 17:33:53 mahan-lap kernel: audit: type=1104 audit(1643292233.112:160): pid=12605 uid=1000 auid=1000 ses=2 msg='op=PAM:setcred grantors=pam_faillock,pam_permit,pam_faillock acct="root>
Jan 27 17:34:05 mahan-lap kernel: audit: type=1130 audit(1643292245.471:161): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/sys>
Jan 27 17:34:05 mahan-lap kernel: wlan0: deauthenticating from 10:27:f5:84:23:17 by local choice (Reason: 3=DEAUTH_LEAVING)

我可以通过笔记本电脑的电源 LED 来识别设备唤醒后是否仍在睡眠或冻结。深度睡眠时,LED 仍显示挂起状态,这意味着设备未上电。

相关内容