(2011-12-12 15:48:30)
转载▼
一、环境
3G modem:
Huawei E180(WCDMA)
3G SIM Card:
China Unicom 3G Card(WO)
CPU/Board
FSL P1022DS RevC board
Linux:
Linux-2.6.35
二、步骤
1.
向linux内核中添加3G模块的驱动(USB转串口的驱动)和PPP协议的支持
2.
下载ppp-2.4.5源码并进行交叉编译(toolchian:powerpc-linux-)。
将拨号上网所需的两个应用程序pppd和chat拷贝到开发板/usr/sbin文件夹下。
将改好的脚本文件ppp-on,ppp-on-dialer存放在/etc/ppp目录下。
将含有域名解析服务器地址的文件resolv.conf拷贝到/etc目录下。
3.
进入 /etc/ppp 目录 ,执行 ./ppp-on。 进行网络测试
三、具体工作
1. 向linux内核添加3G模块的驱动(USB转串口的驱动)
由于Linux-2.6.35内核支持“USBdriver for GSM and CDMA modems”,所以只需内核配置即可:
Device Drivers --->
<*>
USBSerial Converter support
--->
<*>
USBdriver for GSM and CDMA modems
内核启动后,在P1022DSUSB HOST1口插上3G模块,打印信息如下:
usb 1-1: new high speed USB device using fsl-ehci and address3
usb 1-1: New USB device found, idVendor=12d1,idProduct=1001
usb 1-1: New USB device strings: Mfr=3, Product=2,SerialNumber=0
usb 1-1: Product: HUAWEI Mobile
usb 1-1: Manufacturer: HUAWEI Technology
option 1-1:1.0: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached tottyUSB0
option 1-1:1.1: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached tottyUSB1
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached tottyUSB2
scsi7 : usb-storage 1-1:1.3
scsi8 : usb-storage 1-1:1.4
scsi 7:0:0:0: CD-ROM HUAWEI MassStorage 2.31 PQ: 0 ANSI: 2
sr0: scsi-1 drive
Uniform CD-ROM driver Revision: 3.20
sr 7:0:0:0: Attached scsi generic sg1 type 5
scsi 8:0:0:0: Direct-Access HUAWEI SDStorage 2.31 PQ: 0 ANSI: 2
sd 8:0:0:0: Attached scsi generic sg2 type 0
sd 8:0:0:0: [sdb] Attached SCSI removabledisk
查看设备节点ls/dev/tty*, 会发现USB生成三个串口设备:/dev/ttyUSB0,/dev/ttyUSB1, /dev/ttyUSB2 ,这说明3G模块驱动已经正确添加到内核当中,与3G模块交互主要用的设备节点是/dev/ttyUSB0。
2. 向Linux内核中添加PPP协议的支持
Device Drivers ---> Net Device support
选中以下项:
<*> PPP (point-to-point protocol) support [*] PPP multilink support (EXPERIMENTAL) <*> PPP support for async serial ports <*> PPP support for sync tty ports <*> PPP Deflate compression <*> PPP BSD-Compress compression
内核运行后,会在/dev/目录下产生ppp设备节点
ls /dev/ppp -l
crw-rw---- 1 root root 108, 0Jan 1 00:00/dev/ppp
3. 交叉编译拨号上网需要的拨号工具pppd和chat
下载 ppp-2.4.5 源码包 , 交叉编译生成拨号所需的 pppd 和 chat 这两个程序 , 解压源代码包 , 进入目录 , 进行交叉编译 , 这里所用的板子的交叉编译器是 powerpc-linux- #cd ppp-2.4.5 #./configure #make CC= /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc
拨号所用到的程序就是 ppp-2.4.5/pppd/ 下的 pppd, 和 ppp-2.4.5/chat/ 下的 chat 程序 。 将交叉编译出来的这两个应用程序 拷贝到开发板/usr/sbin文件夹下,更改其属性为可执行文件。
4. 配置拨号脚本文件
拨号上网需要的两个配置文件ppp-on,ppp-on-dialer (存放位置/etc/ppp)。
1) ppp-on配置文件的内容
# These are the parameters. Change as needed.
TELEPHONE=*99# # The telephone number for the connection
ACCOUNT= # The account name for logon (as in 'George Burns')
PASSWORD= # The password for this account (and 'Gracie Allen')
LOCAL_IP=0.0.0.0 # Local IP address ifknown. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally0.0.0.0
NETMASK=255.255.255.0 #The proper netmask if needed
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyUSB0 115200\
asyncmap 20A0000 escape FF kdebug 4 $LOCAL_IP:$REMOTE_IP\
noipdefault netmask $NETMASK defaultroute connect$DIALER_SCRIPT
2) ppp-on-dialer配置文件的内容:
#!/bin/sh
exec chat -v \
TIMEOUT 5 \
ABORT "BUSY" \
ABORT "ERROR" \
ABORT "NOCARRIER" \
'' \rAT \
OK 'AT+CGDCONT=1,"IP","3GNET"' \
OK 'ATDT*99#' \
CONNECT '' \
3) 设置正确的域名解析服务器地址
联通北京地区3G域名解析服务器地址是202.106.195.68和202.106.46.151,将他们加入开发板文件/etc/resolv.conf中:
nameserver 202.106.195.68
nameserver 202.106.46.151
5. 应用测试
1) 连接好Huawei E180 3Gmodem
2)进入/etc/ppp目录,执行./ppp-on
3) 执行ifconfig可以看到下列信息
ppp0 Link encap:Point-to-Point Protocol
inet addr:172.17.163.57 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:158 (158.0 b) TX bytes:209 (209.0b)
从而可以知道本地IP地址是172.17.163.57。
4) 可以ping外网地址,如百度
ping 61.135.169.105
ping www.baidu.com
5)也可以从外网上下载任何资源,如下载u-boot源码
wgetftp://ftp.denx.de/pub/u-boot/u-boot-1.3.4.tar.bz2
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】 进行投诉反馈!