TA的每日心情 | 奋斗 2020-3-25 15:17 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
适用性说明表 1
2 [( p+ D* i3 [1 O; i: X开发板型号
9 I# J% x7 v0 `0 i u; d | 是否支持本实验. h+ `* H& T% c9 o# P9 T
| TL437x-EVM
7 u$ }5 s+ j" H4 n. ]. \% K5 y& P | 支持( m) G/ L) j( }
| TL437x-EasyEVM! r$ \9 }! _4 `! T/ ^$ W: p
| 不支持; r9 _/ j4 e9 m% |) K
| TL437x-IDK
+ `/ Z3 J4 z8 ^1 g0 Z" c | 不支持
1 M1 ?7 V/ t) Y, V) |( o! u | TL437xF-EVM0 ]7 T4 t; F2 X' g5 G9 a
| 支持
. M8 d5 ^3 `3 `1 v. E& m* I. e2 @ |
0 F( t2 y! H' f T: H/ o本例程测试使用的USB 4G模块型号为ZTE中兴ME3620,也可选择ZTE中兴ME3630模块测试,这两个模块兼容。模块封装为Mini PCIe,通过USB转Mini PCIe转接板和开发板连接。) \3 K* p) ]5 r: [1 M
( n- h$ o" P0 W
例程编译修改内核配置打开Ubuntu,进入Linux内核源码顶层目录,打开内核图形配置界面。
" g9 L* K; r# k" n' Z& PHost# make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
" e: t! B2 P4 n* o) ^2 }/ ]![]() 图 1
' B" x& D& G c: \* t' p$ R+ B7 I
7 v% q1 J" o( X3 p在打开的图形配置界面中,点击“Device Drivers—> USB support—> USB Serial Converter support”勾选以下选项,添加ME3620模块所需USB驱动。
9 L/ N5 c, r p" d2 t![]() 图 26 X+ T" ?% u, |1 E1 @& M
5 i. L9 \4 {! T2 z9 I5 {4 C1 J3 y
![]() 图 3
, o. g. Y6 X3 {, M ^. S2 E. q/ T7 O4 u9 f
点击“Device Drivers—> Network device support”勾选以下选项,添加ME3620模块所需网络功能。
; K& q5 [! }7 l# T/ D, h![]() 图 4% m" y* e! C' L4 d
![]() 图 5
1 I" D2 p4 N4 U% J" l( k
: g) w+ f+ o+ r$ H( x添加VID在内核源码目录下,修改“drivers/usb/serial/option.c”源码,添加VID。在下图所示位置添加如下语句,生成相应usb节点。4 t- H9 V* }, _$ d
Host#vi drivers/usb/serial/option.c3 n; }% w$ {5 N' p- N4 y1 s9 ~7 ]1 R
![]() 图 66 f6 h( T1 v8 d* p; a
* `9 Q! B+ w \" R2 ~9 z, Y/ y
添加以下内容: x( b! P$ h# u2 m6 o3 v' L
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0xff, 0xff) },/* ME3620*/" ~& E7 U# \' f5 [, t A
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1476, 0xff, 0x00, 0x00) },( w- K) ^1 ^5 k3 V& V
![]() 图 7
- X+ U6 E* g/ n6 `# D5 z7 O' D- X4 o: a+ x$ m
重新编译并替换内核在修改内核配置与添加VID完毕后,重新编译内核。进入内核源码目录,输入如下指令编译内核,将在当前目录编译生成的“arch/arm/boot/zImage”文件,将其替换掉SD卡rootfs分区boot目录下的同名文件。5 p5 `9 w& P1 E3 c4 z* U- A/ Z- \
Host#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4. D# t' B( Z. m0 l5 V: ?% [
![]() 图 8
9 |+ \! j$ n/ l3 M+ j
P6 o; G* z% y![]() 图 9
1 h1 ]1 f/ D* j
$ P5 X8 E" U8 w0 y例程说明与应用编译程序本例程测试所需驱动源码文件位于光盘“Demo\usb-4g\ZTE-ME3620\src”目录下。为方便测试,我司同时提供了经过验证的可执行程序,位于光盘“Demo\usb-4g\ZTE-ME3620\bin”目录下。- S+ D7 a- w5 C' \' v* V
将“Demo\usb-4g\ZTE-ME3620\src”目录下的文件上传至Ubuntu的“/home/tronlong/4G”目录下,进入该目录,执行以下命令编译程序并将编译好的可执行程序拷贝到开发板“/home/root”目录下。0 Z) W7 p, a7 o
Host#make
+ @% o; ]- n! K$ l% P% e! O![]() 图 10
" L# Z k0 m0 X/ [7 v/ R6 D6 a5 v6 b8 q
实验测试说明网络功能测试:me3620_network_setup
6 j' u5 \+ t/ D$ ^/ r程序功能:选择ECM模式后重启生效;设置网络连接参数和ECM数据访问方式;开启DHCP以获取IP和DNS;程序利用“ping www.baidu.com”测试网络是否连接成功。( r1 G7 O* k6 O5 |" I5 r
运行程序:./me3620_network_setup <device> <new_network_card7 C) T. }( I: ?* H' o
- <device>是ME3620的设备节点名的AT端,即设备号,可用命令:ls /dev/ttyUSB*查看,一般设备节点名为/dev/ttyUSB1。
- <new_network_card>是新增的网卡名,可用命令:ifconfig -a查看,一般为网卡名为usb0。
- 例子:./me3620_network_setup /dev/ttyUSB1 usb0
) E3 C% n0 I" H; b5 [ 短信功能测试:me3620_send_sms9 N, v# S0 d9 z. f" I% t4 y
程序功能:设置短信发送内容的模式;发送短信到手机上。! ^9 U; }0 t. X
运行程序:./me3620_send_sms <device> <phonenumber> <text>
4 a0 R d: Q* O% |- <phonenumber>是发送短信目标手机号。
- <text> 是要发送的短信内容;短信内容中间不可有空格;譬如mess age中间有空格,则提示错误。
- <device>为设备号;重启后可能会变化,具体情况和操作处理参考重启ME3620方法。
- 例子:./me3620_send_sms </dev/ttyUSB1> 182******** message/ G! ^% u/ J/ o, C3 U/ E6 V" z
通话功能测试:me3620_phone_call0 [" t3 T) M+ I& @
程序功能:拨打电话。
2 |/ P3 T3 D( }% H( |运行程序:./me3620_phone_call <device> <phonenumber>9 C6 P- _! O( T
- <device>为设备号;
- <phonenumber>是拨打目标手机号。
- 例子:./me3620_phone_call /dev/ttyUSB1 182********
: `/ h2 w; y8 B2 Y 获取经纬度功能测试:me3620_get_location& B4 R$ H9 j) K3 O+ k
程序功能:获取经纬度。
5 q) M' z3 ?: I4 b8 U6 G运行./me3620_phone_call <device> <wait_minute>) c" m) r# B2 G! }! f* X
- <device>为设备号;
- <wait_minute>为等待返回经纬度信息的时间(单位为分钟)。
- 例子:./me3620_get_location /dev/ttyUSB1 10! R. L+ m5 X6 R$ S6 Y- L6 h
例程测试进行4G模块测试前,将移动或者联通4G卡插到ME3620模块上,同时插上天线,天线接到MAIN处,将USB 4G模块插到USB HOST接口处。正确插入4G卡与天线后,转接板上的D2 led会亮蓝灯,若此灯不亮,请检查4G卡是否插对位置,天线是否连接正确,USB接口是否插稳。8 `. a Y; X- x5 d. J
查看VID+ Z6 x' G+ h' y1 v& u$ p# y
由修改内核源码而添加的VID可执行lsusb命令可以查看
& l/ @+ B# Z' \# E' N6 W3 qTarget#lsusb
# o6 ]: Y, b/ e( ^![]() 图 11
6 Y7 C- v, H, T
' k5 t( G2 Q5 o7 p$ v' y& Q网络功能测试6 w. K5 p% h7 J; x9 q, {
执行以下指令查看usb0网络节点。
) }; c9 p- q/ e& d3 ]; J" }; |Target#ifconfig -a6 u1 Q7 _. Q* Z- n( P0 X* J
![]() 图 12
2 {- d, d8 y- e/ y* A6 }! j- I8 e5 q
执行以下指令关闭其他网口,只留住usb0网口,ping外网测试网络功能。% ~' j1 G% @6 |3 s* ]! p+ P
Target# ifconfig eth0 down
# v% V& d/ L |! K2 ?/ ^Target# ifconfig eth1 down
3 V6 T+ ^( ?4 X- n, sTarget# ./me3620_network_setup /dev/ttyUSB1 usb0/ U' |( d! e, w0 Z5 r0 w& N5 @
![]() 图 13
" z1 B5 b: t& ?& Y
* {) Y: y0 I- j |+ E短信功能测试
" @; |, j5 G. V执行以下指令,通过ME3620模块发送短信,相应手机就会收到信息。8 t+ [$ u; Y$ e$ d1 m, Y; h: b) j
Target# ./me3620_send_sms /dev/ttyUSB1 182******** message
3 P$ m0 A. u9 T![]() 3 ]( q \) Z9 o: H: Q) }9 K
图 14
" O& v0 |4 a: m5 L![]() 图 15
* P$ B* Q. y2 O# }, A
9 G, v* ~9 k0 F. H通话功能测试 c1 E7 C9 q" @) r# `
执行以下指令,通过ME3620模块拨打电话,相应手机就会接收到来电提示。, a) p5 }) t8 r3 L
Target# ./me3620_phone_call /dev/ttyUSB1 182********2 \ x& U! x4 z5 }/ I
![]()
& o D3 y# } B+ q I7 A图 16- ]5 N% _$ P$ A: }9 c* K) _* ~
![]() 图 170 t! S6 m" y. P4 `; m
& }4 N/ Y( }* e& l7 P
获取经纬度功能测试
3 X- I& x: C5 l, m4 |. v9 R测试获取经纬度功能需要将GPS专用天线连接到ME3620模块的GPS接口上,摆正GPS专用天线,使得只有GPS三个字母的那一面在上面。测试地点尽量选择空旷的地方,例如天台,广场等,尽量远离墙面,靠近墙面会影响测试获取经纬度所需要的时间。0 M% D W0 W d* q8 W! J6 P, R
执行以下指令,获取经纬度。
9 C; Q" h6 z+ J6 N+ C6 f: s9 ]Target# ./me3620_get_location /dev/ttyUSB1 10
7 t+ \ w0 l9 u![]() 图 18
) }+ _& Z# c9 t! D; V, E, y, ^: B9 v7 N1 ]$ c3 G2 }7 ~* A
测试过程中,获取经纬度需要等待2到10分钟,如果获取经纬度失败,超时,请检查天线是否连接好,重新执行以上指令即可。# \3 u, F. M) r& Q! F# q% z
在百度地图上查看经纬度坐标,与利用ME3620模块获取所得结果对比接近。
" g1 }5 U$ F1 G) D4 e$ F$ @![]() 图 19 S7 H1 r- m( k
- L9 Z6 M6 n, H+ ?9 U
|
|