linux下使用3G拨号上网
来源:互联网 发布:淘宝排名下降怎么补救 编辑:程序博客网 时间:2024/05/24 06:15
linux下要实现3G拨号上网,除了3G网卡和对应的3G卡外,软件上需要对应的网卡驱动和pppd拨号程序,pppd拨号程序一般较容易得到,如果是嵌入式平台,交叉编译即可,编译过程中可能会遇到一些错误,但都不是大问题,一般很容易解决。而3G网卡驱动对于刚接触的人来说可能稍微难一点,大部分的3G模块内核中已经得到支持。如果不幸内核中没有得到支持,那么自己添加支持也是很容易的。下面介绍两种驱动3G网卡的方法。
linux内核中USB-GSM模块的驱动主要是drivers/usb/serial/options.c文件。看了此文件会非常明了,对一个3G网卡的支持主要就是两个参数,一个是厂商ID,一个是设备ID,只要3G网卡可以被USB识别,那么我们很容易得到这个USB设备的设备ID和厂商ID,得到之后,我们把这两个参数添加进option.c文件重新编译得到option.ko,那么这个3G网卡一般就能正常工作了。
第二种方法是使用usb-modeswitch来是3G网卡正常工作。这种方法我没有实际使用过,下面是从网上看到的一篇文章,可以作位参考。原文章地址为点击打开链接。
我的3G上网卡是华为 E1750,操作系统是openSUSE 11.2,之前只能在虚拟机运行的Windows里上3G,感觉这样实在不方便,于是想到了直接在Linux里连接3G网络。
1. software
http://www.draisberghof.de/usb_modeswitch/
usb-modeswitch
usb-modeswitch-datalibusb
2. install
安装软件root# tar jxvf usb-modeswitch-1.1.3.tar.bz2
root# cd usb-modeswitch-1.1.3/
root# make install
root# tar jxvf usb-modeswitch-data-20100707.tar.bz2
root# cd usb-modeswitch-data-20100707/root# make install
then upgrade libusb to the lastest version.
root# cp /usr/share/doc/packages/ppp/scripts/pon /usr/local/sbin
root# cp /usr/share/doc/packages/ppp/scripts/poff /usr/local/sbin
root# chmod ug+x /usr/local/sbin/pon /usr/local/sbin/poff
接下来,接上3G上网卡,可以看到 lsusb 输出的结果多了"USB Modem"字样。
root# lsusb...
Bus 002 Device 010: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
...
3. configure
建立3个PPP配置文件。
root# cat /etc/ppp/peers/wcdma
nodetach
lock
/dev/gsmmodem
115200
user "card"
password "card"
crtscts
show-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect'
disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect'
root# cat /etc/ppp/peers/wcdma-chat-connect
ABORT 'NO CARRIER'ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' \rAT
OK \rATZ
OK \rAT+CGDCONT=1,"IP","3gnet",,0,0
OK-AT-OK ATDT*99#
CONNECT \d\c
root# cat /etc/ppp/peers/wcdma-chat-disconnect
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
'' "\K"
'' "+++ATH"
SAY "\nGoodbay\n"
4. connect
拔号连接
root# pppd call wcdma &
......
Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/gsmmodem
CHAP authentication succeeded
CHAP authentication succeeded
Could not determine remote IP address: defaulting to 10.64.64.64
not replacing default route to eth0 [10.217.15.1]
local IP address 172.27.25.133
remote IP address 10.64.64.64
primary DNS address 202.106.195.68
secondary DNS address 202.106.46.151
Script /etc/ppp/ip-up finished (pid 10543), status = 0x0
手工添加DNS
root# echo "nameserver 202.106.46.151" >> /etc/resolv.conf
手工指定默认网关
root# route add default gw 172.27.25.133
测试网络是否可用
root# ping -c 5 www.sina.com.cn
PING libra.sina.com.cn (202.108.33.80) 56(84) bytes of data.
64 bytes from 202.108.33.80: icmp_seq=1 ttl=56 time=39.6 ms
64 bytes from 202.108.33.80: icmp_seq=2 ttl=56 time=48.3 ms
64 bytes from 202.108.33.80: icmp_seq=3 ttl=56 time=46.8 ms
64 bytes from 202.108.33.80: icmp_seq=4 ttl=56 time=44.6 ms
64 bytes from 202.108.33.80: icmp_seq=5 ttl=56 time=44.1 ms
--- libra.sina.com.cn ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 39.670/44.739/48.330/2.957 ms
5. disconnect
root# poff
- linux下使用3G拨号上网
- linux下使用3G拨号上网
- 移植——linux下使用3G拨号上网
- linux下实现3G模块收发短信、拨号上网
- micro2440使用3G上网卡实现拨号上网(下)
- Linux系统下使用pppd拨号上网
- 3G拨号上网
- 友善之臂Micro2440嵌入式Linux下实现华为EC189 电信3G拨号上网方法
- linux下拨号上网
- Linux 下实现拨号上网
- 嵌入式Linux下使用3G卡上网
- ARM+linux系统移植3G拨号上网收发短信(三)
- ARM+linux系统移植3G拨号上网收发短信(三)
- ARM+linux系统移植3G拨号上网收发短信(三)
- linux下的modem拨号上网
- Linux下PPP拨号上网设置
- micro2440使用3G上网卡实现拨号上网(上)
- Openwrt 3G拨号上网
- c数据结构之单链表操作
- js头像预览
- Linux里如何查找文件内容
- C sharp中如何调用C++编写的DLL
- pinyin4j的使用例子:将中文转换成拼音
- linux下使用3G拨号上网
- SQL注入渗透某网络安全公司的网站全过程
- JsonHelper Json转xml,Json转DataSet,DataSet转Json
- flex 使用SuperTabNavigator设置选项卡字体大小
- 控制器接口Controller
- SQL注入与ASP木马上传
- 遗传算法
- 【Java设计模式】之简单工厂模式
- c函数scanf(),printf()等常用格式字符串