目录
总结
前言
RK3568 CPU提供了丰富的外设接口,本文主要介绍通过usb接口驱动移远EC20模块来实现4g无线数据传输功能,具体调试记录如下所示。
一、usb部分原理图
EC20部分原理图接口如下所示:
二、RK3568设备树配置
RK3568官方SDK默认已经开启usb2.0设备树节点,使用vi rk3568-evb.dtsi打开该设备数据,相关usb设备树节点如下所示:
三、驱动修改
从模块技术支持处获取驱动调试手册,我这边参考《Quectel_LTE&5G_Linux_USB_Driver_User_Guide_V2.0.pdf》文档,来对buildroot kernel驱动文件进行修改,由于本人手上SDK kernel版本为V4.1.19,已经完全支持移远EC20模块,基本不用修改就可以适配EC20模块,以下还是对指导手册上需要修改的内容做一个介绍:
1、添加模块VID和PID,修改vi /kernel/drivers/usb/serial/option.c文件
根据驱动文件来看,已经完成对ec20 vid、pid在option_ids中的注册,该文件无需修改。
2、在内核驱动模块下找到驱动文件,该驱动文件为:/kernel/drivers/net/usb/qmi_wwan.c,也可以把该文件替换为技术支持给的驱动.c文件,本文主要介绍使用QMI_WWAN Driver 驱动ec20模块。
四、内核配置
buildroot中已经包含了模块驱动,以及对ec20模块的支持,固我们只要在内核配置中选中usb 串口驱动以及ec20模块驱动编译配置即可,在内核目录下执行 make menuconfig ARCH=arm64 来对内核进行配置
1、 > Device Drivers > USB support > USB Serial Converter support 选中 USB driver for GSM and CDMA modems选项,usb串口驱动内核配置如下截图所示:
完成以上配置,既可以完成对内核配置,编译内核烧录到板子中即可。
五、模块测试
模块usb节点信息如下所示:
lsusb查看模块id信息如下所示,其中模块id为2c7c:0125:
设备usb节点如下所示:
当上述全部正常生成即可产生wwan0节点,如下图所示:
quectel-CM程序可以到本人博客资源处下载。
ping外网测试:
总结
上述为本人在RK3568平台调试移远EC20模块的开发记录,希望提供一定的的参考。