|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
EC20 模块封装成标准的 PCIe 接口,和开发板主要通过 usb 通讯。 此次提供的文件有pppd 源码、编译好的 chat 和 pppd 工具、wcdma,wcdma_back,wcdma-chat-connect、wcdma-chat-disconnect 以及要在文档最后使用的 pppd_conf.sh 脚本,如下图所示。
/ V: a. r# u7 u8 L2 n![]()
( l8 y: Q7 f# {在进行编译之前要先修改编译器为 ARM-2009q3 编译器,如何设置编译器参见手册 5.2.2“交叉编译工具的安装”。另外为了避免使用环境变量设置编译器而可能出现的问题,文档中大部分编译是使用编译器的绝对路径,用户也应先找到自己编译器的绝对路径待用。下图是本次编译使用的编译器以及编译器压缩包。- j' ^5 ]4 k: N* z9 b2 p
![]()
" X$ E# N$ d, h) \由上图可知该编译器的绝对路径为“/usr/local/arm/arm-2009q3/bin/ arm-none-
: Z" }8 [4 e: e0 Z2 U( }0 h) flinux-gnueabi-gcc”。: Z* Q% a. J+ W, t& S
1.驱动支持 _7 k/ x2 q; c
首先需要对 Linux 内核驱动做一定的修改,使操作系统能够支持 EC20,首先增加 VID 和) H8 F. y) @* M$ `& R
PID,即 usb 的厂商 ID 和设备 ID。在内核源码中的 kernel /drivers/usb/serial/option.c 文
4 \' j! \, F+ ]5 V. \+ r9 M件里添加如下两项内容。
: j7 \. V$ a% G" F#define EC20_VID 0x1E0E
( T# Q' W& X' e# x#define EC20_PID 0x9001
# t, y+ Z: J; q如下图所示。
3 v" v* f6 F$ M- C, c: T8 z 5 i3 G5 E( S8 K1 b
然后搜索 option_ids,在 option_ids 列表中增加以下内容。
: R3 j l$ ^$ a{ USB_DEVICE(EC20_VID, EC20_PID) },! O: U2 c5 U X4 z
如下图所示。
8 K! S; C. L. Q7 J e 1 x8 b' |5 R0 i8 g% P
回到 kernel 目录,配置 make menuconfig 以下两项。Device Drivers →$ L* \! k4 L2 Y, D. D! H0 _
USB Support →8 P6 k' m' R @7 M% M
USB Serial Converter support →1 ?5 S$ ]/ e: R) W/ G2 v& Z
USB driver for GSM and CDMA modems
% N D7 I8 T) e9 A$ N# q3 Q9 Q ( D. H6 Z. d6 D3 p2 i
以及在 Device Drivers > Network device support 的<*> PPP***全部选中$ V) Y. v9 _ q/ J
![]()
4 O8 y* ~+ l- ~. I" S+ e然后编译内核,并烧写到开发板。5 \2 S+ ^3 P8 ~0 o' P j5 ^
2. 编译 ppp 拨号工具" e/ H9 a: T% V, `* S t! s
将提供的源码解压到 Ubuntu,进入解压的文件夹,如下图所示。
9 o# G( B+ \% B% c5 G! m% F2 F7 P![]()
0 Z* i/ o8 T7 B7 C使用“./configure”命令配置源码,如下图所示。
$ V" F2 Y7 j( z8 i![]()
& _( q$ L3 c' r7 f) _使用命令“make CC=/ usr/local/arm/arm-2009q3/bin/ arm-none-linux-gnueabi-gcc”编译源码,注意这里使用编译器的绝对路径。: j7 n) |2 n. `. y, m
* \8 _. Y/ g. m* X* g) D. U% l
编译到此完成,可以看到在 pppd 文件夹生成了 pppd 工具,在 chat 文件夹生成了 chat工具,如下图所示。+ F. t5 ` R3 J
8 v4 `" K/ v! j1 }
3.拷贝工具
: z; W4 h. I$ s将上面步骤中生成的 pppd 和 chat 工具下载到开发板/usr/sbin/目录下。将压缩包提供的脚本 wcdma,wcdma-chat-connect,wcdma-chat-disconnect 拷贝
) p" ~8 F" @. R- {* q) t9 E+ c到开发板的/etc/ppp/peers/目录下。8 g5 J- g: W( P* D: k
最后在开发板执行以下指令,建立软连接。ln /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3/ m% w; q2 t6 |$ @' M
4.测试* V- y" e" @ o. C
首先将天线安装到开发板上,如下图所示。" v7 P) l1 X; ^! H& C2 P
. m; F3 R6 O9 g ^& i0 M4 P8 o![]()
. d- h: @+ l( Q3 j+ q6 u插入手机卡后重启开发板,并将脚本 pppd_conf.sh 拷贝到开发板,然后使用用命令“./pppd_conf.sh &”运行脚本,运行结果如下图所示( D6 U- E8 B( b' ~& [; z: b
3 I l$ T1 Q }/ \* l 4 l u+ h5 F/ a8 \1 w8 A1 `
使用命令“ping www.baidu.com -c 4 -I ppp0 ”测试,可以看到连网成功(由于 4G连接需要搜索信号,所以在信号较差的区域需等待一段时间,才能上网)。3 N5 l# @+ {* B" [
" x; h- r/ M, b/ k + \! I s* R& I- J
移植到此完成。
% N/ }+ Q. Q: H* Y. z" G![]()
' J: P/ O: X* L4 f( |& c" |
$ f3 m, Y. q, A3 s |
|