gpd winmax2 fedora42 睡眠秒喚醒問題
最近入了gpd win max2 2025 8840u款學(xué)習(xí)機(jī)(bushi),到手就刷了fedora 42 和野蠻學(xué)習(xí)系統(tǒng)(bushi),fedora42下遇到睡眠秒喚醒的問題。這個(gè)問題在我之前的8845hs處理器的筆記本上面也有,但情況跟gpd這個(gè)還不一樣,接下來是deepseek協(xié)助排查的解決步驟。
觸發(fā)一次異常喚醒之后,執(zhí)行
cat /sys/power/pm_wakeup_irq
發(fā)現(xiàn)輸出為7,說明中斷信號源為7,那么執(zhí)行如下指令來定位設(shè)備
grep -E "(^[ ]*7:|IR-IO-APIC)" /proc/interrupts
輸出顯示7號與 pinctrl_amd 相關(guān),然后deepseek告訴我,我可以通過執(zhí)行
find /sys -name "wakeup" -exec grep -l "enabled" {} \; 2>/dev/null```shell
來確定系統(tǒng)中所有的喚醒源,這個(gè)命令會列出系統(tǒng)中所有當(dāng)前啟用的喚醒設(shè)備,包括:
- USB 控制器
- PCI 設(shè)備
- I2C 設(shè)備(包括觸摸板、傳感器等)
- ACPI 設(shè)備
- GPIO 控制器
觀察輸出發(fā)現(xiàn)
/sys/devices/platform/AMDI0010:00/i2c-0/i2c-PNP0C50:00/power/wakeup
/sys/devices/platform/AMDI0010:01/i2c-1/i2c-GXTP7385:00/power/wakeup
這些設(shè)備和amd相關(guān)
猜測是i2c-PNP0C50:00引起了中斷,那么寫一個(gè)systemd服務(wù),開機(jī)禁用即可
[Unit]
Description=Disable AMD I2C wakeup source
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c "echo disabled > /sys/devices/platform/AMDI0010:00/i2c-0/i2c-PNP0C50:00/power/wakeup"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
實(shí)測發(fā)現(xiàn)睡眠正常了:)
后續(xù)deepseek對設(shè)備功能進(jìn)行了推斷:
為什么 i2c-PNP0C50:00 會導(dǎo)致虛假喚醒?
- PNP0C50 ACPI ID 通常對應(yīng)環(huán)境光傳感器
- 環(huán)境光傳感器會持續(xù)監(jiān)測光線變化
- 在睡眠狀態(tài)下,光線微小變化可能被誤判為喚醒事件
- I2C 總線上的噪聲也可能觸發(fā)中斷

浙公網(wǎng)安備 33010602011771號