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

RK3588的4G模组如何使用

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
+ Y4 ^; e: @3 c3 f7 N

- J) ]+ m) S# D0 m' u6 p, V# Y$ T0 z2 B一、Gobinet/QMI-WWAN/PPP拨号概述0 `$ h( i+ M- R7 k
1. Gobinet拨号
; j9 }. n. t% O$ ^6 ^

- \: A  P8 L3 F# k4 Z" y# EGOBI 高通Gobi无线宽带芯片技术,只需一个模块即可支持多种移动宽带网络和众多移动运营商。高通公司称全新的芯片将基于Gobi 4G LTE无线基带、MDM9615和MDM9215。这种技术可以在FDD和TDD网络下进行LTE连接,同时支持HSPA+和EV-DO网络、2G/3G网络。这意味着用户可以在本地使用高速4G LTE网络,在其他地方使用3G网络。Gobi平台在MDM芯片组的基础上还提供了软件增强层,这样可以使用不同技术下的无线连接更简单。
7 H" o  L- p& R; j* k7 b) W: K
2 o) H/ H3 [. s) ^$ d
2. QMI-WWAN协议拨号4 H7 [# b& ^, S! n
9 S$ d5 s) g8 ^) i3 i5 O2 W
QMI: Qualcom Message InteRFace# F1 h$ H" x, a+ r

