您的位置:首页 > 其它

mini2440 HUAWEI E261 WCDMA 驱动,usbmodeswitch,ppp移植

2014-05-16 15:32 323 查看
1.环境及软件版本:

电脑:Ubuntu 10.04

开发板:micro2440 256M

3G模块:华为E261 WCDMA 12d1:1446

Linux内核版本:3.11

usblib:libusb-1.0.0

usbcompat:libusb-compat-0.1.5

usbmodeswitch:usb-modeswitch-1.2.6

usb-modeswitch-data:usb-modeswitch-data-20140327

2. 内核

make menuconfig

2.1 内核添加支持USB驱动

DeviceDrivers-->

[*]USBsupport-->

<*>USB SerialConverter support-->

[*]USBGeneric Serial Driver

<*>USBdriver for GSM and CDMA modems

2.2 内核添加支持PPP协议

DeviceDrivers-->

Network devicesupport-->

<*>PPP(point-to-point protocol) support

[*]PPPmultilinksupport

<*>PPPsupport for async serial ports

<*>PPP support for sync tty ports

<*>PPP Deflate compression

<*>PPPBSD-Compress compression

然后make

3. usb_modeswitch移植

3.1 编译usblib

下载libusb-1.0.0.tar.bz2,谷歌搜索下载。

解压libusb-1.0.0.tar.bz2

(1)cd .../libusb-1.0.0/

(2)./configure --build=i686-linux --host=arm-linux --prefix=/home/jxm/ppp/usblib/install –disable-udev

(3)make

(4)make install

之后在/home/jxm/ppp/usblib/install文件下生成include和lib文件夹

3.2 编译usbcompat

下载libusb-compat-0.1.5.tar.bz2,谷歌搜索下载。

解压libusb-compat-0.1.5.tar.bz2

(1)cd .../libusb-compat-0.1.5

(2)export PKG_CONFIG_PATH=/home/jxm/ppp/usblib/install/lib/pkgconfig:$PKG_CONFIG_PATH

(3)./configure --build=i686-linux --host=arm-linux --prefix=/home/jxm/ppp/usblib/install –disable-udev

(4)make

(5)make install

3.3 编译usb_modeswitch

下载usb-modeswitch-1.2.6.tar.bz2,谷歌搜索下载。

解压usb-modeswitch-1.2.6.tar.bz2

(1)cd .../usb-modeswitch-1.2.6

(2)vim Makefile

修改:

CC = arm-linux-gcc

$(PROG): $(OBJS) usb_modeswitch.h

$(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS) -I /home/jxm/ppp/usblib/install/include -L /home/jxm/ppp/usblib/install/lib

(3)make

然后会生成可执行文件usb_modeswitch

3.4 usbmodeswitchdata

下载usb-modeswitch-data-20140327.tar.bz2,谷歌搜索下载。

(1)cd .../usb_modeswitch.d/

(2)vim 12d1:1446

修改为:

DefaultVendor= 0x12d1

DefaultProduct= 0x1446

TargetProductList="1001,1406,140b,140c,1412,141b,1432,1433,1436,14ac,1506,150c,1511"

MessageContent="55534243123456780000000000000011062000000101000100000000000000"

3.5 拷贝文件

(1)将/home/jxm/ppp/usblib/install/lib 下的libusb.so,libusb-0.1.so.4,libusb-0.1.so.4.4.4下载到开发板的/lib文件下

(2)将usb_modeswitch文件下载到开发板的/usr/sbin/下

(3)将12d1:1446文件拷贝到/etc/usb_modeswitch.d/文件夹下

3.6 执行

usb_modeswitch -c /etc/usb_modeswitch.d/12d1:1446

执行完之后去看/dev下是否已经有ttyUSB0,ttyUSB1,ttyUSB2

4. ppp移植

ppp 移植主要包括 pppd和chat

4.1 编译pppd和chat

(1)cd .../ppp-2.4.4

(2)./configure

(3)make CC=arm-linux-gcc

(4)在pppd文件夹和chat文件夹中使用命令arm-linux-strip-S pppd 和 arm-linux-strip-S chat 这样会较大地减小这两个文件的大小

(5)将pppd和chat下载到开发板/usr/sbin/目录下

4.2 配置文件

(1)wcdma文件

debug

nodetach

/dev/ttyUSB0

115200

usepeerdns

noauth

noipdefault

novj

novjccomp

noccp

defaultroute

ipcp-accept-local

ipcp-accept-remote

connect '/usr/sbin/chat -s -v -f/etc/ppp/peers/chat-wcdma-connect'

disconnect '/usr/sbin/chat -s -v-f/etc/ppp/peers/chat-wcdma-disconnect'

(2)chat-wcdma-connect文件

TIMEOUT 5

ABORT 'NO CARRIER'

ABORT 'ERROR'

ABORT 'NODIALTONE'

ABORT 'BUSY'

ABORT 'NO ANSWER'

'' \rAT

OK \rATZ

OK\rAT+CGDCONT=1,"IP","3GNET",,0,0

OK-AT-OK ATDT*99#

CONNECT \d\c

(3)chat-wcdma-disconnect文件

BORT "ERROR"

ABORT "NO DIALTONE"

SAY "\NSending break to themodem\n"

""\k"

""+++ATH"

SAY "\nGood bay\n"

将这三个文件下载到/etc/ppp/peers目录下

4.3 执行

执行pppdcall wcdma &

会打印出信息其中最后面会有 DNS的信息:



primary DNS adress10.11.12.13

secondeary DNSadress 10.11.12.13.14

vi/etc/resolc.conf,加入内容:

nameserver10.11.12.13

nameserver10.11.12.14

然后ping www.baidu.com或是ping-I ppp0 www.baidu.com

看是否能ping通,如果出现卡住的情况,就试一试pingIP号,而不是ping域名,因为有可能是DNS配置的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: