将4G移动网络接入OpenWrt路由器

要远程控制设在郊外的设备,设备附近没有有线网络也没有WIFI无线信号;坐高铁出差途中突然有公事须处理,需要用到网络又不想共享手机移动网络;家里宽带突然断网,一家子人等着上网看剧、玩游戏、查信息,碰到这些问题怎么办?最简单的方法就是,将4G移动网络接入OpenWrt路由器,利用移动网络信号来帮助完成这些工作。

为什么选择采用4G移动网络?是因为其速度可以满足大部分应用的需要,另外目前的4G模块的价格还是比较便宜的,相比3G、5G网络具有更高的性价比。市场上4G模块有多种输出模式,因为我们要选择接入路由器,所以需要购买带usb接口的4G模块,目前比较常见的有宽翼通信BroadMobi的BM806U、移远通信QUECTEL的EC20、龙尚的U8300C、芯讯通SIMCom的SIM7600CE等等。

这次我们的讲解就以BroadMobi的BM806U为例。OpenWrt路由器选用TL-WR720N,选择这款路由器主要是考虑其体积小,方便布置及携带;另外带Micro-usb供电,有移动充电宝就可以让路由器运行起来。

一、安装4G模块的驱动程序

1、安装必要的程序包

opkg update
opkg install usb-modeswitch kmod-mii kmod-usb-net kmod-usb-wdm kmod-usb-net-qmi-wwan uqmi

2、重启路由器

reboot

3、测试

ls -l /dev/cdc-wdm0

# 判断返回的信息是否与下面内容类似:

crw-r--r--    1 root     root      180, 176 Oct  1 12:03 /dev/cdc-wdm0

如果返回的信息有问题,可以运行以下两个命令看一下问题具体出在什么地方:

dmesg

或

cat /sys/kernel/debug/usb/devices

4、插上SIM卡查看

将中国移动SIM卡(注:BM806U说支持全网通,但是我用电信4G卡测试没有通过,联通的没试,移动是可以的,所以不知道是不是还需要额外的配置),插入usb dongle的4G模组,最好把天线也接上。一般4G模块的指示灯会亮,不亮的话可以将路由器再重启一下试试。然后运行如下命令:

uqmi -d /dev/cdc-wdm0 --get-data-status
# 返回信息
"disconnected"

uqmi -d /dev/cdc-wdm0 --get-signal-info
# 返回类似信息就表明驱动安装成功
{
        "type": "lte",
        "rssi": -71,
        "rsrq": -9,
        "rsrp": -94,
        "snr": 70
}

将4G移动网络接入OpenWrt路由器-1

二、设置拨号程序

1、采用命令方式,这种方法可靠性好,建议使用

uqmi -d /dev/cdc-wdm0 --start-network cmnet --autoconnect
# 返回程序运行的进程号,例如:
90268320

同理,也可以通过命令确认一下连接状态:

uqmi -d /dev/cdc-wdm0 --get-data-status
# 返回信息
"connected"

2、第2种方法,采用Luci界面设置

这种方法需要知道移动网络提供商的APN、鉴权模式、拨号用户名及密码等,比较复杂,而且不太稳定,不推荐使用。

先在Luci界面增加4G拨号协议支持:

opkg update
opkg install luci-proto-qmi

再在“Network – Interfaces”界面新增一个wwan0的拨号协议接口:

将4G移动网络接入OpenWrt路由器-2

配置相应参数:

将4G移动网络接入OpenWrt路由器-3

最后添加防火墙到wan区域:

将4G移动网络接入OpenWrt路由器-4

保存并应用后,4G拨号就成功了。

三、添加4G移动网络

新增4G移动网络接口wwan:

vim /etc/config/network

# 在打开的文本最后加上如下语句

config interface 'wwan'
        option ifname 'wwan0'
        option proto 'dhcp'

再添加防火墙到wan区域(在Luci设置界面完成):

将4G移动网络接入OpenWrt路由器-5

配置完成,点“Save & Apply”后,就可以看到连接状态了:

将4G移动网络接入OpenWrt路由器-6

>> 因为有wan和wwan两个网络输入接口,所以为避免冲突,最好配置mwan3,具体可参考OpenWrt的负载均衡及多线多拨控制应用mwan3一文。

至此,将4G移动网络接入OpenWrt路由器的具体实施方法就讲解完成了,你学会了吗?更详细的说明,你也可以参考如下英文网址:

https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle

如果你手头有的4G模块不是BM806U,而是移远通信的EC20,那对不起,上面的拨号程序没有用,我们需要专门为其编译拨号程序,这个比较复杂,留给以后在应用程序自编译部分再讲解。