|
飛凌嵌入式OK3588-C開發(fā)板是一款性能強(qiáng)勁的旗艦產(chǎn)品,采用核心板+底板的分體式設(shè)計(jì),基于Rockchip RK3588處理器設(shè)計(jì),該處理器具有超高性能,包含4核Cortex-A55和4核Cortex-A76架構(gòu),Cortex-A55主頻高達(dá)1.8GHz,Cortex-A76主頻高達(dá)2.4GHz,且內(nèi)置 NPU,功能豐富,可玩性極高。今天我就將借助OK3588-C開發(fā)板進(jìn)行4G模組使用與測試。
一、Gobinet/QMI-WWAN/PPP撥號概述
1. Gobinet撥號
GOBI 高通Gobi無線寬帶芯片技術(shù),只需一個(gè)模塊即可支持多種移動(dòng)寬帶網(wǎng)絡(luò)和眾多移動(dòng)運(yùn)營商。高通公司稱全新的芯片將基于Gobi 4G LTE無線基帶、MDM9615和MDM9215。這種技術(shù)可以在FDD和TDD網(wǎng)絡(luò)下進(jìn)行LTE連接,同時(shí)支持HSPA+和EV-DO網(wǎng)絡(luò)、2G/3G網(wǎng)絡(luò)。這意味著用戶可以在本地使用高速4G LTE網(wǎng)絡(luò),在其他地方使用3G網(wǎng)絡(luò)。Gobi平臺在MDM芯片組的基礎(chǔ)上還提供了軟件增強(qiáng)層,這樣可以使用不同技術(shù)下的無線連接更簡單。
2. QMI-WWAN協(xié)議撥號
QMI: Qualcom Message Interface
MSM: Mobile station mode
AP: Application Procesor
高通平臺目前都是非對稱多核心,最主要的是AP和Modem。兩個(gè)處理器怎么進(jìn)行通信呢,我們把AP和Modem當(dāng)作兩個(gè)主機(jī),問題就變得了很簡單,TCP/IP協(xié)議不是一種非常成功的進(jìn)程間跨主機(jī)通信方式。高通沒有采用這種方式,但是借鑒了TCP/IP的框架設(shè)計(jì)。
Qualcomm MSM Interface,作用用于AP和BP側(cè)的交互,通俗說法就是讓設(shè)備終端TE(可以是手機(jī),PDA,計(jì)算機(jī))
對高通BP側(cè)的AMSS系統(tǒng)進(jìn)行操作,如調(diào)用函數(shù),讀取數(shù)據(jù),設(shè)置其中的NV項(xiàng)等。
3.PPP協(xié)議撥號:點(diǎn)對點(diǎn)協(xié)議
PPP(點(diǎn)到點(diǎn)協(xié)議)在撥號過程中用于MS和PC間數(shù)據(jù)交互、協(xié)商。在撥號流程的初期首先開啟的就是PC和MS直接的PPP過程,在撥號成功后,還需要依靠PPP協(xié)議對IP包進(jìn)行封裝傳輸數(shù)據(jù)。
官網(wǎng)源碼:https://ppp.samba.org
二 、驅(qū)動(dòng)檢查
首先檢查是否有USB設(shè)備信息。
[backcolor=rgba(18, 18, 18, 0.5)]
然后在dev目錄下查看設(shè)備。
[backcolor=rgba(18, 18, 18, 0.5)]
另外在dev下還有一個(gè)qcqmi0。
[backcolor=rgba(18, 18, 18, 0.5)]
說明驅(qū)動(dòng)已經(jīng)集成了GobiNet。
三、撥號上網(wǎng)
撥號程序使用移遠(yuǎn)提供的quectel-CM,這是一個(gè)4G連接管理程序,交叉編譯后得到可執(zhí)行bin“quectel-CM”,將quectel-CM下的Makefile文件修改成如下,然后 make
CC:= aarch64-linux-gnu-gcc
[backcolor=rgba(18, 18, 18, 0.5)]
把這個(gè)bin放到OK3588-C開發(fā)板上啟動(dòng)后上述一、二驅(qū)動(dòng)沒有問題的情況下直接執(zhí)行該bin就可以。將quectel-CM可執(zhí)行程序拷貝到OK3588-C開發(fā)板中。
【注】移動(dòng)是[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 usb0udhcpc: started, v1.30.1udhcpc: sending discoverudhcpc: sending select for 10.21.127.53udhcpc: 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
這就是撥號成功了,當(dāng)然也可查看IP信息。
[backcolor=rgba(18, 18, 18, 0.5)]
接下來就是ping一下看是否可以聯(lián)網(wǎng)。
# ping 211.149.226.120
[backcolor=rgba(18, 18, 18, 0.5)]
可以看到能ping通外網(wǎng)。
這樣設(shè)備就可以作為一個(gè)移動(dòng)的網(wǎng)關(guān)的,配上無線網(wǎng)絡(luò),就可以做一個(gè)無線路由器了。
|
|