RK3568开发笔记-SIM8200 5G模块调试笔记

 

目录

前言

一、usb部分原理图

二、SIM8200驱动移植修改

三、RK3568设备树配置

四、模块测试:


前言

        RK3568 CPU提供了丰富的外设接口,本文主要介绍通过usb3.0接口驱动sim7600模块来实现5g无线数据传输功能,具体调试记录如下所示本文主要介绍在RK3568平台上调试5G模块SIM8200,包括驱动配置,5G模块配置等功能说明。

一、usb部分原理图

SIM8200部分原理图如下图所示:

RK3568开发笔记-SIM8200 5G模块调试笔记_第1张图片

 RK3568开发笔记-SIM8200 5G模块调试笔记_第2张图片

二、SIM8200驱动移植修改

        从模块技术支持处获取驱动调试手册,我这边参考《SIMCOM_SIM8200_Linux_USB_User_Guide_V1.00.00_20200917》文档,来对buildroot kernel驱动文件进行修改,本人手上SDK kernel版本为V4.1.19,基本上对simcom模块已经完全支持

1、增加VID和PID支持,vi /drivers/usb/serial/option.c,本人内核已经支持了该厂家模块的VID以及PID:

 2、内核驱动配置需要打开项:

CONFIG_USB_SERIAL Y
CONFIG_USB_SERIAL_WWAN Y
CONFIG_USB_SERIAL_OPTION

Y

CONFIG_USB_USBNET Y
CONFIG_USB_WDM Y

3、QMI WWAN 驱动编译。从厂家那里获取模块的simcom驱动文件qmi_wwan_simcom.c,放到内核目录]/drivers/net/usb/下,

RK3568开发笔记-SIM8200 5G模块调试笔记_第3张图片

 修改/drivers/net/usb/Makefile文件,直接把qmi_wwan的驱动直接编译进内核(注意:CONFIG_USB_NET_SIM7500_SIM7600为我添加的配置项,需要在内核里面打开该配置xi)RK3568开发笔记-SIM8200 5G模块调试笔记_第4张图片

三、RK3568设备树配置

        RK3568官方SDK默认已经开启usb3.0设备树节点,且SDK内核config配置已经默认打开了usb相关配置项点,使用vi rk3568-evb.dtsi打开该设备数据,相关usb设备树节点如下所示:

RK3568开发笔记-SIM8200 5G模块调试笔记_第5张图片

四、模块测试:

        模块生成usb节点以及qmi_wwan驱动注册信息如下图所示:

RK3568开发笔记-SIM8200 5G模块调试笔记_第6张图片

  lsusb查看模块id信息如下所示,其中模块id为1e0e:9001:RK3568开发笔记-SIM8200 5G模块调试笔记_第7张图片

 设备usb节点如下所示:

RK3568开发笔记-SIM8200 5G模块调试笔记_第8张图片

当上述全部正常生成即可产生wwan0节点,如下图所示:

RK3568开发笔记-SIM8200 5G模块调试笔记_第9张图片

 2、模块拨号:上文驱动使用的是qmi_wwan,估拨号方式采用NDIS的方式进行拨号,本人采用厂家提供的simcom-cm程序进行拨号,拨号程序需要从厂家获取源码进行编译,如果没有配置qmi_wwan的驱动该拨号程序也不会成功拨上号。拨号成功如下所示:

# ./simcom-cm
[06-11_18:04:20:168] SIMCOM_CM START...
[06-11_18:04:20:169] ./simcom-cm profile[1] = (null)/(null)/(null)/0, pincode =
(null)
[06-11_18:04:20:169] Find /sys/bus/usb/devices/1-5 idVendor=1e0e idProduct=9001
[06-11_18:04:20:169] Find /sys/bus/usb/devices/1-5:1.5/net/wwan0
[06-11_18:04:20:169] Find usbnet_adapter = wwan0
[06-11_18:04:20:169] Find /sys/bus/usb/devices/1-5:1.5/usbmisc/cdc-wdm0
[06-11_18:04:20:169] Find qmichannel = /dev/cdc-wdm0
[06-11_18:04:20:181] cdc_wdm_fd = 7
[06-11_18:04:20:274] Get clientWDS = 15
[06-11_18:04:20:306] Get clientDMS = 1
[06-11_18:04:20:338] Get clientNAS = 2
[06-11_18:04:20:370] Get clientUIM = 1
[06-11_18:04:20:402] Get clientWDA = 1
[06-11_18:04:20:434] requestBaseBandVersion MPSS.HI.2.0.5-00222.2-
SDX55_CPEALL_PACK-1 1 [May 28 2020 17:00:00]
[06-11_18:04:20:498] requestGetSIMStatus SIMStatus: SIM_READY
[06-11_18:04:20:531] requestRegistrationState2 MCC: 460, MNC: 1, PS: Attached,
DataCap: LTE
[06-11_18:04:20:562] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[06-11_18:04:20:626] requestRegistrationState2 MCC: 460, MNC: 1, PS: Attached,
DataCap: LTE
[06-11_18:04:20:658] requestSetupDataCall WdsConnectionIPv4Handle: 0x1816e750
[06-11_18:04:20:722] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
[06-11_18:04:20:754] ifconfig wwan0 up
[06-11_18:04:20:759] busybox udhcpc -f -n -q -t 5 -s
/usr/share/udhcpc/default.script -i wwan0
[06-11_18:04:20:762] udhcpc (v1.22.1) started
[06-11_18:04:20:806] Sending discover...
[06-11_18:04:20:850] Sending select for 10.113.33.24...
[06-11_18:04:20:890] Lease of 10.113.33.24 obtained, lease time 7200
[06-11_18:04:20:897] /usr/share/udhcpc/default.script: Resetting default routes
SIOCDELRT: No such process
[06-11_18:04:20:902] /usr/share/udhcpc/default.script: Adding DNS 202.96.64.68
[06-11_18:04:20:902] /usr/share/udhcpc/default.script: Adding DNS 202.96.69.38

是否为5G网络可以使用AT+CNSMOD查询

AT+CNSMOD?
+CNSMOD: 0,36
OK

RK3568开发笔记-SIM8200 5G模块调试笔记_第10张图片

 

总结

上述为本人在RK3568平台调试SIM8200 5G模块的开发记录,希望提供一定的的参考。

你可能感兴趣的:(RK3568开发笔记,c语言,linux,架构,5G)