Openwrt实现4G模块上网功能

上海润欣科技股份有限公司创研社
大家都知道传统的路由器无非基于以下几种方式上网:
首先运营商会将网线拉入居室,该网络可以是传统的电话线/双绞线/光纤。
入户的信号线,需要通过调制解调器(猫)转换为数字信号,通过网线输出。
早期的电话上网或者无路由上网的情况,将猫出来的网线直接插入电脑,然后,使用操作系统中的,adsl 拨号,拨号成功后,windows 右下角就会显示可以链接上网了。
而现在基于无线上网的范围不断扩大,对于不方便布线的地方或者端口不够的地方4g无线路由器又是一个很好的选择,利用现在流量无限的情况对多用户同时连接起到一个很好的应急补充。从而可大量应用于农村,城镇,医院,单位,工厂,小区等无线网络接入,能节省铺设有线网络的费用进行。
下面我基于高通qca4531搭载openwrt 15.05 qsdk4.1上面来实现4g模块上网功能。4g模块基于我们公司代理的移远4g模块ec20cefag-512-sgns
1.usb serial驱动
首先修改内核,内核文件在mp3/qsdk_4.0_cs/qsdk/build_dir//target-mips_34kc_uclibc-1.0.14/linux-ar71xx_generic/linux-4.4.60目录下,需要事先编译过系统。当模k块连接到usb串行驱动时,驱动程序将在目录/dev中创建设备文件,
ttyusb0/ttyusb1/ttyusb2…
接下来就是讲解如何移植usb serial。
1.1增加pid&vid
要想识别模块,客户应该在下面添加模块维和pid信息.
[kernel]/drivers/usb/serial/option.c  中添加:
{ usb_device(0x2c7c, 0x0125) },       //ec20 r2.1 &ec25
1.2添加零包处理
根据usb协议的要求,客户需要添加处理零数据包的机制。
for linux kernel version linux 4.4.60
file: [kernel]/drivers/usb/serial/usb_wwan.c
1.3添加qmi wwan驱动
添加add vid and pid
qmi wwan driver source file is [kernel]/drivers/net/usb/qmi_wwan.c.
file: [kernel]/drivers/net/usb/qmi_wwan.c
具体修改详细代码我已经打好了对应的patch。
openwrt_linux4.4.60_quectel_ec20_usb.patch
2.修改配置
第一步:进入配置环境
$make menuconfig
第二步:配置
3.编译测试
以上操作完成后就是编译源码了。
$ make v=s
将固件烧写进入板子中,插入4g模块,启动板子会看到以下信息:
同时也可以在dev目录下面查看:
有以上信息表示驱动配置成功,接下来就拨号了。
4.拨号上网
拨号程序我使用使用移远提供的quectel-cm,这是一个4g连接管理程序,通过交叉编译编译成bin文件,修改makefie文件即可。同时环境变量指定openwrt交叉编译器。
生成bin文件后,push到板子里面。插上4g联通卡,执行命令:
./quectel-cm &
这就是拨号成功了,接下来就是ping一下看是否可以联网。
$ping 47.106.72.113
出现如下界面就表示可以上网了。

一文看懂码灵半导体CFW32C7UL系列MPU产品应用(六): ISP图像处理单元
VR相机品牌 Insta360 主打运动相机,对标GoPro
amoled屏幕会漏液吗_tft屏幕和amoled哪个好
IPX7级户外防水音箱透气膜产品的特点以及优势
ai边缘计算在视觉分析领域的优点?ai边缘计算可以应用于哪些领域
Openwrt实现4G模块上网功能
GPU引擎增强了超声检测到的大脑运动计算
AI加持下的语音助手会改变我们的生活方式
小米Max2在怎么样?小米Max2评测:媲美平板电脑的小米Max2、除了大屏,配置、续航、价格都有亮点
三星未来三年海投220亿美元 展开对人工智能领域的研究
美的联合华为打造全新物联网操作系统
索尼开发出无水银纽扣式电池
宏力半导体采用ARM物理IP 扩展其微米工艺
R&S 发表的新产品IQR介绍
镭神智能荣登2023科创好公司榜单
未来智能安防社区建设将离不开人脸识别系统
佛山机器人江湖风云涌动,未来值得期待
220V LED灯泡的制作,内部电路结构就很简单
电子工程师DIY:LED立方
区块链和人工智能如何解决信息网络中的深度伪造问题