之前有移植过ME909s MU609,主要工作就是把4G模块当做USB设备,挂载在linux上,驱动移植主要是能够让板子识别到模块,并产生SUB多个虚拟的节点,用于操作模块,拨号上网
关于内核的配置,请参考:https://www.cnblogs.com/ChenChangXiong/p/10852177.html
内核配置:
Device Drivers --->
[*] USB support --->
<*> USB Serial Converter support --->
<*> USB driver for GSM and CDMA modems //选上
Device Drivers --->
[*] Network device support --->
// 将这里面所有的ppp 的支持多选上
匹配列表:
宏定义添加支持:
宏定义添加支持:

//----add for EC20----add by chencx 20190513
#define QUECTEL_VENDOR_ID 0x2C7C
#define QUECTEL_PRODUCT_EC20 0x0125
usbdevice列表添加:
在kernel目录下:
vim drivers/usb/serial/option.c

在: static const struct usb_device_id option_ids[] 中添加
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC20)}, /* QUECTEL EC20 */
最后:

在: static int option_probe 匹配函数中添加
if (dev_desc->idVendor ==cpu_to_le16(0x2c7c) &&
dev_desc->idProduct ==cpu_to_le16(0x0125) &&
iface_desc->bInterfaceNumber ==0x04)
return -ENODEV;
接下来:make -j20
等待内核编译完成。
插入模块会生成usb0~usb3的usb节点,说明驱动已经移植成功。

比如ME909s MU609模块。直接是用pppd拨号就可以上网,但是EC20我试了很久不行,非常郁闷,无奈之下,只用移远官方提供的usb驱动作为.ko加载进去,然后使用APN工具。
Quectel_Linux_GobiNet_SR01A02V13.zip下载:http://bbs.21ic.com/forum.php?mod=attachment&aid=MTA1NjgwNHxkYmMwMDdjNHwxNTU3NzE4NDk2fDB8MTcwMDMxNg%3D%3D
Quectel_Linux_ConnectManager_SR01A01V21.zip 下载: http://dev.t-firefly.com/thread-52743-1-1.html
注意以下开发板的交叉编译器就行
编译得到GobiNet.ko
解压 Quectel_Linux_ConnectManager_SR01A01V21.zip,并交叉编译,只需要修改makefile适应自己的开发板即可
我是把解压后文件放到drivers/net/usb/ 中 新建一个文件夹来保存,在里面编译,
其实放在哪都行,当做模块加载,只需要编译makefile的时候指定kernel即可,就像平时编译模块一样。

修改makefile 直接作为模块加载进入

编译后生成 GobiNet.ko 复制到开发板 insmod

编译拨号工具:
解压:
unzip -x Quectel_Linux_ConnectManager_SR01A01V21.zip
直接编译:
make CROSS_COMPILE=arm-linux-gnueabihf-

得到quectel-CM
接着就大功告成了
在开发板中,首先加载GobiNet.ko 然后后在运行quectel-CM
insdmo GobiNet.ko
./quectel-CM &
运行./quectel-CM & 后会提示找到eth2 有的是eth1 接着可以ifconfig看一下ip 有了ip就可以直接pingl了。

注意是先加载模块 在执行 quectel-CM 就可以ifconfig查看到产生了ip,然后ping 8.8.8.8 我这里直接来65500包
算是比较完整的移植EC20的过程,记录一下
参考文献: https://blog.csdn.net/yuzhou_zang/article/details/78286875

相关推荐
基于BFP640的GPS接收机LNA电路
P8xC591_cn
欧度圆柱型插拔自锁连接器
电子测量仪器产业和技术发展趋势
IBM与Rapidus合作开发2纳米半导体技术
如何让uclinux上电自动运行用户应用程序?
ATR01610典型应用电路(基于ATR0610的GPS接收机低噪声放大电路)
电池的连接方式
英伟达甩出三大「王炸」
英伟达计划在美国供应链上投资数千亿美元
边上网边赚钱!!!!
不再是3nm!曝iPhone 18首发台积电2nm工艺制程
基于μPC8211Tk的GPS接收LNA电路
以太网线缆测试一文读懂!
[公告]MiniGUI学习版已推出,想和版主有个代理合作,不知版主有无兴趣
P89LPC938_user_cn
基于CXA1951AQ的GPS接收机下变频器电路
光端机在军工领域的应用和发展趋势
基于MAX2641的GPS接收机LNA电路
优良的设计、卓越的链接
美国新规生效:禁止使用中国智能网联汽车软硬件
电感啸叫的原因及解决方法剖析
白电MCU,压力暴增
P8XCE560
2012年中国连接器行业市场竞争分析
软银以65亿美元收购美国芯片设计公司Ampere
关于用ARM核心的CPU来做一个嵌入式系统的问题,谢谢
MiniGUI推出了学习版,各位嵌友可以了解一下哦,支持一下国产软件!!
P8xC591_useIN_CAN_en
P8XC557E8