4G模块 EC20 R2.0 驱动移植过程
4G模块 EC20 R2.0
USB Serial/GobiNet/QMI WWAN 驱动移植过程
一、开发环境
二、确定 EC20 R2.0 的基本信息
1.插上4G模块,获得 VID 和 PID
$ lsusb
第二行可以看出:Vid = 2c7c, Pid = 0125
2.查看手册确定,可以支持的驱动类型 《Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.6.pdf》
EC20 R2.0 支持 USB Serial、GobiNet、QMI WWAN,这三种类型的驱动
重阳节短信
Product
USB Driver
Interface
EC20 R2.0
VID:0x2c7c PID:0x0125
USB Serial
顺风快递单号查
ttyUSB0   DM
ttyUSB1   For GPS NMEA message output
ttyUSB2   For AT commands
古人传递信息的方法
ttyUSB3   For PPP connections or AT commands
GobiNet or QMI WWAN
ethX or wwanX   Interface 4 can be used as
USB Network Adapte
3.usb-devices,查看EC20 usb接口信息
可以看到EC20出现了5个usb接口,接口0-3需要适配 usb serial 驱动,通过 ttyUSB2 节点使用PPP拨号上网;接口4 需要适配 GobiNet or QMI WWAN 驱动,使用quectel-CM 应用上网。
三、USB Serial 驱动移植
usb串口驱动有两种适配方式,修改([KERNEL]/drivers/usb/serial/)option.c或 qcserial.c 文件。
option.c:USB Driver for GSM modems
qcserial.c:Qualcomm Serial USB driver
内网和外网
option 驱动
2.TX2 板子使用的 kernel 已经支持 option.c 文件产生的 USB Serial Driver;
3.对于不支持的 kernel ,按照如下方式修改。 修改 [KERNEL]/drivers/usb/serial/option.c 支持EC20 R2.0
(1)添加 VID 和 PID
static 关于教师节的手抄报内容const struct西班牙火腿 usb_device_id option_ids[] = {
USB_DEVICE(0x2C7C, 0x0125),              /* Quectel EC25/EC20 R2.0 */
(2)下面2个文件,需要删除 usb_device_id 数组中 VID 和 PID 的元素, 内核没有编译该文件或不加载 qcserial.ko / qmi_wwan.ko 的话,可以不用修改。 [KERNEL]/drivers/usb/serial/qcserial.c [KERNEL]/drivers/net/usb/qmi_wwan.c qmi_wwan.c 驱动和 option.c 驱动使用不同的usb接口,应该是不冲突的,但是参考手册说因为冲突需要删除。
(3)Add the Zero Packet Mechanism
(4)Add Reset Resume (掉电恢复)
备注: (3) (4) 两项 TX2 kernel 源码中没有修改,应该对于4G上网功能影响不大,算是辅助功能,这里没有深入分析。
3.测试 (1)加载 option.ko并插上4G模块,dmesg信息如下
(2)AT命令测试
使用ttyUSB3和ttyUSB2接口测试AT都正常 (3)使用PPP拨号,上网正常 TX2开发板使用的 Ubuntu 18.04 系统,其中网络管理中有 PPP 拨号功能,可以直接拨号;如没有,需在 kernel 中添加 PPP 支持并编译 ppp 源码。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。