1、将上一章节下载的 quectel_cm.7z 文件放置到 openwrt > package 目录 下并 解压 到这个这个件夹下,解压后的文件夹名称如图所示为quectel_cm。
2、开始选择需要编译的选项,在openwrt目录下执行配置命令:
make kernel_menuconfig
Device Drivers --->
USB support --->
<*> USB Serial Converter support --->
<*> USB driver for GSM and CDMA modems
Device Drivers --->
[*] Network device support --->
<*> USB Network Adapters --->
<*> Multi-purpose USB Networking Framework
<*> QMI WWAN driver for Qualcomm MSM based 3G and LTE modems
make menuconfig
Kernel modules --->
USB Support --->
-*- kmod-usb-core
<*> kmod-usb-net
<*> kmod-usb-net-cdc-ether
<*> kmod-usb-net-cdc-mbim
-*- kmod-usb-net-cdc-ncm
<*> kmod-usb-net-cdc-subset
<*> kmod-usb-net-qmi-wwan
<*> Kmod-usb-ohci
<*> Kmod-usb-serial
<*> Kmod-usb-serial-option
<*> Kmod-usb-uhci
<*> Kmod-usb2
Network --->
<*> chat
<*> ppp
<*> umbim
<*> wwan
Utilities --->
<*> quectel_cm (我们添加的包)
<*> usb-modeswitch
LuCI --->
Applications --->
<*> luci-app-mwan3 (一些文档里面写的 luci-app-multiwan这个版本应该改为这个了)
<*> luci-app-qos
LuCI --->
Protocols --->
<*> luci-proto-3g
-*- luci-proto-ppp
<*> luci-proto-qmi
配置完成点击 Save 再退出,否则不会保存配置
3、开始编译 (根据自己的线程数来选择)
make V=s -j8
完成编译后(神奇的是Ubuntu20.04居然没有报错,之前用22.04编译报错,不过都有对应的解决方法),按照之前章节介绍的烧录进去。
4、完成后,可以在串口连接到minicom控制台上面看到设备已经全部挂载上去了
其中有 cdc-wdm0、ttyUSB0~3 这些设备说明USB驱动已经完全正常。
5、加载高通拨号程序(就是我们前面下载的拨号程序已经编译到固件里面去了)测试,输入如下命令:
quectel_cm &
quectel-CM 需持续运行,不可退出。命令末尾"&"用于保持程序后台运行。
如图所示,拨号成功,且能够获取到DNS,末尾可见。
待执行完成,等待一小会会(实测需要的一会才可以ping通外网)
到这里说明我们编译的驱动一切正常,接下来可以去LuCI里面配置4G和启动了。
6、进入路由配置界面,选择 网络 > 接口 > 添加新接口
名称自己定义,这里我填的 4G, 新的接口协议:DHCP客户端, 包括以下的接口:wwan0
提交后,在新的接口中在防火墙设置里面将防火墙配置为 wan
由于刚才测试的时候是手动加载的 拨号工具,这里我们需要将以下命令加入到开机启动里面。
quectel_cm &
在LuCI界面的 系统 > 启动项 > 本地启动脚本 里面添加这个命令,让拨号程序一直运行。
有一个思考的地方待后面再研究,就是这个进程如何去守护?后续如果有进一步研究再写。
点击 提交 按钮保存 。
重启路由器,待整个系统起来后,就能打开浏览器通过4G上网了。