原创 对RK3588开发板进行4G模组测试

2023-6-28 14:59 471 4 4 分类: MCU/ 嵌入式
一、Gobinet/QMI-WWAN/PPP拨号概述
1. Gobinet拨号
GOBI 高通Gobi无线宽带芯片技术,只需一个模块即可支持多种移动宽带网络和众多移动运营商。高通公司称全新的芯片将基于Gobi 4G LTE无线基带、MDM9615和MDM9215。这种技术可以在FDD和TDD网络下进行LTE连接,同时支持HSPA+和EV-DO网络、2G/3G网络。这意味着用户可以在本地使用高速4G LTE网络,在其他地方使用3G网络。Gobi平台在MDM芯片组的基础上还提供了软件增强层,这样可以使用不同技术下的无线连接更简单。
2. QMI-WWAN协议拨号
QMI: Qualcom Message Interface
MSM: Mobile station mode
AP: Application Procesor
高通平台目前都是非对称多核心,最主要的是AP和Modem。两个处理器怎么进行通信呢,我们把AP和Modem当作两个主机,问题就变得了很简单,TCP/IP协议不是一种非常成功的进程间跨主机通信方式。高通没有采用这种方式,但是借鉴了TCP/IP的框架设计。
Qualcomm MSM Interface,作用用于AP和BP侧的交互,通俗说法就是让设备终端TE(可以是手机,PDA,计算机)
对高通BP侧的AMSS系统进行操作,如调用函数,读取数据,设置其中的NV项等。
3.PPP协议拨号:点对点协议
PPP(点到点协议)在拨号过程中用于MS和PC间数据交互、协商。在拨号流程的初期首先开启的就是PC和MS直接的PPP过程,在拨号成功后,还需要依靠PPP协议对IP包进行封装传输数据
官网源码:https://ppp.samba.org
二 、驱动检查

首先检查是否有USB设备信息。
然后在dev目录下查看设备。
另外在dev下还有一个qcqmi0。
说明驱动已经集成了GobiNet。
三、拨号上网
拨号程序使用移远提供的quectel-CM,这是一个4G连接管理程序,交叉编译后得到可执行bin“quectel-CM”,将quectel-CM下的Makefile文件修改成如下,然后 make
CC:= aarch64-linux-gnu-gcc
把这个bin放到OK3588-C开发板上启动后上述一、二驱动没有问题的情况下直接执行该bin就可以。将quectel-CM可执行程序拷贝到OK3588-C开发板中。
【注】移动是[cmnet],电信是[ctnet]。
$ ./quectel-CM -s ctnet & root@ok3588:~# [03-16_23:36:36:353] WCDMALinux&Android_V1.1.34 [03-16_23:36:36:356] ./quectel-CM profile[1] = ctnet///0, pincode = (null) [03-16_23:36:36:364] Find /sys/bus/usb/devices/1-1 idVendor=2c7c idProduct=0125 [03-16_23:36:36:370] Find /sys/bus/usb/devices/1-1:1.4/net/usb0 [03-16_23:36:36:375] Find usbnet_adapter = usb0 [03-16_23:36:36:380] Find /sys/bus/usb/devices/1-1:1.4/GobiQMI/qcqmi0 [03-16_23:36:36:386] Find qmichannel = /dev/qcqmi0 [03-16_23:36:36:454] Get clientWDS = 7 [03-16_23:36:36:486] Get clientDMS = 8 [03-16_23:36:36:518] Get clientNAS = 9 [03-16_23:36:36:550] Get clientUIM = 10 [03-16_23:36:36:583] Get clientWDA = 11 [03-16_23:36:36:614] requestBaseBandVersion EC20CEFAGR06A08M4G [03-16_23:36:36:710] requestGetSIMStatus SIMStatus: SIM_READY [03-16_23:36:36:710] requestSetProfile[1] ctnet///0 [03-16_23:36:36:774] requestGetProfile[1] ctnet///0 [03-16_23:36:36:806] requestRegistrationState2 MCC: 0, MNC: 0, PS: Detached, DataCap: UNKNOW [03-16_23:36:36:837] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED [03-16_23:36:36:902] requestRegistrationState2 MCC: 0, MNC: 0, PS: Detached, DataCap: UNKNOW [03-16_23:36:40:870] requestRegistrationState2 MCC: 0, MNC: 0, PS: Detached, DataCap: UNKNOW [03-16_23:36:41:958] requestRegistrationState2 MCC: 0, MNC: 0, PS: Detached, DataCap: UNKNOW [03-16_23:36:42:118] requestRegistrationState2 MCC: 0, MNC: 0, PS: Attached, DataCap: 1XEVDO_REVB [03-16_23:36:42:182] requestRegistrationState2 MCC: 0, MNC: 0, PS: Attached, DataCap: 1XEVDO_REVB [03-16_23:36:42:214] requestSetupDataCall QMUXResult = 0x1, QMUXError = 0xe [03-16_23:36:44:166] requestRegistrationState2 MCC: 460, MNC: 11, PS: Detached, DataCap: UNKNOW [03-16_23:36:45:158] requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE [03-16_23:36:45:222] requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE [03-16_23:36:45:285] requestSetupDataCall WdsConnectionIPv4Handle: 0x871aef60 [03-16_23:36:45:382] requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE [03-16_23:36:45:413] requestQueryDataCall IPv4ConnectionStatus: CONNECTED [03-16_23:36:45:478] ifconfig usb0 up [03-16_23:36:45:496] Fail to access /usr/share/udhcpc/default.script, errno: 2 (No such file or directory) [03-16_23:36:45:500] busybox udhcpc -f -n -q -t 5 -i usb0 udhcpc: started, v1.30.1 udhcpc: sending discover udhcpc: sending select for 10.21.127.53 udhcpc: lease of 10.21.127.53 obtained, lease time 7200 [03-16_23:36:46:534] requestRegistrationState2 MCC: 460, MNC: 3, PS: Attached, DataCap: 1XEVDO_REVB [03-16_23:36:46:566] requestRegistrationState2 MCC: 460, MNC: 3, PS: Attached, DataCap: 1XEVDO_REVB
这就是拨号成功了,当然也可查看IP信息。
接下来就是ping一下看是否可以联网。
# ping 211.149.226.120
可以看到能ping通外网。
这样设备就可以作为一个移动的网关的,配上无线网络,就可以做一个无线路由器了。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条