intel网卡连接5G信号不稳定问题

结论(已定位)

病根在 5G 的 11ac/VHT 通路:AX210 固件在跑 VHT 时 assert 崩溃(Device error - SW reset),一崩就把"关联 + DHCP"这个几秒的握手窗口打断,于是在用户侧表现为"5G 连上就断网"。把 5G 限制到 11n(disable_11ac=1)后,关联成功且不再崩溃;进而用四层探针实测(裸 IP / 域名 IPv4 / ping 网关 / ping 公网),5G 与 2.4G 逐项一致,彻底恢复。

实测证据(A/B 对照,同一次开机内、每轮都先重载驱动并核对参数真的生效):

[A: enable_ini=0]     参数经核对已生效;但设备未就绪,5G 没关联上 → 0 崩溃无意义(无效样本)
[B: disable_11ac=1]   参数已生效 → nmcli rc=0 关联成功 → 40s 内 SW reset 新增 0 次 → 拿到 IP 192.168.1.120/24
历史对照(同一 5G 尝试,基线参数): 40s 内崩溃 3 次 + DHCP 超时(rc=4「IP 配置无法保留」)

连通性(A/B 同探针,各两次采样):
  2.4G 基线 404 / 200 / 网关 0.81ms / 公网 16.7ms
  5G(disable_11ac=1) 404 / 200 / 网关 1.75→1.36ms / 公网 16.6→16.7ms  ← 与基线一致

已否证的候选:
  d3cold=0(社区同型号修法):基线参数下 5G 载荷中仍崩(新增 3 次)→ 不适用

症状

  • 连 5G(cathome5G)能连上,但不久就断网;2.4G(cathome)正常。
  • 在线上时 ping 延迟异常(实测 500~1500ms)。

排除项(有证据)

嫌疑结论与证据
AP / 路由器排除:5G 已稳定使用多年,多设备正常
网卡硬件排除:同一台机器的 Win10 连 5G 正常(同一块 AX210)
管制域 / 信道 / 安全方式排除:regdom=CN 已生效;ch48=5240MHz 非 DFS;两频段同为 WPA2
profile 配置排除:无 BSSID 绑定、无手动 IP、band=auto、cloned-mac=permanent
密码排除:由 KWallet 正常提供,已走到 DHCP 阶段
固件太旧排除:实际加载 ty-a0-gf-a0-89(磁盘上最新),linux-firmware 20260916
D3cold 深度省电态已否证:社区(bazzite #5867,同卡 0x8086:0x2725、同固件 89、同 ini trigger 4)的 udev d3cold_allowed=0 修法,在本机 5G 载荷下仍崩 → 其真实场景是挂起/唤醒 D3hot→D0 失败,与「使用中密集 assert」不同

已采用的修法

boot.kernelParams = [ "cfg80211.ieee80211_regdom=CN" ];
boot.extraModprobeConfig = "options iwlwifi power_save=0 bt_coex_active=0 disable_11ax=1 disable_11ac=1";

改完 modprobe 类参数必须重载驱动(不必重启;需 root):

sudo bash -c 'nmcli radio wifi off; modprobe -r iwlmvm iwlwifi; modprobe iwlwifi; nmcli radio wifi on'
for p in power_save bt_coex_active disable_11ax disable_11ac; do echo "$p=$(cat /sys/module/iwlwifi/parameters/$p)"; done

代价:5G 退回 11n 速率(失去 11ac/80MHz)。

诊断命令

# 崩溃计数与现场(关键指标)
journalctl -b -k | grep -c "SW reset"
journalctl -b -k | grep -iE "iwlwifi.*(Device error|SW reset|ini trigger|restart completed)" | tail -20
# 当前连的是 2.4G 还是 5G(FREQ 2412~2484=2.4G,5xxx=5G)
nmcli -t -f ACTIVE,SSID,FREQ,RATE dev wifi | grep "^yes"
# DHCP 是否拿到地址 / 失败原因
nmcli con up <5G的UUID>; ip -4 -br addr show wlp3s0

社区排查与裁决

方法:拿报错原文 + 型号 + 内核/固件版本去搜,再在自己的复现条件下对齐变量验证。

社区线索相似度裁决
bazzite #5867 + 博客《Fixing Intel AX200/AX210 random driver crashes》(D3cold + udev d3cold_allowed=0)同卡 ID / 同固件 89 / 同 ini trigger 4否证:5G 载荷下仍崩
bugzilla 205109/205061(AX200 SYSASSERT 103C on heavy traffic in 802.11ac;驱动 A-MSDU/fraglist 修复)同型:只在 5GHz 11ac 崩,2.4G 无事方向可信(11ac/VHT 通路);旧修复已在树内
bugzilla 213381(AX210 固件崩)标题对口CLOSED/OBSOLETE,无可用修复
omarchy #13030(AX210 冷启动死掉,Intel IOMMU)同卡不适用:该贴自述 AMD 主机不复现,本机为 AMD

可用渠道:GitHub API、kernel bugzilla CSV 导出、Arch BBS/Wiki 均可达;自建 SearXNG 与 Reddit 在本机 403,换渠道即可。

后续可选(未做)

  • 想把 11ac 赚回来:试"保留 11ac 但强制 40MHz 带宽",若仍崩则维持现版。
  • 若将来升级内核/固件后想恢复默认:删掉 disable_11ac=1 重载即可(可逆)。
  • 其它对照手段:换内核版本(7.2.8 vs 6.18.54)只数 5G 载荷下的崩溃频率,可判断是否为驱动回归。
  • 若想恢复 11ac:试「保留 11ac 但强制 40MHz 带宽」,或逐项撤掉 power_save/bt_coex/disable_11ax——每次只动一个变量并复测 5G 载荷。