前言

本帖记录在 栗子派昇腾310B开发板套件Atlas 200I DK A2 开发板上完成 5G 模块识别与联网测试的全过程。开发板搭载 NPU Ascend 310B4,系统为 Ubuntu 22.04 LTS (aarch64),运行内核 5.10.0+,Ascend 软件版本 23.0.rc3。

5G 模块型号为 Quectel RM500U-CNV,USB ID 为 2c7c:0900,通过 USB 接口与开发板连接,系统内置 cdc_ncm 驱动将其呈现为 usb1 网络接口。

验收标准:模块可识别,usb1 获得 IPv4 地址,指定 usb1 通信无丢包。


一、测试前准备

1.1 硬件连接与安全检查

1. 开发板断电后,插入已开通数据业务的 SIM 卡,将主天线和辅助天线连接至 RM500U-CNV,并通过 USB 数据接口连接开发板。

2. 检查板面无金属异物、液体和松动线材后,使用 12V 电源适配器给开发板上电。

3. 通过串口、SSH 或本地终端登录板端,确认当前用户为 root。

警告:插拔 5G 模块或天线前必须断电。

1.2 系统初始状态记录

首先执行以下命令,将系统版本、网络设备、USB 外设一次性记录下来,建立测试基线:

echo "========== 系统信息 =========="
uname -a
cat /etc/os-release

echo "========== 网络接口 =========="
ip -br addr

echo "========== 默认路由 =========="
ip route

echo "========== USB设备 =========="
lsusb

echo "========== 硬盘设备 =========="
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL

重点关注:

uname -a:运行内核应为 5.10.0+,架构为 aarch64

ip -br addr:关注 usb1 的状态

ip route:确认默认路由最终应指向 5G 上行 usb1


二、5G模块测试

2.1 识别5G模块

5G 测试不需要重新安装驱动。上电后先检查 USB 枚举,确认系统能够看到 RM500U-CNV:

lsusb | grep -Ei '2c7c|Quectel|RM500'
dmesg | grep -Ei '2c7c|RM500|ttyUSB|cdc_ncm|cdc_mbim' | tail -n 80

本次实测能够看到 ID 2c7c:0900 Quectel Wireless Solutions Co., Ltd. RM500U-CNV,同时内核日志显示 option 驱动创建 ttyUSB 设备,cdc_ncm 将 usb1 注册为网络接口,说明 USB 枚举和系统内置驱动均正常。

2.2 确认驱动与网卡

ip -br link show usb1
ethtool -i usb1
lsmod | grep -E 'cdc_ncm|cdc_mbim|option'

判定标准: usb1 应为 UP;ethtool -i usb1 应显示 driver: cdc_ncm。cdc_ncm 是 USB CDC-NCM 网络驱动,负责将 5G 模块呈现为 Linux 网卡。

2.3 获取地址与检查路由

若 usb1 已存在但没有 IPv4 地址,先将接口置为 UP,再通过 DHCP 获取模块分配的地址:

ip link set usb1 up
ip -4 addr show usb1

# 仅在没有IPv4地址时执行
dhclient -v usb1

ip -4 addr show usb1
ip route
ip route get 8.8.8.8

本次实测中 usb1 获得 10.51.35.36/24,路由表包含 default scope link metric 10,并存在 10.51.35.0/24 直连路由,说明模块已为开发板分配地址。ip route get 8.8.8.8 用于确认访问公网时实际使用的设备和源地址。

2.4 网络连通性测试

先测试公网 IP,再测试域名。公网 IP 可通表示链路和路由基本正常;域名可通还说明 DNS 解析正常。指定 -I usb1 可以避免测试流量误走 eth1 或其他网卡。

ping -I usb1 -c 4 8.8.8.8
ping -I usb1 -c 4  w*w*w.a.shi*fen.c*o*m(删除网址中的*号进行测试)

# 同时检查DNS配置
cat /etc/resolv.conf

本次对 8.8.8.8 和任意网址如百度等均完成 4 次应答,丢包率为 0%。域名能够解析为 153.3.238.28,证明 5G 上行、路由和 DNS 均可用。


三、5G测试常见问题与处理

故障现象

原因分析

处理方法

lsusb 看不到 2c7c:0900

模块未供电、USB 线仅支持充电、接口或转接板接触不良

断电检查 SIM 卡、天线、转接板与数据线;重新上电后查看 dmesg

有 usb1 但没有 IPv4 地址

接口未启用、模块 DHCP 未完成或拨号状态异常

ip link set usb1 up;执行 dhclient -v usb1;必要时检查 ttyUSB AT 状态

能 ping 公网 IP 但域名失败

DNS 配置为空或不可用

检查 /etc/resolv.conf,配置可用 DNS 后重新测试

usb1 有地址但流量走 eth1

eth1 默认路由优先级更高

使用 ip route get 8.8.8.8 确认出口,删除错误默认路由或提高 eth1 的 metric

重启后 5G 不能自动联网

DHCP 或路由设置未持久化

将接口启动、DHCP 和路由检查写入 systemd 服务,并设置 enable

防止有线网口抢占默认路由

# 临时纠正默认出口示例
ip route del default dev eth1 2>/dev/null || true
ip route replace default dev usb1 metric 10
ip route get 8.8.8.8

四、验收结果

测试项

实际结果

判定

5G USB 识别

2c7c:0900 Quectel RM500U-CNV

通过

5G 网卡与驱动

usb1 UP,driver=cdc_ncm

通过

5G 地址与路由

usb1:10.51.35.36/24;默认路由指向 usb1

通过

5G 连通性

8.8.8.8 与 均 4/4 应答,0% 丢包

通过

总结

RM500U-CNV 能够通过系统已有 cdc_ncm 驱动创建 usb1 并完成公网访问,5G 模块识别、地址获取、路由和连通性测试均通过。整体流程总结为:确认 USB 枚举 → 确认 cdc_ncm 驱动 → DHCP 获取地址 → 检查路由出口 → 指定 usb1 测试连通性

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