花了我一个星期的时间,终于成功在ubuntu6.06下驱动usb adsl的猫成功上网,
不敢独乐,特把安装步骤写下来,供还没上网成功的朋友参考!
一。系统ubuntu6.06, 版本2.6.15-23; usb adsl( 0572:cb00 Conexant)
使用uname -r 命令可以查到你的当前版本;使用lsusb可以查看你的usb情况
二。下载好全部的软件;
对于双系统的人,可以先在windows下下载全部所需要的软件然后转到ubuntu
系统下再进行安装,原因很简单因为ubuntu下还不能上网,这个过程是很需要
耐心的,我至少在windwos和ubuntu系统下切换不下20次;
三. 安装步骤
1.由于ubuntu6.06缺省没有安装usb adsl驱动,所以必须重新配置;所以
我索性下载了最新的linux内核文件(最新版本是2.6.18)进行编译;
到http://www.kernel.org/ 下载linux-2.6.18.tar.bz2文件
2.准备编译新的内核
在编译内核时,需要先下载libncurses包,到google上可以下载到;
1)解压缩 tar xjvf linux-2.6.18.tar.bz2 到/opt/linux-2.6.18/目录下
2)在/opt/linux-2.6.18下运行下列命令
a)make oldconfig (先产生缺省配置文件)
然后一直按回车键即可
b)make menuconfig(重新配置驱动模块)
这里必须对usb相关模块进行选中,网上已经有好多人写过了;
我的部分配置如下:
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Bus options --->
PCI access mode(Any)
[*] PCI Express support
[M] PCI Express Hotplug driver
[*] Use polling mechanism for hot-plug events
[*] Legacy /proc/pci interface
PCI Hotplug Support --->
[M] Support for PCI Hotplug
[*] Use polling mechanism for hot-plug events
Networking optings --->
[*] Packet socket
[*] Unix domain sockets
[*] TCP/IP sockets
[*] IP:multicasting
[M] Asynchronous Transfer Mode (ATM)
[M] classical IP over ATM
[M] LAN Emulation support
[M] Multi-protocol over ATM support
[M] RFC1483/2684 Bridged protocols

Device Drivers --->
Generic Driver Options --->
全选
Plug and Play support --->
[*] Plug and Play BIOS support
[*] Plug and Play BIOS /proc interface

Network device support --->
ATM drivers --->
[M] ATM over TCP
[M] PPP support
[M] PPP over Ethernet
[M] PPP over ATM
[*] PPP multilink support
USB support --->
[*] Support for Host-side USB
[*] USB device filesystem
USB DSL modem support --->
[M] USB DSL modem support
[M] Speedtouch USB support
[M] Conexant AccessRunner USB support
[M] Other USB DSL modem support

c)然后退出保存配置文件
d)依次运行
make
make modules_install
make install
3)如果运行成功,应该在/boot/下面可以看到vmlinuz-2.6.18
文件,然后还需要生成initrd.img-2.6.18 文件
运行 mkinitramfs -o /boot/initrd.img-2.6.18 /lib/modules/2.6.18
4)修改/boot/grub/menu.lst
把新的内核文件配置进去。
5)到这里内核已经编译成功了,重启系统后,运行uname -r, 如果显示2.6.18表示成功;
注意重启时,可能屏幕上没有任何东西(除非配置了splash);可以不管它;

3. 安装firmware
1)http://sourceforge.net/cvs/?group_id=47406
下面要用一个叫做cxacru-fw程序文件从 CnxEtU.sys 取出信息生成linux上面用的firmware文件 cxacru-fw.bin
因为在写这个文档的时候cxacru-fw只能通过cvs得到
我没有cvs,所以我直接在在它的cvs web页面把几个文件的内容粘贴下来了;
2) 直接运行make命令,生成 cxacru-fw
在cxacru-fw目录下编译生成cxacru-fw,然后
# ./cxacru-fw CnxEtU.sys cxacru-fw.bin
拷贝cxacru-fw.bin到lib/firmware下
#cp cxacru-fw.bin /lib/firmware
3)关于CnxEtU.sys文件网上说可以从windwos下copy该文件过来使用;可我使用了 windows下的文件
怎么也无法编译成cxacru-fw.bin,后来从网上下载了一个CnxEtU.sys才好使;
如果你和我的情况类似,可以从这里下载到该文件
http://www.atlantis-land.com/firmware/1863_DriverWinMultiV099.085WAN.zip
把1863_DriverWinMultiV099.085WAN.zip解开后,取出里面的CnxEtU.sys文件
然后使用上面的命令生成cxacru-fw.bin文件,copy到/lib/firmware下;

4. 配置自动启动脚本
1)新建一个文本文件secrets,输入如下内容
"username@isp" "*" "password"
这里是输入你的帐号(username@isp)和密码(password)
2)sudo install -m 600 secrets /etc/ppp/chap-secrets
sudo install -m 600 secrets /etc/ppp/pap-secrets
3)ppp over atm设置
新建一个文件 speedtch,内容如下
noipdefault
defaultroute
#username@isp 为你的帐号名称
user 'username@isp'
noauth
updetach
usepeerdns
plugin pppoatm.so
#输入vpi和vci,我的是8.35
VPI.VCI
4)sudo install -m 600 speedtch /etc/ppp/peers
5)新建一个dail文件,内如如下
#!/bin/bash
modprobe ppp_generic
modprobe pppoatm
count=0
while [[ $((count++)) -lt 40 ]]
do
sync=$(dmesg | grep 'ADSL line: up')
if [ ! -z "$sync" ]
then
pppd call speedtch
exit 0
fi
sleep 1
done
echo "The SpeedTouch firmware did not load"

运行下面命令
sudo install -m 744 dial /etc/init.d
sudo ln -s /etc/init.d/dial /etc/rc2.d/S95dial
sudo ln -sf /etc/ppp/resolv.conf /etc/resolv.conf

5.最后重启机器,应该可以看到usb adsl的link灯会亮;
启动后,此时用ifconfig -a命令会显示nas0和ppp0的相关信息。
(注意在登录时由于系统会进行usb初始化及网络连接,登录会花较长时间,请耐心等候)
6.直接打开浏览器应该可以上网了;