双 4G 模块检查与联网
OmniGate-T153 提供两个 4G 模块位和两个 Nano SIM 卡座。当前固件已经加入常见 USB 蜂窝网卡 驱动、ModemManager、QMI/MBIM 客户端、PPP 和 USB mode-switch 工具;是否能真正联网仍取决于实际模块、 SIM、天线、运营商频段和 APN。
| 检查层级 | 命令 | 通过条件 |
|---|---|---|
| USB 枚举 | lsusb | 出现模块 VID:PID |
| 协议节点 | ls /dev/ttyUSB* /dev/cdc-wdm* | 出现 AT、QMI 或 MBIM 节点 |
| Modem 识别 | mmcli -L | 出现 Modem 对象 |
| 注册和 SIM | mmcli -m <N> | SIM 可用,已注册运营商 |
| 数据连接 | ip -br addr 和 ping -I | WWAN 接口有地址并能通信 |
当前测试板没有安装 4G 模块,所以能确认工具和驱动配置存在,但不能据此宣称某个具体模块、 双卡并发或运营商网络已经通过验证。安装模块后必须完成本页的枚举、注册和数据连接测试。
1. 断电安装
- 完全关闭开发板并断开电源;
- 核对模块接口、固定孔位和供电要求;
- 按卡座标识插入 Nano SIM,不要根据相似板卡猜方向;
- 先连接匹配频段的主天线,再给模块上电;
- 检查模块没有歪插、反插或让金属部件短路。
4G 发射瞬间电流较大。出现随机重启、USB 反复断连时,应优先检查 5 V 输入、电源转换器、模块 供电纹波和天线,而不是只修改拨号参数。
2. 未装模块时的软件自检
在 开发板 Linux Shell执行:
for tool in ModemManager mmcli qmicli mbimcli pppd usb_modeswitch; do
command -v "$tool"
done
ps | grep ModemManager
mmcli -L
工具路径都存在、ModemManager 正在运行,而 mmcli -L 输出:
No modems were found
在没有安装模块时是正常结果。它说明没有 USB Modem 被枚举,不是 ModemManager 本身报错。
本次 ADB 软件基线
本次实板仍然没有安装 4G 模块,因此记录只证明用户空间工具和服务已准备:
# ls -l /usr/bin/mmcli /usr/bin/qmicli /usr/bin/mbimcli
-rwxr-xr-x 1 root root 193888 /usr/bin/mmcli
-rwxr-xr-x 1 root root 442208 /usr/bin/qmicli
-rwxr-xr-x 1 root root 89640 /usr/bin/mbimcli
# ls -l /usr/sbin/ModemManager /usr/sbin/pppd /usr/sbin/usb_modeswitch
-rwxr-xr-x 1 root root 1574504 /usr/sbin/ModemManager
-rwxr-xr-x 1 root root 312756 /usr/sbin/pppd
-rwxr-xr-x 1 root root 51312 /usr/sbin/usb_modeswitch
# ps | grep ModemManager
279 root /usr/sbin/ModemManager
# mmcli -L
No modems were found
# ls /dev/ttyUSB* /dev/cdc-wdm*
ls: /dev/ttyUSB*: No such file or directory
ls: /dev/cdc-wdm*: No such file or directory
注意当前固件提供的独立 QMI 工具是 qmicli / qmi-network,不是 uqmi。无模块时
No modems were found 与设备节点不存在相互印证,属于正常空载状态。
3. 检查 USB 枚举
安装模块并上电后先不要拨号。在 开发板 Linux Shell运行:
dmesg -w
另一个终端执行:
lsusb
ls -l /dev/ttyUSB* /dev/cdc-wdm* 2>/dev/null
ip -br link
根据模块工作模式,可能出现:
| 协议/模式 | 常见设备 |
|---|---|
| AT/PPP | /dev/ttyUSB0~ttyUSB* |
| QMI | /dev/cdc-wdm0 + wwan0 |
| MBIM | /dev/cdc-wdm0 + wwan0 |
| ECM/NCM/RNDIS | usb0、wwan0 或类似以太网接口 |
节点名称和编号不是固定的。双模块同时安装时,ttyUSB0 不一定永远属于 4G-1;应通过 USB 拓扑、
模块 IMEI 或 ModemManager 主端口建立映射。
若 lsusb 只有根 Hub 和板载 CH334F Hub,没有新设备,问题仍在模块供电、USB 连接或模块开机
条件,尚未进入 APN/拨号阶段。
4. 让 ModemManager 识别模块
/etc/init.d/S44modem-manager restart
sleep 3
mmcli -L
识别后会出现类似:
/org/freedesktop/ModemManager1/Modem/0
查看第一个 Modem 的详细信息:
mmcli -m 0
重点检查 state、primary port、SIM 状态、运营商、signal quality 和设备标识。索引 0 每次启动
都可能变化,脚本不要永久写死索引,应先用 mmcli -L 枚举。
SIM 设置了 PIN 时先解锁,命令中的 PIN 应换成实际值,并避免出现在共享终端历史中:
mmcli -i 0 --pin=1234
5. 使用 APN 建立连接
先向运营商确认 APN、用户名、密码和 IP 类型。大多数物联网卡不能直接套用普通手机卡 APN。
以下以 Modem 0、仅需 APN 的 IPv4 网络为例:
mmcli -m 0 --enable
mmcli -m 0 --simple-connect='apn=<YOUR_APN>,ip-type=ipv4'
mmcli -m 0
ip -br addr
ip route
把 <YOUR_APN> 替换为运营商提供的值。建立连接后,先找出新增网络接口,再指定该接口测试:
ping -I <WWAN_INTERFACE> -c 4 1.1.1.1
测试完成后断开:
mmcli -m 0 --simple-disconnect
双模块应先逐个单独验证,再同时安装。并发时必须分别记录 Modem 路径、IMEI、SIM、数据接口、 APN、默认路由和 DNS,避免两个连接互相覆盖默认路由。
6. 4G 指示灯怎么理解
原理图中的 4G_LED1、4G_LED2 来自两个模块的 LED_WWAN# 信号,经板上 LED 电路显示。它们
通常由模块固件控制,用于表示开机、搜网、注册或数据活动,但闪烁定义由具体模块决定,不能统一
解释为信号强度。请查所装模块的硬件设计手册。
另外三个由 ledctl 控制的 LED1、LED2、LED3 是板级状态灯,与 4G 模块的 WWAN 指示信号
不是同一组。控制方法见声音与状态灯。
常见故障分层
| 现象 | 优先检查 |
|---|---|
lsusb 无新设备 | 模块供电、开机脚、USB Hub 路径、模块插接 |
| 只有 USB 存储设备 | usb_modeswitch 规则和模块当前 USB composition |
有 ttyUSB*,mmcli -L 仍为空 | ModemManager 日志、端口驱动、模块插件支持 |
| Modem 存在但 SIM missing | SIM 方向、卡座检测、SIM 供电和接触 |
| 能识别 SIM 但不能注册 | 天线、频段、运营商覆盖、SIM 状态 |
| 已注册但拨号失败 | APN、认证、IP 类型和套餐权限 |
| 已连接但不能上网 | 接口地址、默认路由、DNS、双网口路由冲突 |
| 高负载时 USB 断连/重启 | 4G 峰值电流和整机供电完整性 |
收集日志:
mmcli -L
mmcli -m 0
lsusb -t
ip -br link
ip -br addr
ip route
dmesg | tail -n 200
测试通过标准
- 两个模块分别安装时都能在
lsusb和mmcli -L中识别; - SIM、运营商和信号状态正确;
- 使用实际 APN 建立数据连接,指定 WWAN 接口可以访问网络;
- 双模块同时工作时身份映射明确,路由符合项目设计;
- 长时间上传/下载时没有 USB 断连、掉线或系统复位。