最近在研究imx6ull linux下4G模块驱动的移植,参考的移远ec20的移植方法,添加了GobiNet驱动,编译了quectel-CM工具,并且可以正常拨号,分配到ip,如下: 
ping外网也没有压力,如下:

但是手上还有有方N720 4G模块,可以通过pppd拨号上网,感觉比较麻烦,如果换模块了还要调用不同的ppp拨号脚本,想着能不能也和移远一样,通过quectel-CM这个直接拨号。想法很好,但是实现起来不是很容易哈。
通过多方渠道,主要是百度,并没有找到有方官方提供的相关源码,昨天突发奇想,能不能研究一下移远的源码,看看能不能改一下呢,使其满足要求呢?毕竟GobiNet不是移远独有的,它是高通的产物。
联想到移植驱动时都和idVendor idProduct这两个有关,移远EC20的是2C7C 0125 ,有方N720的是2949 8247 。
我想一定和这个有关,那就打开源码看一下吧。在GobiUSBNet.c中全局搜索2C7C或者0125,找到如下代码:
static const struct usb_device_id QuecGobiVIDPIDTable [] =
{
GOBI_FIXED_INTF( 0x05c6, 0x9003 ), // Quectel UC20
GOBI_FIXED_INTF( 0x05c6, 0x9215 ), // Quectel EC20 (MDM9215)
GOBI_FIXED_INTF( 0x2c7c, 0x0125 ), // Quectel EC20 (MDM9X07)/EC25/EG25
GOBI_FIXED_INTF( 0x2c7c, 0x0121 ), // Quectel EC21
GOBI_FIXED_INTF( 0x2c7

作者探讨了在Linux下移植4G模块驱动,特别是如何将移远的GobiNet驱动应用到有方N720模块上。通过分析移远和有方的硬件ID,作者发现并修改了相关源码,最终实现了quectel-CM工具的拨号功能和IP分配,表明这一改造可能适用于市场上的其他4G模块。

420

被折叠的 条评论
为什么被折叠?



