由于3G无线上网卡作业形式相同,故其移植也大多相同,故本次开发相同适用于其他嵌入式开发板,如DM6446,ARM等等。相同,也适用于其他联通、移动或电信的3G上网卡,尤其是华为的上网卡,如最常用的华为E160, E160G, E169, E180, E230, E270(+), E280, E630, E870, E1550, E1612, E1662, E1690, E1692, E1750, E1752, EC168C, K3765, K4505, K4605, MTE WM610, R201, K4605, K3765, K4505。中兴的ZTE MF620,MF622等等等等。
其他支撑的上网卡类型拜见:http://www.draisberghof.de/usb_modeswitch/
主张:现在PC机上装置usb_modeswitch和libusb,首要保证PC上的linux可以顺畅拨号,再将其移植到开发板上。
内核:
需求有以下模块:option usbserial usbstorage
主要是要在编译内核的时分选中
Device Drivers
USB Support
USB Serial Converter Support
USB Serial Converter Support(选中)
USB Generic Serial Driver
不然软件pppd履行的时分可能会失利。
#make modules //编译外挂模块
#make modules_install //装置模块
模块编译完后应将其复制到开发板上,并履行以下指令,不然会报找不到modules.dep
#/sbin/depmod –a //创立模块的链接
软件3个:libusb、usb_modeswitch、pppd(含chat)和1个数据包(纯文本):usb-modeswitch-data
libusb源码下载:http://sourceforge.net/projects/libusb/files/libusb-1.0/
usb_modeswitcch下载:http://www.draisberghof.de/usb_modeswitch/
usb-modeswitch-data:http://www.draisberghof.de/usb_modeswitch/ 这个数据包包含了usb_modeswitch一切支撑的3G上网卡的装备文件,关于本次开发,取出其间文件名为12d1:1446的文本文件即可。
根本进程:
1.在开发板上USB口刺进3G上网卡,留意DVS365开发板要短接J1 2和3管脚才启用USB host形式,不然USB不供电。
2.在开发板上输入lsusb会出现以下成果,阐明开发板与3G上网卡硬件物理上衔接成功,记下12d1:1446这个数字,后边用。
anTIque@dm365:~# lsusb
Bus 004 Device 002: ID 12d1:1446 HUAWEI XXXX(省掉若干)
3.在主机上穿插编译usb_modeswitch,由于其要运用libusb,故也要穿插编译libusb。(见后文)
4.将主机穿插编译发生的usb_modeswitch单文件、lib文件夹、12d1:1446文件复制到开发板/home目录下上。
5.履行usb_modeswitch将3G上网卡U盘形式转化为modem形式
anTIque@dm365:/home#:./usb_modeswitch -c 12d1\:1446
屏幕会显现一堆形式转化信息,之后会显现成功
6.查看是否转化成功,履行lsusb,发现1446变为1001,表明转化成功。
anTIque@dm365:/home# lsusb
Bus 004 Device 002: ID 12d1:1001 HUAWEI XXXX(省掉若干)
7.硬件问题都处理了,开端拨号吧:(电信的拨号脚本,联通、移动的应该会改变,请google)
anTIque@dm365:/home# pppd connect 'chat -v “” “AT” “OK” “ATZ” “OK” “ATDT#777 CONNECT”' user card password card /dev/ttyUSB0 115200 nodetach noauth nocrtscts modem noipdefault debug usepeerdns defaultroute ipcp-accept-local noccp
屏幕会显现拨号信息,成功获取到的IP和DNS
8.别的发动一个shell,履行
antique@dm365:/# route del default
antique@dm365:/#route add default dev ppp0
测验ping 8.8.8.8,应该就通了。
留意:假如为其他3G上网卡,只需求将相应的装备文件复制到板子上。如本例为12d1:1446.
根本进程第3步穿插编译进程:
A.穿插编译Libusb
解压并进入libusb目录,树立子目录install用于寄存最终生计的库文件与头文件。
[root@libusb-0.1.12]# mkdir install
装备并生成Makefile文件
[root@libusb-0.1.12]# ./configure –build=i686-linux –host=arm-linux –prefix=/home/libusb-0.1.12/install
[root@libusb-0.1.12]# make
[root@libusb-0.1.12]# make install
此刻install目录下应有LIB了
B.穿插编译usb_modeswitch
(1)、修正Makefile文件 CC = arm_v5t_le-gcc
(2)、将libusb里的库头文件拷到穿插编译器的include和lib目录下,或许直接在Makefile文件里直接加上编译选项指令库的途径即可如下:$(PROG):&(OBJS)
&(CC) –o $(PROG) &(OBJS) &(CFLAGS) –I /home/libusb-0.1.12/install/include –L /home/libusb-0.1.12/install/lib
(3)、make
此刻应发生usb_modeswitch单文件了
将Lib和usb_modeswitch依照根本进程第四步复制到开发板上。