TA的每日心情 | 奋斗 2020-3-25 15:17 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
适用性说明表 1
( `+ _. c" C/ c+ O5 F: f开发板型号
0 {' \5 B9 h- ]% l6 n | 是否支持本实验# S4 |- f \* S t; y/ n4 @. R z
| TL437x-EVM0 [& ^0 k0 E" p5 \% u
| 支持% r4 D9 p8 N$ X: T/ c: A% z+ E
| TL437x-EasyEVM! K3 k+ a6 x* }* D( F, [1 R
| 不支持8 G1 ^# Z2 G. L) `" a) q1 j* _
| TL437x-IDK
+ m. N2 y( J# l U _7 j | 不支持" w! h, |# ~: ~/ W; h
| TL437xF-EVM* v. _4 o1 |- q, ]! K/ D! d, E6 K
| 支持: [' I) b* ]# M5 V# S! i
| ) O2 @8 X# |3 y8 [4 L
本例程测试使用的USB 4G模块型号为ZTE中兴ME3620,也可选择ZTE中兴ME3630模块测试,这两个模块兼容。模块封装为Mini PCIe,通过USB转Mini PCIe转接板和开发板连接。7 S: a: L7 M) D4 b: @5 z5 \
0 n' F9 \, ^' U9 C; Q. ^1 Z/ B0 x 例程编译修改内核配置打开Ubuntu,进入Linux内核源码顶层目录,打开内核图形配置界面。
9 p0 t3 [- o5 P$ lHost# make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- menuconfig R: X. T4 t; X9 L2 J: s7 P! m
![]() 图 1
% [+ t8 G' c; F( J
2 w% [5 K7 |$ T& c4 P在打开的图形配置界面中,点击“Device Drivers—> USB support—> USB Serial Converter support”勾选以下选项,添加ME3620模块所需USB驱动。' A, X, B/ h8 k" V A2 p% }
![]() 图 23 W! g* X7 M5 L" B! X5 t" z
9 U% y& s* `( o
![]() 图 3
" O' W: H5 w, t; X5 J
& h1 p! F! E; A m' w点击“Device Drivers—> Network device support”勾选以下选项,添加ME3620模块所需网络功能。1 C: v% x% h( Q1 q* {
![]() 图 46 F. G' t' L3 s# Y
![]() 图 5
# F! i3 I1 o7 s }" `6 f- c4 N' i% L) U
添加VID在内核源码目录下,修改“drivers/usb/serial/option.c”源码,添加VID。在下图所示位置添加如下语句,生成相应usb节点。
, Q' a) [7 U4 YHost#vi drivers/usb/serial/option.c- K: Y4 ?. U, u3 l, Z$ ]% v
![]() 图 6. d5 j% ]6 W% Y( y$ _8 \5 ~& z
# j% f3 b7 O( {4 L9 W% ^7 a& ]添加以下内容:
5 }, j6 Z1 b- k% d0 s1 U{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0xff, 0xff) },/* ME3620*/
# C% F# O) z" V g{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0x00, 0x00) },
, U4 T! |; b9 `$ p9 b![]() 图 7
4 Q7 o1 c# {% \
* K/ t9 H3 _7 x P重新编译并替换内核在修改内核配置与添加VID完毕后,重新编译内核。进入内核源码目录,输入如下指令编译内核,将在当前目录编译生成的“arch/arm/boot/zImage”文件,将其替换掉SD卡rootfs分区boot目录下的同名文件。
; R: n( O5 r3 V7 e% o7 ], RHost#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4) I. X( u( V$ \/ g. y) R
![]() 图 8* R4 B+ p2 h8 }5 H+ W- Q8 y
0 I2 h! g/ k* K4 P3 Q
![]() 图 9
& \! _8 f; ~ \2 g6 |# k" n' c t) T- P
例程说明与应用编译程序本例程测试所需驱动源码文件位于光盘“Demo\usb-4g\ZTE-ME3620\src”目录下。为方便测试,我司同时提供了经过验证的可执行程序,位于光盘“Demo\usb-4g\ZTE-ME3620\bin”目录下。
8 {& R& F0 t& k1 D# w) C, s& l将“Demo\usb-4g\ZTE-ME3620\src”目录下的文件上传至Ubuntu的“/home/tronlong/4G”目录下,进入该目录,执行以下命令编译程序并将编译好的可执行程序拷贝到开发板“/home/root”目录下。
s0 C8 [7 `, uHost#make. L+ P T1 l0 M
![]() 图 105 j$ e9 l0 ^& T% l
( ^1 F6 n) [: e
实验测试说明网络功能测试:me3620_network_setup
, p0 \1 H% |* ^* b程序功能:选择ECM模式后重启生效;设置网络连接参数和ECM数据访问方式;开启DHCP以获取IP和DNS;程序利用“ping www.baidu.com”测试网络是否连接成功。- A: V6 B. J$ u5 h
运行程序:./me3620_network_setup <device> <new_network_card- J/ Z7 @( b% o% i9 @3 H
- <device>是ME3620的设备节点名的AT端,即设备号,可用命令:ls /dev/ttyUSB*查看,一般设备节点名为/dev/ttyUSB1。
- <new_network_card>是新增的网卡名,可用命令:ifconfig -a查看,一般为网卡名为usb0。
- 例子:./me3620_network_setup /dev/ttyUSB1 usb08 ~" ^. Y+ H/ v! r6 w9 P
短信功能测试:me3620_send_sms$ Q& Y; c- N- h& P# D4 v4 P
程序功能:设置短信发送内容的模式;发送短信到手机上。
F& t: M0 h0 e* r" v; ~9 B) H运行程序:./me3620_send_sms <device> <phonenumber> <text>
& O2 i# H9 A# O" Y: y- <phonenumber>是发送短信目标手机号。
- <text> 是要发送的短信内容;短信内容中间不可有空格;譬如mess age中间有空格,则提示错误。
- <device>为设备号;重启后可能会变化,具体情况和操作处理参考重启ME3620方法。
- 例子:./me3620_send_sms </dev/ttyUSB1> 182******** message
0 L# Y2 s# n; L$ E7 `. t 通话功能测试:me3620_phone_call
& I3 g, L% c. m+ B程序功能:拨打电话。- B' A! O" R t9 [3 x5 W; a- {; S% r
运行程序:./me3620_phone_call <device> <phonenumber>/ x4 i l8 N% ]- d- B
- <device>为设备号;
- <phonenumber>是拨打目标手机号。
- 例子:./me3620_phone_call /dev/ttyUSB1 182********" J6 k5 {3 d# ~- [% U3 C
获取经纬度功能测试:me3620_get_location# o% a2 A( j. b2 A$ ~
程序功能:获取经纬度。: C) F" p2 K+ m+ {5 d& H+ I
运行./me3620_phone_call <device> <wait_minute>
& k0 s8 O8 ~, o# D- <device>为设备号;
- <wait_minute>为等待返回经纬度信息的时间(单位为分钟)。
- 例子:./me3620_get_location /dev/ttyUSB1 10# F; P# P. L9 j
例程测试进行4G模块测试前,将移动或者联通4G卡插到ME3620模块上,同时插上天线,天线接到MAIN处,将USB 4G模块插到USB HOST接口处。正确插入4G卡与天线后,转接板上的D2 led会亮蓝灯,若此灯不亮,请检查4G卡是否插对位置,天线是否连接正确,USB接口是否插稳。
6 X" }* j. f0 H8 D# A; g, H查看VID
. K$ `) v# U1 @8 `1 u由修改内核源码而添加的VID可执行lsusb命令可以查看4 v' X' H, F, @# K
Target#lsusb5 f( q: }+ I0 l% b( ^ W
![]() 图 118 v# P2 o+ b+ T+ x
/ Q& q" d \: n) Y4 }* q网络功能测试: W0 o& _* J; B" }
执行以下指令查看usb0网络节点。$ [& x+ W7 F& h8 K7 o
Target#ifconfig -a
s- t* _( W+ `4 g+ O: W; c![]() 图 12+ }% C. B% g* r
3 y3 `. V2 h4 X/ R' W
执行以下指令关闭其他网口,只留住usb0网口,ping外网测试网络功能。
3 e4 }- j, p0 [& W8 m/ c7 o+ XTarget# ifconfig eth0 down4 ?* o6 i# E4 ?$ I) d
Target# ifconfig eth1 down
- c; O% J4 _/ V6 H7 m3 n; H: v7 WTarget# ./me3620_network_setup /dev/ttyUSB1 usb0/ _( U. I+ A( X% o- P
![]() 图 13
% c7 o8 I' M( S. Z! s2 H H# _5 Q; O4 M( ?: s2 `- n; y) _- Z# h
短信功能测试) i$ ^8 @/ ]9 r, r
执行以下指令,通过ME3620模块发送短信,相应手机就会收到信息。
% h# e; E- P7 ETarget# ./me3620_send_sms /dev/ttyUSB1 182******** message
9 S! E, j i& {# y![]()
% K7 B& X1 p g2 Q' _2 m: {" c% ?/ P3 k) k图 14
4 n9 z3 q/ N% k$ _! u1 ]9 I![]() 图 15
6 f4 t& Q5 y. A. b b& b/ q2 d& x" y% C
通话功能测试6 d2 t& I: G* s" F1 u7 Y% J
执行以下指令,通过ME3620模块拨打电话,相应手机就会接收到来电提示。7 X( V( p- ^! a2 @
Target# ./me3620_phone_call /dev/ttyUSB1 182********' B' ?- O& w) i. |% e; @
![]() ! `5 K$ T5 y' Y% C
图 164 z$ j& x4 e0 m
![]() 图 174 B) m& M( R( n6 a+ [+ Z" o
6 u* N6 g* w2 f. c) ~ I) p; J& v
获取经纬度功能测试; N/ U* u, h7 k7 {4 d0 j) n9 R3 E
测试获取经纬度功能需要将GPS专用天线连接到ME3620模块的GPS接口上,摆正GPS专用天线,使得只有GPS三个字母的那一面在上面。测试地点尽量选择空旷的地方,例如天台,广场等,尽量远离墙面,靠近墙面会影响测试获取经纬度所需要的时间。
6 q+ K$ B* x& V# }) e. `; Q/ w执行以下指令,获取经纬度。
0 Y) K8 V5 I' XTarget# ./me3620_get_location /dev/ttyUSB1 10! Y8 k9 V4 R9 X8 v
![]() 图 182 k- x. q* ?: M$ E% u
6 E+ ~) d/ g. H& O8 v7 k
测试过程中,获取经纬度需要等待2到10分钟,如果获取经纬度失败,超时,请检查天线是否连接好,重新执行以上指令即可。
v8 Z3 n; q+ Q7 x在百度地图上查看经纬度坐标,与利用ME3620模块获取所得结果对比接近。
; T; j) ^8 g6 x& j1 G![]() 图 19
( b' z$ k u7 Y4 b& d" f# l* u& T$ Z: m/ k& \2 Z3 G
|
|