TA的每日心情 | 奋斗 2020-3-25 15:17 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
适用性说明表 19 G) Y! T. r. X k
开发板型号% {+ k P1 @( O8 s4 F
| 是否支持本实验
8 |8 k5 a+ @/ E9 ]- W/ e | TL437x-EVM! u# X: X! d% B3 |! a' o
| 支持 `* V! G4 J# p/ R
| TL437x-EasyEVM
+ e8 e4 Z0 _9 i" |2 u | 不支持2 X' o* V; p7 s$ z1 E' d- q
| TL437x-IDK4 D7 Y \+ \. _- P4 F% e
| 不支持
2 D$ y2 Q+ X% |/ m | TL437xF-EVM
. n6 M; o" E. O* [" A8 z! R! U9 }0 O+ t | 支持
- W& \, E, f8 e% N2 D; ? | , A9 }5 C T& q* }
本例程测试使用的USB 4G模块型号为ZTE中兴ME3620,也可选择ZTE中兴ME3630模块测试,这两个模块兼容。模块封装为Mini PCIe,通过USB转Mini PCIe转接板和开发板连接。1 v4 k% J/ y `' c+ J5 v- `+ r( U
& ?0 P* g) h& V1 s' i Z( Z
例程编译修改内核配置打开Ubuntu,进入Linux内核源码顶层目录,打开内核图形配置界面。+ k; g/ H- ^. C* R5 F& H L
Host# make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- menuconfig' s p: E1 R$ y: ?$ |' K
![]() 图 1) E. d" v- C l
& l7 a; j: V2 Y" A
在打开的图形配置界面中,点击“Device Drivers—> USB support—> USB Serial Converter support”勾选以下选项,添加ME3620模块所需USB驱动。+ o2 r2 w! }7 P8 {" u# b6 P0 L
![]() 图 2
& Y3 g2 A# s8 R# I9 `( f2 s S3 v% V4 ?- n, E& X, c
![]() 图 3
6 j$ q; _9 Z/ {7 j/ F/ I* D1 Q4 Z* p5 d( K; k
点击“Device Drivers—> Network device support”勾选以下选项,添加ME3620模块所需网络功能。
K9 [3 d) l! h5 R9 k3 y![]() 图 40 {# {3 n+ j' V: Y) C! `- P6 C
![]() 图 57 v* d' O7 Y; D( Z
. ^8 K6 V/ x" R7 v3 }# w4 X2 x$ ^6 q R添加VID在内核源码目录下,修改“drivers/usb/serial/option.c”源码,添加VID。在下图所示位置添加如下语句,生成相应usb节点。( u; m3 a, m8 {( m6 R* ?* D1 c
Host#vi drivers/usb/serial/option.c
! Q) I& i3 \& u![]() 图 6% X. f! x" x7 Y; n
5 d3 C2 V9 M9 u: B# T L添加以下内容: f. Y+ W2 \1 }7 J! ^/ R+ _
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0xff, 0xff) },/* ME3620*/& Y: ~$ I4 f7 m
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0x00, 0x00) }," m) n+ p0 w+ c& e$ M$ l$ S
![]() 图 7
7 i6 a; d/ y5 p' x R% |4 o. j: v+ x. j" S1 d* X: z: }# }
重新编译并替换内核在修改内核配置与添加VID完毕后,重新编译内核。进入内核源码目录,输入如下指令编译内核,将在当前目录编译生成的“arch/arm/boot/zImage”文件,将其替换掉SD卡rootfs分区boot目录下的同名文件。" {' K- w, B/ s4 N9 m$ d+ x
Host#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4: F9 [' W' K& H! h
![]() 图 81 E0 y! k9 S+ |8 H6 O/ ]
6 B5 W2 ?0 f+ u% O+ F
![]() 图 9+ K3 V/ v* q+ ]+ N. b8 v$ G
/ R- q( v D9 z5 g: i
例程说明与应用编译程序本例程测试所需驱动源码文件位于光盘“Demo\usb-4g\ZTE-ME3620\src”目录下。为方便测试,我司同时提供了经过验证的可执行程序,位于光盘“Demo\usb-4g\ZTE-ME3620\bin”目录下。) ]$ p' F3 j- Q) Q8 Z
将“Demo\usb-4g\ZTE-ME3620\src”目录下的文件上传至Ubuntu的“/home/tronlong/4G”目录下,进入该目录,执行以下命令编译程序并将编译好的可执行程序拷贝到开发板“/home/root”目录下。5 D- A" T5 E% I" N& S; W
Host#make9 `& _7 ^ C4 P- u8 f1 V
![]() 图 107 w1 @3 y0 V$ J
$ N4 t6 q4 ~9 S& }7 t. N
实验测试说明网络功能测试:me3620_network_setup8 z1 M9 _$ v+ }4 z# e
程序功能:选择ECM模式后重启生效;设置网络连接参数和ECM数据访问方式;开启DHCP以获取IP和DNS;程序利用“ping www.baidu.com”测试网络是否连接成功。
. O4 g+ Y$ Z9 [. N# j6 Y3 a$ O运行程序:./me3620_network_setup <device> <new_network_card5 V! {8 K' t3 r/ ]% t% P
- <device>是ME3620的设备节点名的AT端,即设备号,可用命令:ls /dev/ttyUSB*查看,一般设备节点名为/dev/ttyUSB1。
- <new_network_card>是新增的网卡名,可用命令:ifconfig -a查看,一般为网卡名为usb0。
- 例子:./me3620_network_setup /dev/ttyUSB1 usb0; b9 P& ], b! h; ? s' h! r
短信功能测试:me3620_send_sms7 g& f' M5 ?; _7 H5 {4 G
程序功能:设置短信发送内容的模式;发送短信到手机上。
0 \+ k% ?. ?" t8 Z$ M c0 l7 |运行程序:./me3620_send_sms <device> <phonenumber> <text>
3 B& ^; g2 z) F9 h% ~- <phonenumber>是发送短信目标手机号。
- <text> 是要发送的短信内容;短信内容中间不可有空格;譬如mess age中间有空格,则提示错误。
- <device>为设备号;重启后可能会变化,具体情况和操作处理参考重启ME3620方法。
- 例子:./me3620_send_sms </dev/ttyUSB1> 182******** message' R) G" ^$ H2 L# J0 k/ e1 N
通话功能测试:me3620_phone_call
7 G. }0 i7 V2 X) n* B! }程序功能:拨打电话。, B$ E/ I3 S) ?
运行程序:./me3620_phone_call <device> <phonenumber>2 ?) X! z$ ~9 M$ h
- <device>为设备号;
- <phonenumber>是拨打目标手机号。
- 例子:./me3620_phone_call /dev/ttyUSB1 182********
3 } W# q7 O; A 获取经纬度功能测试:me3620_get_location
+ o( Q7 h+ h; a' o程序功能:获取经纬度。
7 ~0 @+ D. U8 i- j: v* j/ Y% Z运行./me3620_phone_call <device> <wait_minute>
6 ~7 Q0 b+ z! m' U! `* G- R- <device>为设备号;
- <wait_minute>为等待返回经纬度信息的时间(单位为分钟)。
- 例子:./me3620_get_location /dev/ttyUSB1 10' Z& H! U$ q& w1 t% V! X0 w
例程测试进行4G模块测试前,将移动或者联通4G卡插到ME3620模块上,同时插上天线,天线接到MAIN处,将USB 4G模块插到USB HOST接口处。正确插入4G卡与天线后,转接板上的D2 led会亮蓝灯,若此灯不亮,请检查4G卡是否插对位置,天线是否连接正确,USB接口是否插稳。' I0 q3 l% I9 P* J. \" w& e
查看VID$ \+ J0 P5 w1 X& j
由修改内核源码而添加的VID可执行lsusb命令可以查看
1 z4 E1 e4 J! a9 W7 E j _8 lTarget#lsusb9 s" u' f A8 {+ k
![]() 图 11
5 X' ]$ |. O9 p8 ?
1 h5 p9 Y2 H! K2 j: J: v网络功能测试
2 c. w+ u" x9 \# t5 K& H执行以下指令查看usb0网络节点。8 n1 D$ g. R& ?5 v8 \
Target#ifconfig -a
: T; x( q1 a" Y, P7 c8 H) h![]() 图 12( e4 S5 J6 t( P) I
- O3 \& ~& |; [2 L: w& v4 p
执行以下指令关闭其他网口,只留住usb0网口,ping外网测试网络功能。( K+ ~ k4 R: I0 ?8 U# T5 d# o( r
Target# ifconfig eth0 down
! R* i" g% c3 v! i5 x1 i7 ^, f: fTarget# ifconfig eth1 down
8 E+ m G+ @6 M# g) cTarget# ./me3620_network_setup /dev/ttyUSB1 usb05 k: @: G6 X! C
![]() 图 132 G7 h7 ^5 e- l
8 \. q$ |# _+ `( }. Z5 Y \! s2 s( b
短信功能测试" c! o" k; X- g( ?6 v
执行以下指令,通过ME3620模块发送短信,相应手机就会收到信息。
6 I+ Q- v( d+ \Target# ./me3620_send_sms /dev/ttyUSB1 182******** message& ~2 W+ W e+ W9 h# X$ G& X2 H
![]() " R% j( U( Q$ A: J0 H/ u9 F& T
图 144 y% g V% R4 ]2 m
![]() 图 15
+ F" S* A7 h$ O. {. S- ]9 n! k$ B; E" i% R3 Y8 R
通话功能测试( z, S% L& a( J$ w2 u5 t/ f
执行以下指令,通过ME3620模块拨打电话,相应手机就会接收到来电提示。
* ?$ d u' E6 @+ oTarget# ./me3620_phone_call /dev/ttyUSB1 182********) g t: \- P1 y1 y4 s1 g0 ~
![]() I: H; F3 ~6 Z0 \/ y7 r
图 16
! {- \ ?0 `+ e5 x0 v4 `![]() 图 176 h: c" [9 S5 M" b% q+ [. p/ o
3 V7 {4 x; o b; a* H获取经纬度功能测试
& [. S5 ?+ o* n* j- Z测试获取经纬度功能需要将GPS专用天线连接到ME3620模块的GPS接口上,摆正GPS专用天线,使得只有GPS三个字母的那一面在上面。测试地点尽量选择空旷的地方,例如天台,广场等,尽量远离墙面,靠近墙面会影响测试获取经纬度所需要的时间。7 f* Z3 L1 X& a$ e2 R6 X
执行以下指令,获取经纬度。% M4 Y6 k/ L( I
Target# ./me3620_get_location /dev/ttyUSB1 100 T U" x' P& i
![]() 图 184 r( a) _$ a# V8 ~6 k3 i
4 |: E* S' y9 [2 G K测试过程中,获取经纬度需要等待2到10分钟,如果获取经纬度失败,超时,请检查天线是否连接好,重新执行以上指令即可。! x5 f7 w3 v+ _- _3 b
在百度地图上查看经纬度坐标,与利用ME3620模块获取所得结果对比接近。8 H. T) [# `' u/ O
![]() 图 19
+ \- U; Y/ i3 J7 C; s% H8 g+ Z3 u0 U. ^6 _
|
|