|
环境
testing + 2.6.38-2 + KDE 4
ICON 225无线网卡
联通极速卡(预付费)
步骤
在KDE终端下,su至root环境
aptitude install wvdial 以及 pppd
插卡后,ifconfig -a 应该会有 hso0 ,/dev/ttyHS0,HS1,HS2,HS3,HS4,HS5(视乎情况而定)
配置 /etc/wvdial.conf
[Dialer Defaults]
Modem = /dev/ttyHS3
Band = 460800
Init = ATZ
Init2 = ATQ0 V1 E1 X3 +FCLASS=0
Init3 = AT+CGDCONT=2,"IP","3gnet"
# Init3 = AT+CGDCONT=1,"IP","3gnet"
# Init4 = AT+COPS=0,2,"UN"
# Init4 = AT+COPS=0,2,"UN",2
Init4 = AT_OPSYS=1
# Init5 = AT+CPIN="1234"
FlowControl = Hardware (CRTS CTS)
[Dialer wcdma]
Phone = *99#
# Login = 3GNET
# Login Prompt = on
Password = ;
Username = ;
Ask Password = 1
Passowrd Prompt = on
New PPPD = yes
Dial Command = ATDT
#Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Carrier Check = yes
Auto DNS = 1
Stupid Mode = 0
APN = 3GNET
# Modem Type = Analog Modem
Modem Type = USB Modem
ISDN = 0
Remote Name = "*"
Compuserve = 0
Idle Seconds = 0
# Inherits = Defaults
配置 /etc/ppp/options
noauth
asyncmap 0
crtscts
lock
hide-password
modem
debug
# 剩余的部分以默认为主
然后 #wvdial wcdma
依据这个wvdial配置文件,ATDT*99#后会提示输入密码,然后按一下空格回车,接下去启动pppd,拨号成功,公网ip地址和netmask,dns均会自动取得.
当 ifdown ethX wlanX等连接公网的接口后,debian自动就会切换到这个ppp0连接公网.
因为试验成功的时候,我还是用eth0连接着internet用google查看资料.
后记
买卡的时候,淘宝的卖家叫我不要买这卡,说是有一个地方的预付费联通卡不能用,有的地方能用,我就考虑,这卡最便宜,100元,二手,2008年产品,肯定支持linux,而且是支持7.2M卡里最便宜的,不能用大概是配置或者拨号的原因,因为联通不可能在服务端的程序上存在专门导致哪个哪个地方不用的代码,后来我在windows下的拨号程序上,找到这个原因.
wvdial几乎有without username & passowrd的问题,网上那么多的文章,现在我看来全部都当是骗小孩子的,其实modem是可以驱动的,拨号也是正常的,就是wvdial需要指定用户名密码,但是联通所有上网却不需要,导致停留在waiting for carrier上,从17号一直测试到昨晚,后来在网友的帮助下加入 APN = 参数才正常,但是win下的拨号程序,用户名密码/APN/PIN全部都是不需要的.
为什么是骗小孩,因为google的话,会发现wvdial without username passowrd 相当相当多的文章.
我认为这个方法,应该适用于所有手机+USB上网,其他无线网卡的(除了有哪个CD-ROM模式的卡片外),下一步测试一下wcdma的手机
另外也发现Openwrt中,可以直接调用 hso0 这类接口,在类似 /etc/network/interfaces 之类的文件中,直接配置UMTS而不需要拨号程序,不知道我们的debian什么时候也可以这样做.
很感概,93年第一次用Teleix + ATDT拨号去连接深圳的Pony Soft BBS,这个站的站长相信不会有人不认识了,18年后,再次用这个无比熟悉和亲切的命令,特意写下此文,怀念那段Cfido的岁月,不知道SIR里,是否也有当初 CFIDO 的站友.
后续
有次将极速卡换成半年卡后,上述方法失效,遇到一些问题,摘录一下
首先确定所在地是否支持3G信号,经查 www.10010.com / 3G专区,发现广东省全省均有信号;
ATDT*99#
NO CARRIER
--> No Carrier! Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
将 Carrier Check = no
将 Stupid Mode = 1
将 username = ; 改成 username = " " ,password = ; 改成 password = " " ,解决
接着提示
--> Using interface ppp0
--> Authentication (CHAP) started
--> Authentication (CHAP) successful
--> Terminate Request (Message: "No network protocols running" )
--> Terminate Request (Message: "No network protocols running" )
似乎是 pppd 的问题,解决方法暂无。 |
|