RDKX5 wifi断连问题

结论

是电源供电不足或 USB Hub 供电不稳的问题,概率极高。

从你的日志看,usb_to_msg_1054n: tx msg fc retry fail 反复出现,这是典型的 USB 通信超时/重试失败,通常由以下原因导致:


:magnifying_glass_tilted_left: 问题根因分析

1. USB Hub 供电不足

  • 你挂载了 2 个 USB 设备
  • 外部供电是 5V5A,但这是给开发板的,不是给 USB Hub 的
  • 如果 USB Hub 是无源 Hub(没有独立供电),所有 USB 设备的电流都要从开发板的 USB 口取电
  • RDK X5 的 USB 口单口供电能力有限(通常 ≤1A),带不动多个高功耗设备

2. WiFi 模块通过 USB 连接

  • RDK X5 的 WiFi 模块通常是 USB 接口(如 RTL8822BU、AX972 等)
  • 当 USB Hub 供电不稳时,WiFi 模块会掉电或通信超时,导致断连
  • 必须重启才能恢复,说明 USB 控制器已经进入错误状态,需要重新枚举

3. 日志特征

usb_to_msg_1054n: tx msg fc retry fail
  • 这是 USB 消息发送失败,重试多次后放弃
  • 通常伴随 device descriptor read/64, error -110device not accepting address 等错误

:white_check_mark: 解决方案

方案一:给 USB Hub 独立供电(推荐)

# 如果你的 USB Hub 有外接电源接口,务必接上
# 确保 Hub 的供电 ≥5V2A(根据挂载设备数量调整)

方案二:减少 USB 设备数量

# 暂时拔掉一个 USB 设备,只保留 WiFi
# 观察是否还会断连

方案三:更换为有源 USB Hub

  • 购买带独立供电的 USB 3.0 Hub
  • 推荐品牌:Anker、UGREEN、ORICO(有源版本)

方案四:检查 WiFi 模块供电

# 查看 WiFi 模块的电流需求
# 如果 ≥500mA,建议直接插在开发板原生 USB 口,不要经过 Hub

方案五:禁用 USB 自动节能(临时缓解)

# 临时禁用 USB LPM
echo 1 > /sys/module/usbcore/parameters/lpm_disable

# 永久生效:编辑 /boot/extlinux/extlinux.conf
# 在 APPEND 行添加:usbcore.lpm_disable=1

排查步骤

  1. 测量 USB Hub 输出电压

    # 用万用表测量 Hub 的 5V 输出
    # 如果 <4.75V,说明供电不足
    
  2. 查看 USB 设备电流

    # 使用 USB 电流表或带电流显示的充电头
    # 观察总电流是否超过 Hub 或开发板的供电能力
    
  3. 最小化测试

    # 只接 WiFi,不接其他 USB 设备
    # 运行一段时间,观察是否断连
    
  4. 查看完整 dmesg 日志

    dmesg -w
    # 在断连时查看是否有更多 USB 错误信息
    

参考案例

社区已有类似问题:


:light_bulb: 建议

  1. 优先给 USB Hub 独立供电
  2. WiFi 模块尽量直接插开发板原生 USB 口
  3. 如果必须用 Hub,选择有源 Hub(带电源适配器)
  4. 5V5A 是给开发板的,不是给 USB 设备的

如果以上方法仍无效,请提供:

  • USB Hub 型号(是否有独立供电?)
  • 挂载的两个 USB 设备具体是什么?
  • 完整的 dmesg 日志(断连前后的)

可以进一步帮你分析!