3. 在OpenWrt系统使用4G模块

  • 平台:野火EBF6ULL开发板

  • 系统:野火OpenWrt系统

  • 需要使用野火4G模块

3.1. 野火4G模块

野火EC20 4G模块是由EC20 Pcie接口模组加一个USB转接板构成,可方便插接到带有USB接口的Linux主板上。 EC20型号众多,我们选用的型号是CEHCLG,全网通,7模,纯数据、单天线版本。

EC20_4G_module001.png

EC20是移远的一款4G模组,有Mini PCle和LCC两种封装,与处理器通信的协议为USB。 即你们在市面上看到的那些通过板载的PCle接口与EC20连接的开发板, 他们通信时也是通过USB通信,并不是一些用户说的通过PCle通信, 在此模块中,PCle只是一种封装而已,最终通信都是通过USB。

EC20_4G_module002.png EC20_4G_module003.png

3.2. 野火开发板使用4G模块

提示

本文参考资料 : 《如何在QMI模式下使用LTE调制解调器进行WAN连接》 参考资料为OpenWrt官方文档,除QMI模式外,还讲到了其他模式的连接,建议详细阅读。

野火开发板出厂固件已经支持4G模块,已经安装了必要的依赖和拨号脚本,所以经过简单的配置以后就可以拨号上网。

使用方式非常简单,首先插入4G的电话卡到SIM卡座上,这张电话卡必须是可以上网的, 然后接上IPX天线(4G模块在发货的时候就已经接好天线的了),最终连接到开发板上, Pro或者mini开发板都可以使用野火4G模块。

EC20_4G_module004.png EC20_4G_module005.png

3.2.1. 连接4G模块

将4G模块插入usb接口,等待几秒,在终端输入dmesg命令,能看到以下内容,就代表模块启动成功:

dmesg

···

[ 3000.963148] usb 1-1: new high-speed USB device number 5 using ci_hdrc
[ 3001.175765] option 1-1:1.0: GSM modem (1-port) converter detected
[ 3001.182318] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 3001.189990] option 1-1:1.1: GSM modem (1-port) converter detected
[ 3001.196563] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 3001.204210] option 1-1:1.2: GSM modem (1-port) converter detected
[ 3001.210744] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 3001.218412] option 1-1:1.3: GSM modem (1-port) converter detected
[ 3001.225012] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
[ 3001.281627] qmi_wwan 1-1:1.4: cdc-wdm0: USB WDM device
[ 3001.294634] qmi_wwan 1-1:1.4 wwan0: register 'qmi_wwan' at usb-ci_hdrc.1-1, WWAN/QMI device, 02:d1:f9:0d:a1:3d

3.2.2. 新建网络接口

登录web后台,打开 网络-接口 后,点击添加新接口,配置如图中所示。

添加新接口

点击创建接口,并进一步配置,配置如图所示。主要是配置调制解调器设备为/dev/cdc-wdm0,并设置防火墙区域与WAN口相同

常规设置 添加新接口 添加新接口

设置完成后保存并应用,等待一段时间,我们可以看到会自动创建一个虚拟动态接口, 并获取了IPv4地址,至此,4G网卡的设置完成。

添加新接口

3.2.3. 验证4G网卡

拨号成功以后,我们可以使用 ifconfig 命令查看4G网卡的工作状态

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
ifconfig

wwan0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
         inet addr:10.18.199.13  P-t-P:10.18.199.13  Mask:255.255.255.252
         inet6 addr: fe80::9bb0:696:654:2c63/64 Scope:Link
         inet6 addr: 2408:8456:d027:5d9a:b54b:d455:559a:8184/128 Scope:Global
         UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
         RX packets:4 errors:0 dropped:0 overruns:0 frame:0
         TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:918 (918.0 B)  TX bytes:1036 (1.0 KiB)

然后我们断开WAN口网线,更新一下网络接口,执行下面的命令。

1
/etc/init.d/network restart

等待网络接口重启完成之后,验证一下ping功能,此处以ping baidu.com为示例:

ping百度

3.2.4. 查询网卡状态

使用uqmi命令对网卡的状态和参数进行查询和设置,以下为常用命令,更多详细命令参数,详见OpenWrt官方文档。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 获取连接状态
uqmi -d  /dev/cdc-wdm0   --get-data-status

# 获取服务商信息
uqmi -d  /dev/cdc-wdm0   --get-serving-system

# 获取信号值
uqmi -d  /dev/cdc-wdm0   --get-signal-info

# 获取数据格式
uqmi -d  /dev/cdc-wdm0   --wda-get-data-format

# 获取当前配置
uqmi -d  /dev/cdc-wdm0   --get-current-settings

3.2.5. 可能出现的问题

经过实测,目前的配置是可以连接到移动、联通、电信的,如果出现一些其他的问题,可以参考以下内容:

3.2.5.1. APN设置

默认可不设置APN,无法上网时可以尝试设置。

1
2
3
移动:"cmnet"
联通:"3gnet"
电信:"ctnet"