iwd 提高 Wi-Fi 断连容错能力
iwd(iNet wireless daemon)负责 Linux 系统中的 Wi-Fi 连接管理。对于偶发断连、连接恢复较慢或漫游异常等问题,可以通过调整扫描、漫游和网络配置相关选项提高连接的容错能力。
配置
配置文件:
/etc/iwd/main.conf
示例配置:
[General]
EnableNetworkConfiguration=true
[Scan]
DisablePeriodicScan=false
[Network]
EnableRoaming=true
修改配置后重启 iwd:
sudo systemctl restart iwd
日志排查
发生断连时,可以实时查看 iwd 日志:
journalctl -u iwd -f
重点关注以下错误:
4-Way Handshake failed
Authentication failed
Deauthentication
DHCP timeout
No network configuration
Reason code
区分 Wi-Fi 与 IP 层问题
iwd 主要负责 Wi-Fi 链路管理。Wi-Fi 重新连接成功并不意味着 IP 网络已经恢复。
典型网络链路如下:
Wi-Fi 链路
↓
iwd
↓
IP 配置 / DHCP
↓
路由 / DNS
↓
应用层连接
例如:
- Wi-Fi 已重新关联,但 DHCP 未成功;
- IP 地址存在,但默认路由丢失;
- 路由正常,但 DNS 无法解析;
- 网络正常,但应用层连接未自动恢复。
这些情况不能单纯通过调整 iwd 参数解决,需要进一步检查对应的网络组件。
排查流程
建议按照以下顺序排查:
- 查看
iwd日志,确认是否发生 Wi-Fi 断连。 - 确认断连后是否能够自动重新关联 AP。
- 检查 DHCP 是否重新获取 IP 地址。
- 检查默认路由是否正常。
- 检查 DNS 是否正常。
- 如果网络层正常,再检查应用层的连接保持和重连机制。