跳到主要内容

快速安装 - Linux / OpenWrt

导航栏

EC25-AF 安装​

Linux / OpenWrt 平台快速使用 EC25-AF LTE Cat 4 模块(Mini PCIe 转 USB)

需要准备​

  1. 一台 Linux 设备(本文以 OpenWrt / ImmortalWrt 路由器为例)
  2. EC25-AF Mini PCIe 模块 + Mini PCIe 转 USB 2.0 底座
  3. 可上网的 Nano-SIM 卡
  4. 路由器的 WAN 口可以正常上网(用于下载驱动)
提示

如果路由器还没有联网,可以先在能上网的电脑上下载对应的 IPK/APK,再用 U 盘安装。 不同路由器架构不同,请在 OpenWrt 软件源 中查找对应版本。


接入设备​

安装 Nano-SIM 卡​

图片

EC25-AF 有两个可插 SIM 卡的位置:

卡槽位置说明实测结果
模块本体卡槽Mini PCIe 模块 PCB 上的卡座AT+CPIN? → READY,IMSI / CCID 可读,注册 CHN-CT 正常
USB 底座卡槽Fanconn Mini PCIe 转 USB 底座上的自弹式卡座AT+CPIN? → READY,同一张卡 IMSI / CCID 一致,注册及上网正常

同一时间只插一张 SIM 卡。

卡槽对应关系​

实测结论:

  • 两个物理卡槽都能正常识别 SIM 卡,读出的 IMSI 与 CCID 完全一致
  • EC25-AF 规格书中 (U)SIM 接口为 ×1,且固件不支持 AT+QUIMSLOT / AT+QCFG="simslot"(均返回 ERROR)
  • 因此 USB 底座卡槽与模块本体卡槽对应同一路 SIM(SIM1),属于两个并联/备用的物理卡座,不存在可独立切换的 SIM2 通道
注意

不要把底座卡槽当作独立的“SIM 2”。EC25-AF(D) 只有一路 USIM,两个卡座同时插卡会相互冲突,请只插一张。

接入路由器 USB 接口​

将 Mini PCIe 转 USB 底座插入路由器的 USB-A 接口。

注意:部分路由器的 USB 口供电不足,建议使用带独立供电的 USB HUB,避免模块反复重启。


配置 Dongle - 路由器部分​

连接到路由器​

ssh root@192.168.1.1

管理地址以实际路由器为准。

检查 USB 设备​

先确认系统已经识别到模块:

root@OpenWrt:~# lsusb

预期可以看到 Quectel 设备(EC25 与 EC20 共用 USB PID,显示为 EC25 LTE modem):

Bus 001 Device 002: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem

lsusb 的 iProduct 字符串可直接读出模块型号,例如本机为 EC25-AF。

如果提示 lsusb: not found,先安装 usbutils:

# OpenWrt 24.10 及更早版本
opkg update
opkg install usbutils

# ImmortalWrt 25.12 等使用 apk 的版本
apk update
apk add usbutils

安装驱动和工具​

安装 USB 串口驱动(用于 AT 指令):

# opkg
opkg update
opkg install kmod-usb-serial-option

# apk
apk update
apk add kmod-usb-serial-option

安装 ECM 网卡驱动(用于 usb0 上网):

# opkg
opkg install kmod-usb-net-cdc-ether

# apk
apk add kmod-usb-net-cdc-ether

安装串口工具:

# opkg
opkg install minicom

# apk
apk add minicom

查看串口​

root@OpenWrt:~# ls /dev/ttyUSB*

预期输出:

/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3

EC25 的 AT 指令口通常为 /dev/ttyUSB2,本机实测波特率为 115200。

注意:重新插拔模块后,AT 口可能变为 /dev/ttyUSB3(本机复测时出现过)。 不确定时对 /dev/ttyUSB0 ~ /dev/ttyUSB3 逐个发送 ATI,有 Quectel 返回的即为 AT 口。

如果 /dev/ttyUSB* 不存在,请确认 kmod-usb-serial-option 已安装,并重新插拔模块。


可选:恢复出厂复位​

注意

复位会清除模块内的历史配置(APN、USB 模式、频段锁定等)。新设备或配置混乱时建议执行;如果模块当前工作正常,可以跳过本节,直接看 设置 USB 工作模式。

1. 进入 AT 终端​

minicom -D /dev/ttyUSB2 -b 115200

发送 AT,返回 OK 表示通信正常:

AT
OK

2. 恢复出厂并重启​

AT&F
OK

AT+QPRTPARA=3
OK

AT+CFUN=1,1
OK

AT+CFUN=1,1 会让模块重启,USB 会重新枚举,串口会短暂消失,等待 30~60 秒即可。

3. 退出 minicom​

按 Ctrl + A,再按 X,选择 Yes。

提示
  • 复位后 usbnet 会恢复为模块默认值 0(QMI / RMNET),需要按下一节重新设置为 ECM 模式。
  • 复位后 APN 会被清空(AT+CGDCONT? 中 cid=1 的 APN 为空),必须重新配置,否则 usb0 能拿到 IP 但无法上网。

设置 USB 工作模式​

重新进入 AT 终端:

minicom -D /dev/ttyUSB2 -b 115200

查看当前模式​

AT+QCFG="usbnet"
+QCFG: "usbnet",0
OK

模式说明​

参数模式说明
0QMI / RMNET需要 kmod-usb-net-qmi-wwan + uqmi,EC25 出厂默认
1ECMLinux/OpenWrt 原生支持,推荐
2MBIM需要 kmod-usb-net-cdc-mbim + umbim
3RNDIS需要 kmod-usb-net-rndis

