首页 > 学院 > 开发设计 > 正文

3G上网卡1--工具及使用学习笔记

2019-11-07 23:22:28
字体:
来源:转载
供稿:网友

使用3G上网卡(或称为3G modem)1.选型:选择linux上支持的3G上网卡更多型号可参考: usb_modeswitch的device_reference.txt2 使用步骤(以windows为例)a. 接上发现移动硬盘,ZTEMODEM里面有安装程序AutoRun.exe和驱动程序

b. 安装完后,移动硬盘消失;c. 发现新硬件,自动安装好驱动程序后,发现2个串口(一个用于发AT命令,可通过COM 8发短信,另一个是诊断端口,通过COM6诊断3G上网卡)和一个modem

d. 运行程序即可拨号上网zeroCD: 3G上网卡自带程序,接到PC后先作为移动硬盘使用,安装程序后切换为modem对于Linux使用过程:a. 接上后切换mode: usb_modeswitchb. 安装驱动程序: linux内核自带, 会出现3个ttyUSB0,1,2(其中一个用于mode,另外两个其中一个用于收发AT命令,另外一个用于诊断)c. 拨号上网:pppd3 交叉编译应用程序并测试(1)配置内核(内核目录下键入make menuconfig)-> Device Drivers(把PPP相关驱动选上编译进内核)  -> Network device support      <*>   PPP (point-to-point PRotocol) support                                     <*>     PPP BSD-Compress compression                                                <*>     PPP Deflate compression                                                             [*]     PPP filtering                                                                   <*>     PPP MPPE compression (encryption) (EXPERIMENTAL)                                [*]     PPP multilink support (EXPERIMENTAL)                                            <*>     PPP over Ethernet (EXPERIMENTAL)                                                <*>     PPP support for async serial ports                                              <*>     PPP support for sync tty ports   -> Device Drivers(由于我们出现的是ttyUSB0,1,2,所以要配置USB,输入M配置称模块)  -> USB support     <M>   USB Serial Converter support            <M>   USB driver for GSM and CDMA modems(在网上搜索3G上网卡要用到的文件是option.c,对应的配置项是CONFIG_USB_SERIAL_OPTION,需要在内核中搜索并配置编译成模块,看提示信息prompt部分)

如果比较难看出来的话,可以先去看源代码

打开Makefile,搜索里面的usbserial,需要配置项CONFIG_USB_SERIAL

如果知道某个文件,如usb-serial.c,需要使用它,可以把同目录下的Makefile打开,查看usb-serial.o对应哪一个配置项。在make menuconfig搜索这个配置项

make uImage && make modules//编译内核并编译所有的模块驱动应用程序源码:(usb_modeswitch)http://www.draisberghof.de/usb_modeswitch/http://www.libusb.org/ftp://ftp.samba.org/pub/ppp/(2)交叉编译:libusb:   usb_modeswitch:(依赖于libusb库)./configure --host=arm-linux --prefix=$PWD/tmp//--host=arm-linux 运行环境--prefix=$(pwd)/_install 安装目录,$PWD表示当前目录

make make install把头文件和库复制进交叉工具链里(在temp目录下)sudo  cp libusb.h /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/includesudo cp * -rfd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib(*表示所有文件,d表示原来是链接文件吧它作为链接文件拷贝进去)把库复制到根文件系统的lib目录下sudo cp *so* -d /work/nfs_root/fs_mini_mdev_new/lib/usb_modeswitch:(依赖于libusb库)修改MakefileCC          = arm-linux-gcc  //修改编译器LIBS        = -lusb-1.0 //-l用于指定依赖的库,这里是usb-1.0make DESTDIR=$PWD/tmp //指定安装路径make DESTDIR=$PWD/tmp  installcd tmpsudo cp * -rfd /work/nfs_root/fs_mini_mdev_newusb-modeswitch-data-20131113:(3G上网相关的配置文件 usr/share/usb_modeswitch)make DESTDIR=$PWD/tmp installcd tmpsudo cp * -rfd /work/nfs_root/fs_mini_mdev_newpppd:(ppp-2.4.5.tar.gz)修改这6个文件, "$(INSTALL) -s"改为"$(INSTALL) "(也就是去掉-s)chat/Makefile.linuxpppd/plugins/radius/Makefile.linuxpppd/plugins/rp-pppoe/Makefile.linuxpppd/Makefile.linuxpppdump/Makefile.linuxpppstats/Makefile.linux./configure --host=arm-linux --prefix=$PWD/tmp //配置运行环境和当前安装目录make CC=arm-linux-gcc  //指定编译器(默认使用是PC机里面的编译器)make CC=arm-linux-gcc installcd tmpsudo cp * -rfd /work/nfs_root/fs_mini_mdev_new使用:A. 以mf637为例参考 HI3515海思开发板移植3G模块笔记 - 倔强的晓奇 - 博客频道 - CSDN.NET.htmhttp://blog.csdn.net/alangdangjia/article/details/9413009a. 用新内核启动开发板   复制驱动: sudo cp drivers/usb/serial/*.ko /work/nfs_root/fs_mini_mdev_new//*.ko代表全部的驱动程序b. 接上3G上网卡,用lsusb查看VID/PID

(VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码))lsusbBus 001 Device 002: ID 19d2:2000c. 使用usb_modeswitch切换工作模式   它需要一个配置文件,使用上面得到的Vip/PID在device_reference.txt里找到一段配置值,写入一个文件mf637.cfg(这里cfg是配置文件后缀)把它放到开发板的/etc目录usb_modeswitch -c /etc/mf637.cfg

执行后查看,发现PID发生变化,因为之前那个是默认的PID,而现在切换后的PIDd. 安装驱动程序insmod usbserial.koinsmod usb_wwan.ko insmod option.ko

查看设备节点e. 用pppd拨号对于mf637:修改/etc/ppp/peers/wcdma-dailer配置文件(拷贝到文件系统), 使用/dev/ttyUSB2(如果第0个串口不行,改成第1或第2个串口,共3个串口)pppd call wcdma-dailer & //调用联通3G的模块的命令,&表示在后台运行

cp /etc/ppp/resolv.conf /etc/resolv.conf  //DNS写在/etc/ppp/resolv.conf里面ping news.QQ.com //ping网址B. 以EW65为例在device_refeence.txt里选取一段存为ew65.cfg

板上接入EW65后执行:usb_modeswitch -c /etc/ew65.cfg修改/etc/ppp/peers/wcdma-dailer, 使用/dev/ttyUSB0pppd call wcdma-dailer &cp /etc/ppp/resolv.conf /etc/resolv.confping news.qq.com


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表