Files
LFLede/RM520N-5G/文档/RM520N-故障排查与自启链路.md
2026-08-21 18:28:33 +08:00

2.3 KiB
Raw Permalink Blame History

RM520N-GL 5G 模块故障排查与自启链路(2026-08-20 更新)

开机自启链路(已验证可靠)

/etc/modules.d/90-pcie_mhi  (pcie_mhi mhi_mbim_enabled=1)  驱动加载
        ↓
/etc/rc.d/S95modem5g        (等待 /dev/mhi_MBIM 后起 quectel-CM -s wonet)
        ↓
/etc/rc.d/S96wan5g-route    (策略路由 from 200.0/24 lookup wan5g + MASQUERADE)
  • 无需在 rc.local 里手动 bind mhi_q(那会抢设备导致 SYS_ERR
  • 飞牛断电重启后,原生流程自动恢复拨号(2026-08-20 实测:rmnet_mhi0.1 = 10.xping 223.5.5.5 ≈ 8.9ms

故障现象:5G 起不来 / 模块 SYS_ERR

症状:无 rmnet_mhi0.1、无 /dev/mhi_DUN|MBIM、只有 /dev/mhi_BHI、无 quectel-CM 进程 dmesgdev_state:SYS_ERRprobe failed error -5/-110

排查顺序(重要教训)

  1. 优先断电重启飞牛(模块真正断电复位;istoreos 内 reboot 不动 PCIe 供电,治不好 SYS_ERR
  2. 若重启无效,临时手动唤醒
    echo 0000:00:0a.0 > /sys/bus/pci/drivers/mhi_q/bind
    
    mhi_q = pcie_mhi 驱动注册名。bind 后 /dev/mhi_MBIM 出现,rmnet 接口建立)
  3. 不要手动 unbind/rmmod pcie_mhi / rescan 折腾——会把设备弄成"无驱动孤儿",反而更难恢复

已确认的死路(勿重复踩)

  • 禁用 modules.d 里的内核 mhi 驱动(mhi_pci_generic 等)无效:它们是 PCI autoloadmodalias 拉起的),禁 modules.d 拦不住
  • 手动 rmmod pcie_mhi + 重 insmod 不唤醒refcnt 仍 0

移远 pcie_mhi 驱动机制

  • /lib/modules/6.6.144/pcie_mhi.koalias 为 MHI_CORE(非标准 PCI ID 匹配)
  • insmod 后 PCI probe 函数注册为驱动名 mhi_qdmesg 里 mhi_q 0000:00:0a.0 就是 pcie_mhi 在跑)
  • 与内核 mhi_pci_generic(识别为 qcom-sdx65m,需装高通固件,实际加载失败)竞争同一设备
  • 模块正常时 pcie_mhi 首发 probe 能成功;异常时需要 bind mhi_q 手动唤醒

5G 出口行为(2026-08-20 实测)

  • IPv4 HTTP/HTTPS 国内站点:正常(baidu 200
  • 国外明文 HTTP(如 neverssl.com):可能被运营商/防火墙过滤(返回空/卡住)
  • 5G 出口 无 IPv6curl -6 返回 000
  • 主路由双 WAN failover 检测可能因此误判:若主路由用国外站点/双栈做健康检查会误报"外网不通"