如果查询结果为 0(默认)或 3(RNDIS)而系统没有安装对应驱动,就会出现“模块已识别,但没有任何网卡”的现象。

切换为 ECM 模式​

AT+QCFG="usbnet",1
OK

AT+CFUN=1,1
OK

等待模块重启(约 30~60 秒),退出 minicom。

配置 APN​

复位后 APN 为空,需要按运营商设置(以中国电信 ctnet 为例):

AT+CGDCONT=1,"IPV4V6","ctnet"
OK

AT+CFUN=1,1

APN 由运营商提供,例如 cmnet(移动)、ctnet(电信)、3gnet(联通)。

ECM 模式下模块使用 cid=1 的 APN 自动拨号。

确认网卡​

root@OpenWrt:~# ls /sys/class/net

USB ECM 网卡通常命名为 usb0(若 eth0/eth1 未被占用,也可能命名为 eth2,以实际输出为准)。

root@OpenWrt:~# ip addr show usb0

预期输出(IP 由模块自动分配):

12: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
link/ether 72:c0:2e:c6:5f:18 brd ff:ff:ff:ff:ff:ff
inet 192.168.225.51/24 brd 192.168.225.255 scope global usb0
说明

与 BG95 不同,EC25 切换到 ECM 模式后 AT 串口仍然存在(/dev/ttyUSB0 ~ /dev/ttyUSB3), 可以一边上网一边用 minicom 查询 CSQ、CEREG 等状态。


配置上网​

方式一:命令行(UCI)​

将 WAN 口的设备改为 usb0(接口名以实际为准,本文使用 wan / wan6):

uci set network.wan.device='usb0'
uci set network.wan6.device='usb0'

uci commit network
service network reload

如果是多 WAN 环境(例如 wan1 为主线路、wan3 为蜂窝备份),建议给蜂窝接口设置更高的 metric,实现主备切换:

uci set network.wan3.device='usb0'
uci set network.wan36.device='usb0'
uci set network.wan3.metric='20'
uci set network.wan36.metric='20'

uci commit network
service network reload

metric 数值越小优先级越高。wan1 保持默认 0,蜂窝设为 20,则网线优先、蜂窝备份;拔掉网线后自动切换到蜂窝。

方式二:Web 界面​

  1. 打开 网络 → 接口 → wan → 编辑
  2. 将 设备 选择为 usb0
  3. 点击 保存 → 保存并应用
  4. 如需 IPv6,对 wan6 做同样设置

验证​

查看接口状态​

root@OpenWrt:~# ifstatus wan

确认 "up": true,并且获取到 192.168.225.x 地址。

查看路由​

root@OpenWrt:~# ip route
default via 10.0.0.1 dev eth1 src 10.0.0.43
default via 192.168.225.1 dev usb0 src 192.168.225.51 metric 20

测试模块链路​

root@OpenWrt:~# ping -c 3 192.168.225.1

能通说明 路由器 ↔ 模块的 ECM 链路正常。

指定网卡测试(不拔网线也能验证蜂窝)​

root@OpenWrt:~# ping -I usb0 -c 3 223.5.5.5
64 bytes from 223.5.5.5: seq=0 ttl=50 time=56.7 ms
64 bytes from 223.5.5.5: seq=1 ttl=50 time=32.9 ms
64 bytes from 223.5.5.5: seq=2 ttl=50 time=30.2 ms

IPv6 测试​

多 WAN 场景下 IPv6 默认路由带有源地址前缀,需要指定源地址测试:

root@OpenWrt:~# ip -6 addr show usb0
root@OpenWrt:~# ping -6 -I <usb0 的 IPv6 地址> -c 3 2400:3200::1

本机实测结论

在 ImmortalWrt 25.12.2(MT7981,内核 6.12)上实测:

  • 模块型号 EC25-AF(D),固件 EC25AFFDR07A08M4G_01.002.01.002
  • SIM 插在模块本体卡槽或 USB 底座卡槽均可正常识别:+CPIN: READY,IMSI / CCID 一致,成功注册 CHN-CT
  • 两个卡座对应同一路 USIM(SIM1),不存在独立的 SIM2
  • 恢复出厂后 usbnet 默认值为 0,切换为 1(ECM)后生成 usb0
  • ECM 模式下 /dev/ttyUSB0 ~ /dev/ttyUSB3 仍然可用(AT 口可能为 ttyUSB2 或 ttyUSB3)
  • 恢复出厂后 APN 为空,配置 ctnet 并重启后,IPv4 与 IPv6 均可正常上网

常见问题​

现象原因处理
lsusb 无 2c7c:0125USB 未识别/供电不足更换 USB 口或使用带供电 HUB
有 lsusb,无 /dev/ttyUSB*未安装串口驱动安装 kmod-usb-serial-option
无 usb0usbnet=0/3 但未装 QMI/RNDIS 驱动切换为 ECM(usbnet=1)或安装对应驱动
usb0 无 IP未运行 DHCP 客户端确认接口 proto 为 dhcp 并重新加载网络
usb0 有 IP 但无法上网复位后 APN 为空AT+CGDCONT=1,"IPV4V6","<APN>" 后重启模块
AT 无返回串口或波特率不对确认 /dev/ttyUSB2、波特率 115200(可再试 9600)
复位后长时间 +CSQ: 99,99模块正在重新搜网等待 1~2 分钟,用 AT+QENG="servingcell" 确认已驻留小区
两个卡座同时插卡后异常两个卡座共用一路 USIM只插一张卡,见 卡槽对应关系

更多 AT 指令请参考 设备调试。