# 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.x,ping 223.5.5.5 ≈ 8.9ms) ## 故障现象:5G 起不来 / 模块 SYS_ERR **症状**:无 rmnet_mhi0.1、无 /dev/mhi_DUN|MBIM、只有 /dev/mhi_BHI、无 quectel-CM 进程 **dmesg**:`dev_state:SYS_ERR`、`probe 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 autoload(modalias 拉起的),禁 modules.d 拦不住 - 手动 rmmod pcie_mhi + 重 insmod **不唤醒**(refcnt 仍 0) ## 移远 pcie_mhi 驱动机制 - `/lib/modules/6.6.144/pcie_mhi.ko`,alias 为 `MHI_CORE`(非标准 PCI ID 匹配) - insmod 后 PCI probe 函数注册为驱动名 **mhi_q**(dmesg 里 `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 出口 **无 IPv6**(curl -6 返回 000) - 主路由双 WAN failover 检测可能因此误判:若主路由用国外站点/双栈做健康检查会误报"外网不通"