惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Jina AI
Jina AI
爱范儿
爱范儿
博客园 - 【当耐特】
雷峰网
雷峰网
S
SegmentFault 最新的问题
美团技术团队
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
J
Java Code Geeks

GoodBoyboy 's Blog|惬意小屋-点滴记忆

嘉立创牛逼,免费的总裁卡到了 时间过得蛮快的 撒谎撒多了,别把自己都骗了 Fedora LUKS2设置TPM2+PIN与FIDO2解锁 新的博客评论系统正式启动 博客评论数据已全部完成迁移 评论系统即将更换 在WSL中使用Canokey智能卡进行Git Commit签名 博客评论系统的一些设计 打算做个博客评论系统 开了一个游泳馆的月卡 今天游泳累炸了 回家吵的第一场架 新设计了一个Astro主题 Cap,一个基于PoW的自托管验证码系统 公益服务迁移通知 一种基于argon2id算法与shamir算法的内存PoW(工作量证明)解密游戏 记忆里的屋子(一) Ubuntu 26.04 Btrfs+LUKS2安装 主域名服务不稳定通知 腾讯元宝客户端实习二面凉经 腾讯元宝客户端实习一面面经 对越来越多AI博文的看法 GoodBoyboy Blog、Talk联动成功 只有失去了才会懂得珍惜,但幸好我还没有失去 滴滴Android客户端一面凉经 GoodBoyboy 's Talk上线! Easy Drop——一个基于Gin开发的高性能、轻量级说说平台 Perfect Pic —— 一个基于 Gin 开发的高性能、轻量级图床 尘封了八年的祝福
解决天选三AX210在fedora 44/Ubuntu 26.04上睡眠后恢复失败的...
GoodBoyboy · 2026-08-25 · via GoodBoyboy 's Blog|惬意小屋-点滴记忆

起因

在Ubuntu26.04与Fedora 44上,开当PC进入睡眠后重新唤醒,开启WiFi的情况下会直接卡死系统;关闭WiFi的情况下不会卡死系统,但是WiFi无法进行正常工作。

虽然说将睡眠模式切换至deep模式可以解决,但是不知道是主板问题还是其他问题,唤醒10s左右PC会直接掉电重启

之后就和ChatGPT一起排查问题

排查

关闭WiFi的情况下睡眠后唤醒,nmcli radio wifi on会出现超时的情况

即使采用modprobe -r iwlmvm iwlwifi等进行重新加载驱动,NetworkManager也无法管理WiFi

通过lspci可以看到AX210仍存在于PCIe总线上,但是缺少Kernel driver in use: iwlwifi

只有

1
2
0000:2e:00.0 Intel AX210
Kernel modules: iwlwifi

也就是说PCIe还能发现这块硬件,但是iwlwifi无法进行绑定

在内核日志中可以看到:

1
2
3
pcieport 0000:00:1c.0: retraining failed
iwlwifi 0000:2e:00.0: HW_REV=0xFFFFFFFF, PCI issues?
iwlwifi 0000:2e:00.0: probe with driver iwlwifi failed with error -5

正常情况下驱动应该能读取AX210的硬件寄存器,但恢复后得到0xFFFFFFFF,意味着PCIe配置/寄存器实际上已经无法正常访问

整个流程如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
AX210 正常工作

s2idle

AX210 / 上游 PCIe Root Port 进入较深的低功耗状态

系统唤醒

PCIe link retrain 失败

AX210 没有正确恢复

读取 HW_REV 得到 0xFFFFFFFF

iwlwifi probe 失败

Wi-Fi 接口消失

然后这个恢复异常会把整个suspend/resume流程拖死,导致系统卡死

解决方案

ChatGPT给出的方案下面方案,实测有效解决

禁止这条PCIe链路进入D3cold/runtime suspend

重启PC进入正常未睡眠过的环境

确认WiFi状态:

1
lspci -Dnnk -s 0000:2e:00.0

应该会有以下输出:

1
2
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi

接着查看d3cold设置

1
cat /sys/bus/pci/devices/0000:2e:00.0/d3cold_allowed

如果输出1的话则

1
echo 0 | sudo tee /sys/bus/pci/devices/0000:2e:00.0/d3cold_allowed

同时禁用runtime PM

1
echo on | sudo tee /sys/bus/pci/devices/0000:2e:00.0/power/control

确认设置状态:

1
2
cat /sys/bus/pci/devices/0000:2e:00.0/d3cold_allowed
cat /sys/bus/pci/devices/0000:2e:00.0/power/control

应该会输出0on

此次更改为临时修改,重启后会恢复

然后检查00:1c.0是否是AX210的上级Root Port

执行

1
lspci -t

如果是

1
-[0000:00]-+-1c.0-[2e]----00.0

那么也临时调整

1
2
echo 0 | sudo tee /sys/bus/pci/devices/0000:00:1c.0/d3cold_allowed
echo on | sudo tee /sys/bus/pci/devices/0000:00:1c.0/power/control

接着进行测试

1
2
nmcli radio wifi off
systemctl suspend

唤醒以后查看设备状态

1
lspci -Dnnk -s 0000:2e:00.0

应该会看到Kernel driver in use: iwlwifi

开启WiFi测试

1
2
nmcli radio wifi on
nmcli device

这时候应该会看到无线网卡设备

最后我们将设置持久化

1
sudo nano /etc/systemd/system/ax210-pcie-power-workaround.service

写入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=AX210 PCIe suspend workaround
After=systemd-udev-settle.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c 'echo 0 > /sys/bus/pci/devices/0000:2e:00.0/d3cold_allowed'
ExecStart=/bin/sh -c 'echo on > /sys/bus/pci/devices/0000:2e:00.0/power/control'
ExecStart=/bin/sh -c 'echo 0 > /sys/bus/pci/devices/0000:00:1c.0/d3cold_allowed'
ExecStart=/bin/sh -c 'echo on > /sys/bus/pci/devices/0000:00:1c.0/power/control'

[Install]
WantedBy=multi-user.target

执行

1
2
sudo systemctl daemon-reload
sudo systemctl enable ax210-pcie-power-workaround.service

可以手动运行一次service

1
sudo systemctl start ax210-pcie-power-workaround.service

进行检查

1
2
3
4
5
cat /sys/bus/pci/devices/0000:2e:00.0/d3cold_allowed
cat /sys/bus/pci/devices/0000:2e:00.0/power/control

cat /sys/bus/pci/devices/0000:00:1c.0/d3cold_allowed
cat /sys/bus/pci/devices/0000:00:1c.0/power/control

应该是0on0on

重启一次再检查一次,如果仍然是这个输出则持久化成功

cardcode

Invitation

created:09/04/2015

Welcome to MyBlog

Use this card to join MyBlog and participate in a pleasant discussion together .

Welcome to GoodBoyboy 's Blog,wish you a nice day .

赞助