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 参数解决,需要进一步检查对应的网络组件。

排查流程

建议按照以下顺序排查:

  1. 查看 iwd 日志,确认是否发生 Wi-Fi 断连。
  2. 确认断连后是否能够自动重新关联 AP。
  3. 检查 DHCP 是否重新获取 IP 地址。
  4. 检查默认路由是否正常。
  5. 检查 DNS 是否正常。
  6. 如果网络层正常,再检查应用层的连接保持和重连机制。

阅读更多

蓝牙功放连接与音量异常排查记录

环境 笔记本运行 Ubuntu,桌面为 KDE Plasma Wayland,蓝牙栈为 BlueZ 加 PipeWire 1.6.2 加 WirePlumber,音频设备为一台 TVCTO 蓝牙功放,通过 A2DP 播放。 现象 三个问题同时存在。 第一,功放与电脑连接不稳定,表现为 Connection refused 111 与 Connection timed out 110 交替出现,重试若干次后可以连上。 第二,蓝牙日志中持续出现 Hands-Free Voice gateway 相关报错,A2DP 媒体流频繁断开重连。 第三,连接恢复后,系统音量调节异常。音量键只在

By bakamake

躺姿笔记本看视频的硬件与系统调优

问题背景 床头挡板与墙之间存在约三指宽的缝隙,笔记本竖直卡入其中,依靠开合角支撑。躺于床尾观看视频时,屏幕法线朝向下前方,与躺姿视线方向不一致。开合角已达机械上限,微调垫片只能改变数度,属于机构层面的约束,无法通过摆放优化解决。 一、视角问题的方案评估 方案:整机倒挂配合屏幕旋转。若开合角支持一百八十度,将键盘朝上放置,屏幕反向展开,屏幕平面朝向天花板,与躺姿视线一致。系统内将内屏旋转一百八十度即可正常显示。零硬件成本,前置条件为开合角达到一百八十度,且需接受键盘与触控板镜像。 二、KWin Wayland 下的屏幕旋转 图形界面路径为系统设置,显示与监视器,选中内屏,方向选翻转。配置由 KScreen 持久化。 命令行使用 kscreen-doctor: kscreen-doctor -o kscreen-doctor output.eDP-1.rotation.inverted kscreen-doctor

By bakamake

ros 工具怪癖

rqt 启动之后要关闭D符号debug,才能看到数据 2d pose estimate not working head frame 需要是map 才能接收2d pose estimate ,但是这部分是amcl处理数据来收敛的, ros2 wtf ,刚刚发现这个东西还挺好用的 要看到蓝→红渐变,必须订阅带 inflation layer 的 costmap topic,例如: * /local_costmap/costmap * /global_costmap/costmap /map 节点切换到 costmap 也只能看到洋红色的障碍物,因为/map里100是障碍物,以及0和-1,costmap接受的范围是0~255

By bakamake