出差在外,所以买了一张联通的186 3G卡来无线上网,上网设备选择了华为的E1780,因为我觉得外观很好看…
在linux上3G上网基本上是如下的两步配置流程:
1、使用usb_modeswitch将上网设备的模式转换为modem
2、使用wvdial自动生成配置文件并拨号
关于3G的配置步骤这里不再赘述,google会告诉你很多结果。
usb_modeswitch 和 wvdial 都可通过pacman安装。其他发行版可以通过本身软件仓库安装,或是下载源码包编译安装。
由于,现在的3G上网设备插入后默认是模拟成 cd-rom 用于安装驱动,如果你想3G拨号,必须先将设备转换成usb modem模式。不过貌似高版本的 linux kernel 不需要手动做 usb_modeswitch,我的 E1780 插入后直接正确识别为可拨号的 modem 了。
贴一下配置文件供各位参考。一开始通过wvdialconf自动生成的配置文件没有Init3参数,虽然可以拨号成功,但无法ping通网络,后来增加Init3参数后拨号成功且可以正常上网。没有了解过AT指令,以下配置内容无法做出详细解释了。
我的 /etc/wvdial.conf :
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
Init3 = AT+CGDCONT=1,”IP”,”3gnet”
Modem Type = Analog Modem
Modem = /dev/ttyUSB0
Baud = 460800
ISDN = 0
Phone = *99#
Username = 3gnet
Password = 3gnet
wvdial拨号信息输出参考:
rem1x-laptop $ wvdial
–> WvDial: Internet dialer version 1.61
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
OK
–> Sending: AT+CGDCONT=1,”IP”,”3gnet”
AT+CGDCONT=1,”IP”,”3gnet”
OK
–> Modem initialized.
–> Sending: ATDT*99#
–> Waiting for carrier.
ATDT*99#
CONNECT
–> Carrier detected. Waiting for prompt.
–> Don’t know what to do! Starting pppd and hoping for the best.
–> Starting pppd at Wed Jan 12 21:42:29 2011
–> Pid of pppd: 4553
–> Using interface ppp0
–> pppd: 圼16]- 衃1c]- �[18]-
–> pppd: 圼16]- 衃1c]- �[18]-
–> pppd: 圼16]- 衃1c]- �[18]-
–> pppd: 圼16]- 衃1c]- �[18]-
–> pppd: 圼16]- 衃1c]- �[18]-
–> pppd: 圼16]- 衃1c]- �[18]-
–> local IP address 172.26.238.250
–> pppd: 圼16]- 衃1c]- �[18]-
–> remote IP address 10.64.64.64
–> pppd: 圼16]- 衃1c]- �[18]-
–> primary DNS address 221.12.1.227
–> pppd: 圼16]- 衃1c]- �[18]-
–> secondary DNS address 221.12.33.227
–> pppd: 圼16]- 衃1c]- �[18]-
172.26.238.250 就是拨号成功后的本地IP,两个DNS221.12.1.227和221.12.33.227是浙江联通的DNS(我买的是浙江卡),不同的3G卡获取的DNS信息都是卡归属地的DNS。
目前测试发现浙江联通的186卡无法进行pptp vpn连接,按照网上的讨论原因可能有:
1、浙江联通的部分网络设备不支持pptp(这个没可能吧…)
2、浙江联通屏蔽了pptp形式的vpn
参考链接:
http://linux.chinaunix.net/bbs/viewthread.php?tid=1162846