|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
EC20 模块封装成标准的 PCIe 接口,和开发板主要通过 usb 通讯。 此次提供的文件有pppd 源码、编译好的 chat 和 pppd 工具、wcdma,wcdma_back,wcdma-chat-connect、wcdma-chat-disconnect 以及要在文档最后使用的 pppd_conf.sh 脚本,如下图所示。
; g! l+ c' ^+ p% J![]()
8 z S1 u N/ K- q在进行编译之前要先修改编译器为 ARM-2009q3 编译器,如何设置编译器参见手册 5.2.2“交叉编译工具的安装”。另外为了避免使用环境变量设置编译器而可能出现的问题,文档中大部分编译是使用编译器的绝对路径,用户也应先找到自己编译器的绝对路径待用。下图是本次编译使用的编译器以及编译器压缩包。
9 m3 e8 i8 z. X 8 g/ @6 l }' t. L* U
由上图可知该编译器的绝对路径为“/usr/local/arm/arm-2009q3/bin/ arm-none-! B: P* t$ ?) x7 X
linux-gnueabi-gcc”。* e. K* @5 H7 Y; V" U9 W( L
1.驱动支持, `. j" Y& R0 i. g! Q
首先需要对 Linux 内核驱动做一定的修改,使操作系统能够支持 EC20,首先增加 VID 和0 h- p" |+ h8 C- e
PID,即 usb 的厂商 ID 和设备 ID。在内核源码中的 kernel /drivers/usb/serial/option.c 文( S5 p3 {% }$ P7 L6 \# W
件里添加如下两项内容。! p. p5 K( Y; p3 ?
#define EC20_VID 0x1E0E% ]8 J6 N; s" i# d3 Y! H4 C6 S) Z
#define EC20_PID 0x9001
! c7 m4 ?1 j4 D: J9 m如下图所示。5 _" C2 \6 q6 n3 z( H+ m
![]()
! u( u7 u# s+ Z+ }$ ]然后搜索 option_ids,在 option_ids 列表中增加以下内容。
: E F2 @; u+ Z- v h{ USB_DEVICE(EC20_VID, EC20_PID) },& S8 w+ _# {/ Q L1 l) J1 J) S( C
如下图所示。
. u* v! a1 ]0 N% W. L% q! K![]()
3 k ~3 d* }- O2 k, [回到 kernel 目录,配置 make menuconfig 以下两项。Device Drivers →2 L) F% A+ c- ~2 Z* G d0 n& f% k
USB Support →
! k2 K5 o$ E* l% t8 |; hUSB Serial Converter support →. n$ E8 a+ R! K# C" `3 |
USB driver for GSM and CDMA modems
/ ~6 E% J; Q. t2 T4 O. R7 E 3 t- c4 X! S7 W' z9 x
以及在 Device Drivers > Network device support 的<*> PPP***全部选中) M/ N! Y, y$ H: J5 q2 x* ~
![]()
9 j3 b6 H X m4 W然后编译内核,并烧写到开发板。
9 B0 R; k2 q/ O$ [$ E& b! K2. 编译 ppp 拨号工具: m/ Z% [- M- z% ?) ]0 a3 b# [
将提供的源码解压到 Ubuntu,进入解压的文件夹,如下图所示。
. ? N9 g0 W) [9 L9 b/ E* u N 8 B2 Z" |3 T5 H6 f" Y% q
使用“./configure”命令配置源码,如下图所示。
) _) G, f& u. {) o2 k![]()
& l: x4 d: \( ~; ^使用命令“make CC=/ usr/local/arm/arm-2009q3/bin/ arm-none-linux-gnueabi-gcc”编译源码,注意这里使用编译器的绝对路径。
, F; i* Z* D) Z0 T& v7 Q![]()
0 o1 G1 v+ k" G9 Z编译到此完成,可以看到在 pppd 文件夹生成了 pppd 工具,在 chat 文件夹生成了 chat工具,如下图所示。4 {! n4 S9 j5 B3 k/ b- [+ R, @9 Q
9 s4 [9 F3 Z9 A
3.拷贝工具
% b2 C$ j M3 w- `$ e' t6 @将上面步骤中生成的 pppd 和 chat 工具下载到开发板/usr/sbin/目录下。将压缩包提供的脚本 wcdma,wcdma-chat-connect,wcdma-chat-disconnect 拷贝
) C' S( \3 H* K a, d* `到开发板的/etc/ppp/peers/目录下。, o( N {) w H. s
最后在开发板执行以下指令,建立软连接。ln /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3
8 c, o4 ~: {0 h2 d3 p/ O4.测试
$ k% p/ _6 X& B5 z4 S首先将天线安装到开发板上,如下图所示。, e7 }2 J+ |( {2 P S8 V' w
2 T; k$ a2 u9 t![]()
$ n$ P3 }( d u" N7 m( C$ a {( @插入手机卡后重启开发板,并将脚本 pppd_conf.sh 拷贝到开发板,然后使用用命令“./pppd_conf.sh &”运行脚本,运行结果如下图所示
. {( Y) U( l, n- K( k" |5 B2 A. ]& y' F! _+ u" O# g1 Q
?. [5 x0 t8 u" N. L/ j
使用命令“ping www.baidu.com -c 4 -I ppp0 ”测试,可以看到连网成功(由于 4G连接需要搜索信号,所以在信号较差的区域需等待一段时间,才能上网)。
1 z0 {$ N1 q2 W$ e4 e( M. |6 x( ^3 P m6 }/ ^3 U
8 ]( S8 G. s- B3 `- Q( f
移植到此完成。: k8 Q6 {6 D* `! @2 I
![]()
: s- J" o$ j0 V
! O* P. u2 t j' Q8 w" \5 g |
|