0 {" Q- Q7 W  W# _& O( bMSM: Mobile station mode
  w7 |/ _. p# A& C
5 h1 y, L: y$ \
AP: Application Procesor2 V( |; ^+ \$ E: d; v* Z# G' ^4 ]

% n+ a2 ?1 G/ D6 G) G4 t, D高通平台目前都是非对称多核心,最主要的是AP和Modem。两个处理器怎么进行通信呢,我们把AP和Modem当作两个主机,问题就变得了很简单,TCP/IP协议不是一种非常成功的进程间跨主机通信方式。高通没有采用这种方式,但是借鉴了TCP/IP的框架设计。
* P& |* Q4 b$ {9 b: d

$ x* E+ L6 W/ X% G( FQualcomm MSM Interface,作用用于AP和BP侧的交互,通俗说法就是让设备终端TE(可以是手机,PDA,计算机)
, X- G0 _0 k. O5 K- C4 M7 c) V, y; o

  \7 s, @6 U' Z, p对高通BP侧的AMSS系统进行操作,如调用函数,读取数据,设置其中的NV项等。
* h+ n) f+ c8 i6 o+ e$ i, g

! z5 \3 m+ M, I  r& Q- X* A3.PPP协议拨号:点对点协议
# N) \/ p9 J' D+ Q. p& u7 g

7 K% ^! S. D. \PPP(点到点协议)在拨号过程中用于MS和PC间数据交互、协商。在拨号流程的初期首先开启的就是PC和MS直接的PPP过程,在拨号成功后,还需要依靠PPP协议对IP包进行封装传输数据; [* j7 m- E9 @( G4 q
  h+ ]/ @( m3 j- O1 e3 o
官网源码:https://ppp.samba.org
' H$ m* w0 P1 G0 o' b8 t
3 t9 q' l; U- |4 p4 m# d& h( a6 ~6 W
二 、驱动检查' a* E; R4 U+ H5 O3 E
$ O- A4 W0 I7 E" z$ U1 Q$ j
, h" k# ?$ d7 I7 I

" \7 [2 N, B* ]) }% @. g首先检查是否有USB设备信息。* s) q6 \  }% m( N
) n0 k1 E! I' j
9 ]! _, y9 g4 d: a3 U3 k

3 X+ c" U. c6 f
" b  k0 n+ n5 e% ^  K8 C* s9 n- \
[backcolor=rgba(18, 18, 18, 0.5)]​
. `& P* X1 ^. @# ]" _+ B: d3 t4 [+ }6 }6 p2 m! R% ?8 @0 l0 v
, S2 J0 H" e; W1 O' U, C% ?
! N( z9 E, e; Z

2 r, b% j- X( R% U编辑切换为居中$ S7 i' \0 z2 u/ X

4 ^3 x6 [8 P" @" ?& v# r! ]" X# B7 W4 y4 h4 R! N; q" C

, y7 s; s: m" G+ @" i  F# W, [. p- Y; ~4 V7 ]
- _" O- M+ i7 ]+ H4 p2 |1 Q
4 q; e3 P2 _) [6 q3 t
. l8 L7 r2 u, @
& g  [1 ^* T" x* V5 Z1 ^4 W

3 o' L, U& D$ U& ~( Z; p$ {然后在dev目录下查看设备。) n8 T5 f3 I0 j$ s
3 W7 r7 [8 B3 H1 x) e4 @6 f) `
& i4 N6 H( H  r& _6 E9 z2 V
: ?3 E! c& D. y) U& o4 f! i# d

  f: i. j4 s! [' D8 H# z& b
[backcolor=rgba(18, 18, 18, 0.5)]​
5 o7 p2 E6 ~4 U0 K. ~* ~
0 I' }6 Z, N! ^

! w2 w& |1 [( V& `# z0 E  ~% V* y
6 U8 e$ }( Z2 {* D
( h, T& p) ^$ I! q, ?编辑切换为居中: C! a# S. k2 X4 q2 k

$ N  [; A, d" B& p
/ {0 }$ e" c3 m* T& {2 g1 Z4 n& u, P
- I: S8 W8 n- b4 r

0 X/ Y* m+ D. l& B6 Z$ t. G; k8 P2 W6 T/ J0 t( b
+ ]# k; r: ], @0 p, y# ~

- U3 c7 f0 U0 {/ h

$ v* J" |9 z5 q9 D6 F另外在dev下还有一个qcqmi0。4 J' x1 \4 V, r3 A: }) m, Q3 D" _

$ ~5 P2 ^2 ?" F, d7 r% L- @  w* J) Y

5 F7 O; `% o% K( H

0 ^% a1 n5 S5 w0 R: Q
[backcolor=rgba(18, 18, 18, 0.5)]​7 ~, q% w0 j0 T4 u
, ~& N6 p6 g* K$ O+ P

6 A0 W' k, J5 Z" P+ }8 a/ Z2 p5 ]0 ~8 E5 n1 O

3 }1 t* \, x+ |2 j( Q* t# {7 F* O编辑切换为居中
: {: f8 F3 n4 J: _/ P3 J! D
2 o5 t$ ^5 B% q1 X9 |, W; I( V# z! X/ Q4 J# P

) o- }6 r3 |- H  R; \; r( r( f$ A( v" R1 }; H% ^" C) c2 R8 q7 ^$ j9 `

) V7 z3 M9 R, d& d) Q3 K, h* x) [
' D3 O/ ]. y& I" V$ s* u( O, q' c: x" U5 _9 q0 ^" m
) C# g$ r6 r" h6 v6 \' m

, T, z- N5 b9 ^9 f2 l" c& W说明驱动已经集成了GobiNet。
* U* M. q- b% Y# x0 y2 G- N
  T) ?' i* K" Y* R
三、拨号上网! F* H" W, ?$ g5 j' q  V
拨号程序使用移远提供的quectel-CM,这是一个4G连接管理程序,交叉编译后得到可执行bin“quectel-CM”,将quectel-CM下的Makefile文件修改成如下,然后 make
0 Y" L7 R% p& [$ h# |

* [9 J* b- G4 [" ?5 C& n9 sCC:= aarch64-linux-gnu-gcc6 ?* k7 r( g0 \- s& M5 L/ K1 N
" H+ h" {) O" u% b
[backcolor=rgba(18, 18, 18, 0.5)]​
  f6 V" y8 {% I0 T+ H% ^$ n0 V- |% Q. u8 j+ W

0 j* v+ V7 Y' o$ l; E) \# F! u( H- x' N: u& F

! S* l/ _; _+ \编辑切换为居中+ A+ B5 g( H0 S+ o& g. A
, z7 R1 N1 i6 ]9 a, w
" h0 o) @+ B/ y0 G8 {4 z
/ h9 k- {# a' {  e

* W2 T$ a* H4 X* _9 X! v6 R! w2 g8 G# w( Q/ v2 p0 I6 k

4 w' k2 n8 v7 P# G) A4 ?# F把这个bin放到OK3588-C开发板上启动后上述一、二驱动没有问题的情况下直接执行该bin就可以。将quectel-CM可执行程序拷贝到OK3588-C开发板中。
- ]/ I! q5 m) V# b! V$ t# o
# G5 ~$ |5 {9 R. \$ W
【注】移动是[cmnet],电信是[ctnet]。
! Z4 {* _3 \3 r! i6 h+ g
( V5 ^( `' d: L% _. k5 P8 [8 k5 V; [" f
$ ./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_REVB4 I1 f  f7 x" O+ N/ Z, N  [
这就是拨号成功了,当然也可查看IP信息。
/ f1 P& d' U. N) Z: n3 b! d$ }; N
0 c. I4 |# V7 O8 R$ m
  f3 d3 T, ]) y6 q
' E9 Q' ~- p8 N' V

# z/ W  K, _) Q4 c1 j$ u7 [
[backcolor=rgba(18, 18, 18, 0.5)]​
7 T* N) `5 I7 t  d$ l
& C1 c6 A; G- M& Q5 U1 M

* }) N& S) _# }+ c: e# }# ?. x8 g! D) q% _6 u( L4 N) z% `' c4 m
- P& U8 ?6 \) {: g' U
编辑切换为居中
' n1 a4 M$ p1 o( l" C! a
" K6 ^' C; o1 U- f( ]/ d/ B0 Y6 _
6 I. U- g! ^$ }  h7 p5 x: W& q1 h3 I5 R5 G, H) J4 z* u
3 C0 Q7 Z- m1 X7 t7 J
5 A  a+ e' S% E3 a5 L
8 ]* g% D+ W) I  `/ n
) b) X! G% E- P
9 m. U; y7 L0 I. e: o5 W0 J
! {# \: L; v5 F- N
# g1 E( ~8 [7 |. K$ M
' H7 t9 |- Q0 G) R% y. N
- b4 D' e9 j( X0 Y
接下来就是ping一下看是否可以联网。
8 A$ r5 T$ E! W  r8 H
% r" p( p/ X1 f% y
# ping 211.149.226.120
8 R/ R, m2 |7 z8 ?' A2 @. v
& N0 F  Q/ p9 l/ C7 J  @4 g* t1 e

$ E& M3 w& l+ W- Q" T# d5 b* x2 q) O, S2 j+ O6 A7 [- {
/ Y) g7 {1 p7 H8 x& M7 @2 A* t: B
[backcolor=rgba(18, 18, 18, 0.5)]​# n( U2 @  Z6 L0 u0 I. R( R' h
! o/ @0 k6 Q, J5 Z

5 w( B2 d$ \! K& B( a2 M( ~! ]/ G; p, E
" _: r" }0 [8 d2 S+ i8 L( r
编辑切换为居中$ V/ O- I, M% S* u2 E

! J, X# u1 Y8 b/ J
4 Y' \& E1 I( B5 f8 w0 D2 z, z: r4 _; A" Y
" Z) g* f8 X7 Q  Q2 J

" ~  {2 f: ~' R7 T5 G% x
7 N  j: Z- c# d2 j" @
6 l: m& L  N3 ?- a2 u
4 f5 u2 k: q* X$ T- Y$ F

# ]& _8 }) y* \! H8 t7 `' q' W& A' R可以看到能ping通外网。5 E0 K8 f* E, t, b

8 S4 e$ Z! ~1 |0 z$ I' Q! {" r这样设备就可以作为一个移动的网关的,配上无线网络,就可以做一个无线路由器了。
3 T4 H! D) e( X3 x+ ?

) W$ P# c$ B" }0 u" x) R1 F
. h# _* F" v% t; [% w) O7 c

该用户从未签到

2#
发表于 2023-6-28 18:07 | 只看该作者
有模块的开发板嘛, S) c. @9 W4 K6 r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 02:20 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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