TA的每日心情 | 奋斗 2020-3-25 15:17 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
适用性说明表 15 [2 ]$ {& o+ \5 R& c% W
开发板型号
0 [ c# q- T" R- a" Y! |# S, ^ | 是否支持本实验
3 H$ d) u r1 m- |/ c$ @4 v | TL437x-EVM
7 x4 `% r* t8 w$ ~ | 支持
8 C1 G! a5 C3 ?5 s5 u; d0 s | TL437x-EasyEVM) g" L; D: m: t( {- W
| 不支持2 X2 Q8 v1 v: T. d) I5 r
| TL437x-IDK
% |1 h; W- F ?$ z | 不支持8 g: } b% Q& Y/ A; t" W
| TL437xF-EVM. P% j4 M' h9 \" r! o7 E
| 支持8 f1 z) ~, r1 Z# F3 i) r* K
|
5 k' A1 o: K1 n9 M1 N本例程测试使用的USB 4G模块型号为ZTE中兴ME3620,也可选择ZTE中兴ME3630模块测试,这两个模块兼容。模块封装为Mini PCIe,通过USB转Mini PCIe转接板和开发板连接。
5 h7 U V. ~& h/ M9 Y1 z' [' D% e% _. M* B- |( p. [
例程编译修改内核配置打开Ubuntu,进入Linux内核源码顶层目录,打开内核图形配置界面。; }* i) e# n. r$ _& p! w
Host# make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- menuconfig; d0 `2 u4 o- b& ?- D* j0 ?& E
![]() 图 1
% V' U# m- K, ~7 X9 \
A E) i' O( B在打开的图形配置界面中,点击“Device Drivers—> USB support—> USB Serial Converter support”勾选以下选项,添加ME3620模块所需USB驱动。
# B" P) e# W8 d. Z9 a# W. X![]() 图 2
" Y8 {3 T) ^/ n* z7 A2 C1 |5 `. o3 F j9 E
![]() 图 3: v+ d& k4 }) ?! H1 S: C8 a$ Z, z
" O" ~! `% d! W3 t& \! {
点击“Device Drivers—> Network device support”勾选以下选项,添加ME3620模块所需网络功能。
/ u0 ^$ y. S, u2 X( _7 M& d, w) K( j![]() 图 4 u3 V) C: A- H' x4 P
![]() 图 58 f. c! B* o9 Y5 f/ x/ P, W$ @
4 Q7 ~6 O2 b: r添加VID在内核源码目录下,修改“drivers/usb/serial/option.c”源码,添加VID。在下图所示位置添加如下语句,生成相应usb节点。
* I5 A6 _9 \* J) V; o2 R# G$ Q# wHost#vi drivers/usb/serial/option.c
* Z" A* _6 }( H4 Y![]() 图 6$ P6 e1 o! r7 n% W
" ]( ~5 M2 r. H* M; n- l' B添加以下内容:( p" E* @7 d' j2 d
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0xff, 0xff) },/* ME3620*/: `* d; x9 _9 p( |4 H/ q* O5 D
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0x00, 0x00) },$ N, I9 N p+ {! C# L+ w. y
![]() 图 7
4 ^! P% B" C( J& y
! a0 U5 H0 K- J9 g/ l( Y重新编译并替换内核在修改内核配置与添加VID完毕后,重新编译内核。进入内核源码目录,输入如下指令编译内核,将在当前目录编译生成的“arch/arm/boot/zImage”文件,将其替换掉SD卡rootfs分区boot目录下的同名文件。
) a+ j1 c5 J4 K$ d% j. X/ c2 WHost#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4
9 Z2 k0 H# N* a( y+ Q7 V3 U![]() 图 8
l6 U; A( R# s4 Z7 z8 G+ J
$ @3 Z2 Y% P$ e4 ~![]() 图 9- s! G$ [+ j) y6 l8 v, ^
5 T/ {/ k" ?4 A7 j% V' j
例程说明与应用编译程序本例程测试所需驱动源码文件位于光盘“Demo\usb-4g\ZTE-ME3620\src”目录下。为方便测试,我司同时提供了经过验证的可执行程序,位于光盘“Demo\usb-4g\ZTE-ME3620\bin”目录下。
; G/ Y" ]+ s8 h) a将“Demo\usb-4g\ZTE-ME3620\src”目录下的文件上传至Ubuntu的“/home/tronlong/4G”目录下,进入该目录,执行以下命令编译程序并将编译好的可执行程序拷贝到开发板“/home/root”目录下。
7 f+ i% Z4 I+ E9 ~9 `$ e {Host#make7 X* C% P- l4 ]. M' m
![]() 图 10
- r1 n4 F+ o4 c$ L6 |
0 V( K6 {" ~. _$ _- _9 q: k7 n1 @实验测试说明网络功能测试:me3620_network_setup1 Y! a5 L( _7 D H. p" R
程序功能:选择ECM模式后重启生效;设置网络连接参数和ECM数据访问方式;开启DHCP以获取IP和DNS;程序利用“ping www.baidu.com”测试网络是否连接成功。/ p( @& b4 W9 b2 x: W1 f6 y
运行程序:./me3620_network_setup <device> <new_network_card5 e$ O3 E) V* ]/ `4 H
- <device>是ME3620的设备节点名的AT端,即设备号,可用命令:ls /dev/ttyUSB*查看,一般设备节点名为/dev/ttyUSB1。
- <new_network_card>是新增的网卡名,可用命令:ifconfig -a查看,一般为网卡名为usb0。
- 例子:./me3620_network_setup /dev/ttyUSB1 usb0
. |+ |- `" ?' d 短信功能测试:me3620_send_sms
3 }- I- X4 d' f+ ~0 l: S1 O程序功能:设置短信发送内容的模式;发送短信到手机上。
- Z* w4 `, H- m% \- t运行程序:./me3620_send_sms <device> <phonenumber> <text>
1 i! m' H& m, \6 N' B8 _$ `8 |) w- <phonenumber>是发送短信目标手机号。
- <text> 是要发送的短信内容;短信内容中间不可有空格;譬如mess age中间有空格,则提示错误。
- <device>为设备号;重启后可能会变化,具体情况和操作处理参考重启ME3620方法。
- 例子:./me3620_send_sms </dev/ttyUSB1> 182******** message
+ k I# u* [0 d4 e 通话功能测试:me3620_phone_call8 l9 ?. Z/ l! u' j0 k$ [
程序功能:拨打电话。
- i1 B# {; L' B# {运行程序:./me3620_phone_call <device> <phonenumber>
- F" `( |1 `6 `5 u8 V2 o- <device>为设备号;
- <phonenumber>是拨打目标手机号。
- 例子:./me3620_phone_call /dev/ttyUSB1 182********8 L. N* X) }8 H
获取经纬度功能测试:me3620_get_location6 ?, }) L! i# r3 r. m: Q
程序功能:获取经纬度。( Y9 A* W8 K& Q4 f$ Z9 \5 Q
运行./me3620_phone_call <device> <wait_minute>0 F5 N m2 ^% y. f8 ]8 j+ J
- <device>为设备号;
- <wait_minute>为等待返回经纬度信息的时间(单位为分钟)。
- 例子:./me3620_get_location /dev/ttyUSB1 10
* z. [/ O8 r( k5 R9 [1 V& X 例程测试进行4G模块测试前,将移动或者联通4G卡插到ME3620模块上,同时插上天线,天线接到MAIN处,将USB 4G模块插到USB HOST接口处。正确插入4G卡与天线后,转接板上的D2 led会亮蓝灯,若此灯不亮,请检查4G卡是否插对位置,天线是否连接正确,USB接口是否插稳。
" n" p7 A, U: c/ r+ G" H查看VID# U! g/ S0 E$ f2 b* m7 t5 ]
由修改内核源码而添加的VID可执行lsusb命令可以查看) B Y& \4 g$ q& {# m$ J$ i4 S
Target#lsusb
! G4 [: T( P* S# p; S+ n4 U![]() 图 11: f. G' @* U0 |7 z3 S$ E" Y
% ?5 A8 ~1 g$ p& M/ T! D网络功能测试
0 S. w2 H' M$ h1 ^4 O6 u+ i% r- j执行以下指令查看usb0网络节点。
! ?" K4 i/ B7 J! L6 S5 E/ b5 uTarget#ifconfig -a' F0 F4 L2 z! o
![]() 图 122 w& _9 P" c$ [- C- ^
7 |0 [0 p ]# v% M; c4 H
执行以下指令关闭其他网口,只留住usb0网口,ping外网测试网络功能。
1 s; B1 }1 a$ w+ D' m. GTarget# ifconfig eth0 down' z) B. m% q! {& o$ l% |
Target# ifconfig eth1 down
, r' {/ J6 o* N, E& Y/ |, MTarget# ./me3620_network_setup /dev/ttyUSB1 usb0+ ?6 L7 ~ U5 n1 B( D* X, u
![]() 图 13 ?6 C) H% [# c& j$ e) T% }
! R' l9 @; h$ A, e7 Y# d
短信功能测试( e8 @6 _) O- Q+ f
执行以下指令,通过ME3620模块发送短信,相应手机就会收到信息。( Z7 t: E+ _; X' I
Target# ./me3620_send_sms /dev/ttyUSB1 182******** message0 b5 \9 x6 K" D6 \1 o H3 T
![]() 3 U* R% `5 i; ~1 Z4 \/ V1 A8 }
图 14$ J& x5 A3 u( j) {; q6 |
![]() 图 15
* {* A! C- }7 @0 L7 n. Z1 R6 ]2 \: A, t0 r
通话功能测试
7 J" \7 W* i! C2 E7 h执行以下指令,通过ME3620模块拨打电话,相应手机就会接收到来电提示。
5 H7 \7 p" b7 X7 s! T+ i+ PTarget# ./me3620_phone_call /dev/ttyUSB1 182********, k5 ]8 v1 l, p3 v2 F
![]()
+ S( @, u; o" L6 z( c图 16
5 u, S1 F; V% i: y0 V2 d0 }2 i, F![]() 图 17
2 h6 W$ d; ]% |8 {9 Z+ E1 d
1 ?- a9 G' `3 q2 o获取经纬度功能测试
; O U% x6 |: ?" P5 p3 I, G; q测试获取经纬度功能需要将GPS专用天线连接到ME3620模块的GPS接口上,摆正GPS专用天线,使得只有GPS三个字母的那一面在上面。测试地点尽量选择空旷的地方,例如天台,广场等,尽量远离墙面,靠近墙面会影响测试获取经纬度所需要的时间。
+ _$ q7 z# B% T1 L执行以下指令,获取经纬度。& ^6 f3 T3 c1 [; _
Target# ./me3620_get_location /dev/ttyUSB1 10
( C6 L9 E7 u" [* P$ @' T$ V# \2 o5 J/ S![]() 图 18
- I; l+ o& P& |1 E, y" w
0 _( F1 R# i, D测试过程中,获取经纬度需要等待2到10分钟,如果获取经纬度失败,超时,请检查天线是否连接好,重新执行以上指令即可。& b( m$ ]# I% ]& d" j* i
在百度地图上查看经纬度坐标,与利用ME3620模块获取所得结果对比接近。& Z. V9 h% @) _+ N' V ~ B
![]() 图 19( D' e2 K& G1 Q2 y' k* p* s9 L7 z
, w2 p, v8 b& o0 e% q4 _5 G: ] |
|