4G模块 EC20 R2.0
USB Serial/GobiNet/QMI WWAN 驱动移植过程
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 */
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小时内删除。
发表评论