跳到主要内容

双 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 对象
注册和 SIMmmcli -m <N>SIM 可用,已注册运营商
数据连接ip -br addrping -IWWAN 接口有地址并能通信
本页的软件状态已验证,模块尚未实板验证

当前测试板没有安装 4G 模块,所以能确认工具和驱动配置存在,但不能据此宣称某个具体模块、 双卡并发或运营商网络已经通过验证。安装模块后必须完成本页的枚举、注册和数据连接测试。

1. 断电安装

  1. 完全关闭开发板并断开电源;
  2. 核对模块接口、固定孔位和供电要求;
  3. 按卡座标识插入 Nano SIM,不要根据相似板卡猜方向;
  4. 先连接匹配频段的主天线,再给模块上电;
  5. 检查模块没有歪插、反插或让金属部件短路。

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/ttyUSB0ttyUSB*
QMI/dev/cdc-wdm0 + wwan0
MBIM/dev/cdc-wdm0 + wwan0
ECM/NCM/RNDISusb0wwan0 或类似以太网接口

节点名称和编号不是固定的。双模块同时安装时,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

重点检查 stateprimary 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_LED14G_LED2 来自两个模块的 LED_WWAN# 信号,经板上 LED 电路显示。它们 通常由模块固件控制,用于表示开机、搜网、注册或数据活动,但闪烁定义由具体模块决定,不能统一 解释为信号强度。请查所装模块的硬件设计手册。

另外三个由 ledctl 控制的 LED1LED2LED3 是板级状态灯,与 4G 模块的 WWAN 指示信号 不是同一组。控制方法见声音与状态灯

常见故障分层

现象优先检查
lsusb 无新设备模块供电、开机脚、USB Hub 路径、模块插接
只有 USB 存储设备usb_modeswitch 规则和模块当前 USB composition
ttyUSB*mmcli -L 仍为空ModemManager 日志、端口驱动、模块插件支持
Modem 存在但 SIM missingSIM 方向、卡座检测、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

测试通过标准

  • 两个模块分别安装时都能在 lsusbmmcli -L 中识别;
  • SIM、运营商和信号状态正确;
  • 使用实际 APN 建立数据连接,指定 WWAN 接口可以访问网络;
  • 双模块同时工作时身份映射明确,路由符合项目设计;
  • 长时间上传/下载时没有 USB 断连、掉线或系统复位。