|
发表于 2003-9-17 19:21:19
|
显示全部楼层
攻克Speedtouch USB ADSL Modem 1.0(中国电信PPPOE拨号的用户必看)
速战速决,下面我就把我自己如何让这只鸡肋猫在linux下复活的经历写成一个傻瓜教程,希望能对大家有所帮助:
使用PPPOA拨号的请参考:http://www.linuxsir.cn/postnuke/modules.php?op=modload&name=News&file=article&sid=1042&mode=thread&order=0&thold=0
第一步:下载一些必需工具(所有工具除了内核我已经打成包供大家下载了,感谢yejr提供空间):
我们需要的工具有:
1、linux内核2.4.22(点击下载,2.4.22已经包含了Alcatel speedtouch USB驱动,2.5.x,2.6.0-test应该也可以,本人没试过,不敢断言)
2、tools_for_speedtouch.tar.gz (点击下载)。
第二步:配置和安装内核:
解压内核:tar -xzf linux-2.4.22.tar.gz
对于.bz2格式:bunzip2 linux-2.4.22.tar.bz2 && tar -xvf linux-2.4.22.tar
cd linux-2.4.22
make mrproper
make xconfig(控制台下用make menuconfig或make config),开始配置内核:
以下只是能使这只usb猫工作的必需选项,不要忘记选上自己需要的其他功能:
Code Maturity Level Options
Prompt for development and/or incomplete code/drivers [Y]
Loadable Module Support
Enable Loadable Module Support [Y]
Processor type and features
Symmetric multi-processing support [N]
Networking Options
Packet Socket [Y]
Asynchronus Transfer Mode (ATM) (EXPERIMENTAL) [Y]
RFC 1482/2684 Bridged protocols [Y]
Network Device Support
PPP (Point-to-Point Protocol) Support [Y]
PPP Deflate Compression [Y]
PPP over Ethernet (EXPERIMENTAL)
USB Support
Support for USB [Y]
Preliminary USB Device Filesystem [Y]
UHCI (Intel PIIX4, VIA,...) Support [M]
OHCI (Compag, iMacs, Opti, SiS, Ali,...) support [M]
Alcatel Speedtouch USB support [M]
记住该M的绝对不能Y,要不可能会出现莫名的错误。
保存你的内核配置后:
make dep
make bzImage
make modules
make install
make modules_install
将新内核添加到你的启动菜单(make install 有时候会自动完成,如果不行,只好手动了)。
至此内核安装完毕。
第三步:安装tools_for_speedtouch(其实就是我自己打的一个包,姑且叫这个名字吧)
tar -xzf tools_for_speedtouch.tar.gz
cd tools_for_speedtouch
./install
如果想手动安装这些工具的话,解压后,在tools_for_speedtouch下可以看到如下文件:
speedmgmt
br2684ctl
linux-atm-2.4.1-1.i386.rpm
ppp-2.4.0-pppoe4.tar.gz
然后自己安装以上文件(仔细检查一下,如果是已经安装过的就不要重复了):
cd tools_for_speedtouch
cp speedmgmt /usr/sbin/
cp br2684ctl /usr/sbin/
rpm -ivh linux-atm-2.4.1-1.i386.rpm
tar -xzf ppp-2.4.0-pppoe4.tar.gz
cd ppp-2.4.0-pppoe4
./configure
make
make install
其实这几句就是install文件里的内容。
第四步:配置PPPOE:
编辑/etc/fstab,将以下这一行加入fstab(有的系统如Magic Linux,已经在启动脚本自动加载usb fs了,可以不用添加):
/dev/usb /proc/bus/usb usbdevfs defaults 0 0
编辑/etc/ppp/options,然后添加下面几行:
#-----start /etc/ppp/options----
lock
defaultroute
noipdefault
noauth
passive
asyncmap 0
name user@adsl
user user@adsl
lcp-echo-interval 2
lcp-echo-failure 7
plugin /usr/lib/pppd/plugins/pppoe.so
nas0
#usepeerdns
#----end /etc/ppp/options-----
其中user@adsl是你的adsl帐号名。
编辑/etc/ppp/pap-secrets:
#-----start /etc/ppp/pap-secrets----
user@adsl * password *
#-----end /etc/ppp/pap-secrets----
把上面的user@adsl和password替换成你的adsl帐号和密码就可以了。
第五步:重新启动,切换到windows下(最好是win98以上)。
通过USB MODEM拨号。
在windows下打开控制台窗口,执行:
ipconfig /all
得到ADSL MODEM拨号后的primary DNS 和second DNS。
然后重新启动,切换到新内核,只要完成以下几小步,就可以开始我们的新伪宽带之旅了。
第六步:编辑/etc/resolve.conf
#-----start /etc/resolve.conf--------
domain xxx.xxx
nameserver abc.def.ghi.jkl
nameserver mno.pqr.stu.vwx.yzz
#-----end /etc/resolve.conf--------
xxx.xxx是你自己的域名,如果没有,随便设定一个。
abc.def.ghi.jkl和mno.pqr.stu.vwx.yzz就是你们在windows下得到的primary DNS 和second DNS。
注:请注意/etc/options有一行#usepeerdns,是用于自动获得DNS的,没想到DNS是获得了,可是没法解析,只好自己编辑resolve.conf了~~~
第七步:启动、拨号
执行以下命令:
modprobe -k speedtch
/usr/sbin/speedmgmt&
停10妙钟左右,等modem初始化完成之后,继续执行:
/usr/sbin/br2684ctl -b -c 0 -a 8.35
如果顺利,应该会得到这样的提示:
RFC1483/2684 bridge: Interface "nas0" created sucessfully
RFC1483/2684 bridge: Communicating over ATM 0.8.35, encapsulation: LLC
RFC1483/2684 bridge: Interface configured
再执行:
ifconfig nas0 up
最后一小步,执行:
pppd
让我们用tail /var/log/message看看是不是有类似于下面的信息:
Sep 16 23:01:47 localhost pppd[799]: HOST_UNIQ successful match
Sep 16 23:01:47 localhost pppd[799]: Got connection: dba
Sep 16 23:01:47 localhost pppd[799]: Connecting PPPoE socket:00:90:1a:40:20:46ba0d nas0 0x807b6a0
Sep 16 23:01:47 localhost pppd[799]: Using interface ppp0
Sep 16 23:01:47 localhost pppd[799]: Connect: ppp0 <--> nas0
Sep 16 23:01:47 localhost pppd[799]: Couldn't increase MTU to 1500
Sep 16 23:01:47 localhost pppd[799]: Couldn't increase MRU to 1500
Sep 16 23:01:47 localhost pppd[799]: Couldn't increase MRU to 1500
Sep 16 23:01:47 localhost pppd[799]: local IP address 218.5.130.162
Sep 16 23:01:47 localhost pppd[799]: remote IP address 218.5.128.1
如果有,恭喜你,你已经成功了,赶快切换到图形模式,开浏览器冲浪吧,如果出现错误信息,不要气馁,
我都可以凭什么你不行?也许你使用的是PPPOA拨号方式。
以上步骤在均在Magic linux 1.1 final上完成,相信其他系统也可以依葫芦画瓢,限于时间和精力,无法再在其他系统上实验了,
希望有好心者可以将不同之处出来和大家分享。
另外大家可以将modprobe -k speedtch&&/usr/sbin/speedmgmt&加入rc.local,这样每次一启动就可以自动初始化了;
大家还可以写一个简陋的脚本,暂且叫adsl-up吧:
#!/bin/bash
/usr/sbin/br2684ctl -b -c 0 -a 8.35
ifconfig nas0 up
pppd
#end
想上网执行这个脚本就可以了,如果想下线,执行:killall pppd。
以前几个可能的误区:
1、无法执行speedmgmt。呵呵,大家一定是从http://www.speedtouchdsl.com/下载的吧,其实里面的mgmt.o只是目标文件,
还要经过一步make,得到的 speedmgmt才是真正的speedmgmt。
2、可能大家成功得到local IP和remote IP后,ping得通remote IP却ping不通其他地方。其实是电信把IGMP给屏蔽了,不是上不了网,
如果做到这一步再放弃那你就大冤了~~~。
3、抓到内核就给他上1483/2684 bridge的补丁,导致内核无法编译或正常启动。补药不能乱吃的,比较新的内核都有这个补丁了,所以我才建
议大家使用2.4.22,他连speedtouch usb驱动都加上了(2.4.21以前没有),真的让我们省了很多心,感谢现在2.4内核维护者!
4、没有配置DNS。结果因为无法解析域名而放弃。
请大家参考:
speedtouch howt:http://linux-usb.sourceforge.net/SpeedTouch/docs/index.html
linux-ie上的adsl-howto:http://www.linux.ie/articles/tutorials/adsl-howto.php
我就是结合他们的方法做出来的。
好了,最后希望Magic Linux 的将来版本能将这个USB MODEM的驱动加进去,毕竟很多人都在用这个猫,而且我们国内比较特殊,大多是PPPOE的,很有中国特色:)。
有问题请发邮件到我的信箱:oklqh@163.com,有时间我会回复的。 |
|