1环境及软件版本: 电脑:Ubuntu 12.04系统 开发平台:iTop-4412开发板 3G 模块:华为 E261 WCDMA 12d1:1446 Linux 内核版本:3.0版本 usblib: libusb-0.1.12 usbmodeswitch:usb-modeswitch-1.2.6 usb-modeswitch-data:usb-modeswitch-data-20140327 pppd:ppp-2.4.4 2. 内核 2.1 大容量存储驱动 Device Drivers > USB support <*> USB Mass Storage support USB Mass Storage verbose debug<*> Realtek Card Reader support <*> Datafab Compact Flash Reader support 2.2USB 驱动 DeviceDrivers--> USBsupport--><*>USB SerialConverter support--> USBGeneric Serial Driver <*>USBdriver for GSM and CDMA modems 2.3 内核添加支持 PPP 协议 Device Drivers > Network device support <*> PPP***全选 3编译工具 3.1 编译 usblib (1)mkdir install (2)./configure --host=arm-none-linux-gnueabi --prefix=/home/topeet/android4.0/work/install(使用的编译器和安装的路径) (3)make (4)make install 之后在/home/topeet/android4.0/work/install 文件下生成 include 和 lib 文件夹 3.2 编译 usb_modeswitch (1)vim Makefile (2)修改 CC = /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc CFLAGS += -Wall -I/home/topeet/android4.0/work/install/include/(需要的头 文件路径) LIBS = -L/home/topeet/android4.0/work/install/lib -l usb(需要的库文件路 径) $(PROG): $(OBJS) usb_modeswitch.h $(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS) -static (3)make 3.3 usbmodeswitch data (1)cd .../usb_modeswitch.d/ (2)vim 12d1:1446 修改为: DefaultVendor= 0x12d1 DefaultProduct= 0x1446 TargetVendor= 0x12d1 TargetProductList="1001,1406,140b,140c,1412,141b,1432,1433,1436,14ac" CheckSuccess=20 MessageContent="555342431234567800000000000000110620000001010001000000 00000000" DisableSwitching=0 EnableLogging=0 3.4 编译 PPP(拨号工具) (1)cd .../ppp-2.4.4 (2)./configure (3)make CC=arm-none-linux-gnueabi-gcc (4)在 pppd文件夹和 chat 文件夹中使用命令 arm-linux-strip-S pppd 和 arm-linux-strip-S chat 这样会较大地减小这两个文件的大小 4 拷贝并拨号 (1)将 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/文件夹下 (4)将 pppd和 chat 下载到开发板/usr/sbin/目录下 (5)在/etc/ppp/peers/新建 chat-wcdma-connect chat-wcdma-disconnect wcdma 三个 文件,内容查看当前目录“需拷贝到开发板文件” (6) usb_modeswitch -W -c /etc/usb_modeswitch.d/12d1:1446(转换 USB设备连接模式) (注意把文件 12d1_1446 名改成 12d1:1446) 执行完上条命令后 pppd call wcdma&(拨号上网) (替换网关,DNS 具体内容依据上条命令的打印信息决定) echo "nameserver 202.99.160.68" >> /etc/resolv.conf (DNS) route add default gw 10.14.165.1 (IP) 测试是否成功 64 bytes from 61.135.169.121: seq=0 ttl=52 time=68.409 ms 64 bytes from 61.135.169.121: seq=1 ttl=52 time=68.564 ms 完成。
|