找回密码
 注册
关于网站域名变更的通知
查看: 544|回复: 1
打印 上一主题 下一主题

RK3588的4G模组如何使用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-6-28 15:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
5 {+ g. V/ \' M0 Y

5 D6 B# E2 Q" m一、Gobinet/QMI-WWAN/PPP拨号概述
6 A4 P2 t1 j. i7 {4 `- h/ [, F$ e
1. Gobinet拨号
$ \1 T; i6 E6 B, `

$ ~0 A; j" b0 s# K' k' RGOBI 高通Gobi无线宽带芯片技术,只需一个模块即可支持多种移动宽带网络和众多移动运营商。高通公司称全新的芯片将基于Gobi 4G LTE无线基带、MDM9615和MDM9215。这种技术可以在FDD和TDD网络下进行LTE连接,同时支持HSPA+和EV-DO网络、2G/3G网络。这意味着用户可以在本地使用高速4G LTE网络,在其他地方使用3G网络。Gobi平台在MDM芯片组的基础上还提供了软件增强层,这样可以使用不同技术下的无线连接更简单。
' K9 c5 @2 W4 M, p

$ S' b, c  B" [  S) T2. QMI-WWAN协议拨号
3 u0 i; y- m, J& y, F8 ~
4 c: J" q% Z$ k! ?6 i
QMI: Qualcom Message InteRFace
/ h/ t8 C- f4 ^- d! k" y: Z3 k

$ T! x0 M+ Y. d* \+ E8 M+ AMSM: Mobile station mode5 \5 g' A  B0 g5 n
4 B7 e8 b; j1 j0 p3 u
AP: Application Procesor0 p1 S2 H: O2 P8 \$ |  M* J
4 r& j4 T, X1 |; y3 J8 Y1 J/ d& E
高通平台目前都是非对称多核心,最主要的是AP和Modem。两个处理器怎么进行通信呢,我们把AP和Modem当作两个主机,问题就变得了很简单,TCP/IP协议不是一种非常成功的进程间跨主机通信方式。高通没有采用这种方式,但是借鉴了TCP/IP的框架设计。
" V" a4 H! }8 T! y& i4 P

7 m9 f% q4 L$ V; Y8 C4 X5 p2 lQualcomm MSM Interface,作用用于AP和BP侧的交互,通俗说法就是让设备终端TE(可以是手机,PDA,计算机)/ o7 Y9 I) x% g, H* o; M
+ U6 s6 z, e2 k6 a1 f9 v
对高通BP侧的AMSS系统进行操作,如调用函数,读取数据,设置其中的NV项等。; {1 p3 O3 G7 y. T0 y! \& |% `
/ m% `0 E: e& }4 |
3.PPP协议拨号:点对点协议
, h9 ^( ]! a6 \3 E) N* j' m% _
, {9 l. J) Y7 t( ?
PPP(点到点协议)在拨号过程中用于MS和PC间数据交互、协商。在拨号流程的初期首先开启的就是PC和MS直接的PPP过程,在拨号成功后,还需要依靠PPP协议对IP包进行封装传输数据
9 n- B/ z' \( E8 j/ F
. a# B6 j5 S5 G6 x" u; v
官网源码:https://ppp.samba.org
0 }3 B6 V3 ^! l6 S$ ?' g

4 V+ T: M& @0 ?# s) a9 ?! s二 、驱动检查* ^5 N& g. V2 t4 p# e7 n

2 Q0 V+ C2 [3 y. W- u: j! f6 M4 G* z7 U( r8 Y6 o/ R3 h! M
* F0 @; M2 J+ X) c1 n8 ~; I7 S
首先检查是否有USB设备信息。
# s. Q$ |7 h$ f. ~+ s

3 E- ]/ `3 M, M5 H- U$ L1 |) G4 r) e* z; z5 `; g/ p% W  s4 X$ {
2 m. z+ i$ w# A
% H; s5 L! i  U4 i* ]( e: P
[backcolor=rgba(18, 18, 18, 0.5)]​+ b/ }& |6 J/ F! {; p
) H9 m+ U+ P4 t# c- K1 M1 k

! _7 @5 U; A7 c9 o6 T, V2 J  H0 x6 F) D2 [

; [, W) V2 p9 H( q  j! ?  J  J编辑切换为居中- S* [4 P! E3 Q+ e* N

) ?% D8 a8 T) k0 j6 i) t5 {- g! b9 X$ c  W

0 @0 a2 {! l, ~0 Y) S
) f" w2 p5 O% F3 P# {- B. e5 _$ H8 I, }

7 C  T: ?* F0 d$ t3 K$ J5 X5 p- F/ h2 ~9 |/ ?& k. [8 K; b  ~# g& u8 C
# x' W5 e6 h- g: E8 b9 O

1 x8 O/ }+ @# B$ D$ f& `6 l然后在dev目录下查看设备。7 g& ?$ l& l6 k& e  a* j- Y
) ^+ T8 _4 q" O6 y* ?

2 x5 m. ^. k9 }" P: |' w
) h) I. R, V, r3 R; a, C  N9 ]
$ E4 T( x# a1 R; U
[backcolor=rgba(18, 18, 18, 0.5)]​
$ b- {# N3 y8 }1 D; C
7 z9 F7 G3 i% x0 M: P& |

5 X* ?! [" e: P% B1 ]0 K& F; O  ?6 d( E* ?9 o
6 J: X+ Y8 W% D6 h
编辑切换为居中
. M3 u% N" M( ~6 l0 W% ?$ W, \. I; _5 k8 F* s* \: g
: S. L2 z/ b8 W/ n; V
9 ?% [+ j1 _3 `1 B" G
" ~) z: _/ X9 o
" ]+ q. n- s. a, K: N; M& P, r

% m, i- T% g) U) U# z4 G& o) Y5 J! P
9 H; q' E, Z8 \
, I/ @: r- B6 e
另外在dev下还有一个qcqmi0。  K, n+ `6 {" ^5 v, `

  E" r9 x" m" {! [) B. B* [6 ?6 N3 u" B7 @+ O2 R

/ d2 G1 b9 J- ?3 m2 D1 z
. T3 B: g. e3 P% ?' h* [1 G
[backcolor=rgba(18, 18, 18, 0.5)]​. h* k7 l- a; y7 C- y" T9 U
* q( ]4 V# R7 K
5 i: S4 W0 _+ Q2 y

/ m& o& i+ p1 q# f2 c- x
* G, ~/ j" L- V" G: R编辑切换为居中" x1 C/ F4 b* M

0 x# \7 W' M: K7 N) @) \7 Z
" r! T! J! O, q. z+ r- S6 u( f- l& |' W
- H, G, d& G" c5 o; w( j4 X
7 d7 r* K6 N9 V3 C3 t3 O- e

3 U$ @0 r5 l% S
7 v# S6 R; w' C! y2 g6 e+ b
% A5 _% Z5 ^  k) V" V2 V+ j4 R

) ^8 `( z; f2 H& U说明驱动已经集成了GobiNet。( H7 a( x7 [9 D/ F. d# B# B6 v( s) s
! q/ G: J8 \* r  D4 ]+ v! ]
三、拨号上网
# b1 T& {. D  s' L$ K1 r
拨号程序使用移远提供的quectel-CM,这是一个4G连接管理程序,交叉编译后得到可执行bin“quectel-CM”,将quectel-CM下的Makefile文件修改成如下,然后 make5 K( R2 `' c) _3 d7 o; a
/ w7 W/ R% E( S: p) h% w1 @
CC:= aarch64-linux-gnu-gcc8 n: E, `) a  o" k% i, \; C

! a6 Y, V8 |" G7 C) z/ X- r9 A
[backcolor=rgba(18, 18, 18, 0.5)]​
4 W( c6 V# O1 C& C' U! |7 t' S# @. z& i1 n) y: T% z$ i
8 k; p) m2 n- E  @. @2 O2 m
% t6 P" J; {( N& `  r
: a  Y" ^) L' S+ I1 Q/ P: q
编辑切换为居中8 ?5 k8 `/ N7 c8 u5 P0 n4 o
/ t4 C# f" Q  K' R1 y( i3 a

% A( \4 w" K4 c3 P5 u. ^5 v: c. K: V$ {5 t- E' F

& K1 L; v# k3 t1 ~. S( s+ U6 H, v' p( B# S! l* j

' M+ u/ y7 c0 t: j' P; H: c把这个bin放到OK3588-C开发板上启动后上述一、二驱动没有问题的情况下直接执行该bin就可以。将quectel-CM可执行程序拷贝到OK3588-C开发板中。
3 S* K8 I" k2 }" S* X$ I0 B' x

" D3 {5 V/ r7 e% U7 ~【注】移动是[cmnet],电信是[ctnet]。9 _" R( A* `9 \7 k" s# b( P
3 O6 S9 v- a1 s' m3 n+ s" u3 ?. k
$ ./quectel-CM -s ctnet &root@ok3588:~# [03-16_23:36:36:353] WCDMA<E_QConnectManager_Linux&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_REVB3 r2 u: ]8 J4 O' V& w6 D
这就是拨号成功了,当然也可查看IP信息。
5 B8 `; T4 v$ l2 \% y$ S2 e8 N: L
; I' i* d& f. N$ E$ r7 \
9 N3 [0 s- ?& n0 Z& h5 a

8 k9 J$ Z6 }  R
# Y  }0 A* h5 p5 Q
[backcolor=rgba(18, 18, 18, 0.5)]​
7 c. y) Y- F2 @' {" y8 a8 G6 A- D. B6 k. s- q
+ G5 |6 s' O4 [! a" b% p' ^' u! Y9 u

" j4 k2 W7 w- L9 D+ l6 o5 P1 |# J0 U" d8 P: _
编辑切换为居中
1 G; Q: w5 C$ F" s5 q" t3 y. q4 ]4 ~* s; g! q  R& C

: Q* F1 K8 i1 O$ w; n+ P# Z2 r, N2 H8 H4 Q3 F1 U. Z

7 r( X5 T0 Z5 w- T2 q
9 F6 ]1 |+ P. F/ n7 C8 k5 `5 r7 b. ~5 t0 J
" a+ T4 r0 d" L: B! f6 r

% E# Z9 l+ Z; o
1 q" O3 a: |/ l+ M

/ z/ G4 y5 P( r. g! E7 d5 \" J8 s) g! Y' r+ i0 M
& S, J4 j+ A: W1 D# J' e$ V
接下来就是ping一下看是否可以联网。4 G: Z1 x0 E- m3 z( |  c

2 d  a2 i( p( r& G; [" z# ping 211.149.226.120
5 a: ]8 C8 _% a

* K/ P: G' R! v* j9 s! h: n3 e! D
. W4 V% c  j" S( q3 D* \% @7 o8 @; g
* x2 Z6 }9 ]# L* u, |
[backcolor=rgba(18, 18, 18, 0.5)]​# o' Q9 |/ {' C0 \7 I" w$ j
( L& n. i5 v  g% F" o) x  {
+ Q: O' K4 H# u3 Q( v
& n! d; q' N# \  A( {
, k9 d! N! e; ^# R0 ]9 R
编辑切换为居中
3 r) j" O  f/ ]* N! N* s2 @+ q: }9 Q5 k
& p: @' ^9 a" [5 Y6 l# C. B  G- f

% J) n' B4 n  T/ w$ F! n/ _1 t3 b! ]: N5 ^4 L, m* ?

# j" T: y( B& f/ w4 q0 {
& T# e- M6 B2 U% s3 ]* ^7 S: [3 _9 l2 X6 P1 y

  y6 x0 Y$ `  t
1 W) p4 t1 ^1 o7 d
可以看到能ping通外网。' Q2 r* F) f1 A: Y' Z- |! i2 W

! V7 K( ~3 A9 e; I8 |这样设备就可以作为一个移动的网关的,配上无线网络,就可以做一个无线路由器了。& W7 S! t  e) o9 ]

: G$ X% Y# E0 x! d+ M. T+ Z: M" K9 N0 e  L# j0 ]$ n

该用户从未签到

2#
发表于 2023-6-28 18:07 | 只看该作者
有模块的开发板嘛- X) E" _- V! ~; m/ v, q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 16:55 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表