“UbuntuHelp:UsbAdslModem/e-techV2/zh”的版本间的差异
来自Ubuntu中文
Xiaotian0127(讨论 | 贡献) (新页面: 这几天查阅了许多关于usb猫上网的资料,因为我自己家的电脑上网就是用usb猫:),发现好多精品文章,同时也看到许多已经不太符合现在的...) |
Xiaotian0127(讨论 | 贡献) (UsbAdsl猫(针对accessrunner芯片)在ubuntu中的使用方法(有删改)) |
||
(未显示同一用户的6个中间版本) | |||
第1行: | 第1行: | ||
− | + | 这几天查阅了许多关于usb猫上网的资料,包括翻译的wiki,找到了好多精品文章,同时也看到许多已经不太符合现在的文章,整理了一下发了上来(我用的是pppoe所有pppoa与dhcp方式没有验证),由于水平有限,欢迎大家多多批评指正。 | |
− | 第一步: | + | |
− | + | ==第一步:确认你的猫可以驱动== | |
− | 查阅http://accessrunner.sourceforge.net/modems.shtml | + | 把猫连接到电脑,在终端上运行 |
− | 第二步: | + | sudo lsusb |
− | + | 记下有 Conexant字样的那行中ID两个字符后面的两组用:分开的数字,查阅http://accessrunner.sourceforge.net/modems.shtml 如果你的数字被列出且有绿色的条目,说明你的设备可以被支持。 | |
− | + | ||
− | + | ==第二步:下载驱动、安装驱动== | |
− | + | 有两种情况: | |
− | /drivers/usb/atm/ | + | ===内核已有猫的驱动=== |
+ | 不需要编译内核,可直接进入第三步。ubuntu6.06以后都带有usb adsl猫的驱动,因此不用编译内核。 | ||
+ | ===内核中没有猫的驱动=== | ||
+ | 需要重新编译内核,加入usb adsl猫的驱动支持或者使用带有驱动的新内核,编译内核前,需先下载libncurses包: | ||
+ | ====内核版本不变,加入新的驱动。==== | ||
+ | 到http://sourceforge.net/projects/accessrunner 下载Driver for linux 2.6.10+(确保内核不低于 2.6.10)把补丁放入源码树:在源码树找usb-atm.c。这个文件可能会在 /usr/src/linux/drivers/usb/atm/usb_atm.c这儿,重命名这儿的usb_atm.c,usb_atm.h, Kbuild和Kconfig文件(增加一些东西像.old)复制下载的新驱动程序到下列位置: | ||
+ | /drivers/usb/atm/ | ||
内核配置(以下内容要特别注意),输入: | 内核配置(以下内容要特别注意),输入: | ||
− | sudo make menuconfig | + | sudo make menuconfig |
在子菜单drivers-usb-atm中选择cxacru(新驱动!)并且输入m(可能*也行)。这种驱动方式必须要内核支持 hot-plug 和firmware 所以要特别检查这方面的设置,参考选项源文如下: | 在子菜单drivers-usb-atm中选择cxacru(新驱动!)并且输入m(可能*也行)。这种驱动方式必须要内核支持 hot-plug 和firmware 所以要特别检查这方面的设置,参考选项源文如下: | ||
− | Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) | + | Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) |
− | ... | + | ... |
− | Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) (ATM) | + | Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) (ATM) |
− | ... | + | ... |
− | Support for Host-side USB (USB) | + | Support for Host-side USB (USB) |
− | ... | + | ... |
− | USB DSL modem support (USB_ATM) | + | USB DSL modem support (USB_ATM) |
− | ... | + | ... |
− | Conexant AccessRunner USB support (USB_CXACRU) 这里必须要选上哦 | + | Conexant AccessRunner USB support (USB_CXACRU) 这里必须要选上哦 |
− | hotplug 和 firemare也必须选 | + | hotplug 和 firemare也必须选 |
− | [*] PCI support | + | [*] PCI support |
− | PCI access mode (Any) --->[*] PCI Express support | + | PCI access mode (Any) --->[*] PCI Express support |
− | <*> PCI Express Hotplug driver[*] Use polling mechanism for hot-pluevents (for testing purpose) │ │[*] Legacy /proc/pci interface | + | <*> PCI Express Hotplug driver[*] Use polling mechanism for hot-pluevents (for testing purpose) │ │[*] Legacy /proc/pci interface |
− | .... | + | .... |
− | PCI Hotplug Support ---> 这里面第一个选* 其它选M吧 | + | PCI Hotplug Support ---> 这里面第一个选* 其它选M吧 |
− | Generic Driver Options ---> 全选* 如果有 -- 的就不用管那条 | + | Generic Driver Options ---> 全选* 如果有 -- 的就不用管那条 |
− | plug&play相关的也选上吧 | + | plug&play相关的也选上吧 |
把network 里面把所有有关 ppp ppp over atm ppp over ethernet的选上。 | 把network 里面把所有有关 ppp ppp over atm ppp over ethernet的选上。 | ||
然后退出保存配置文件。 | 然后退出保存配置文件。 | ||
− | + | ====使用带有驱动的新内核==== | |
− | 解压缩 tar xjvf linux-2.6.18.tar.bz2 到/opt/linux-2.6.18/目录下,在/opt/linux-2.6.18下运行下列命令: | + | 比如linux-2.6.18,解压缩 tar xjvf linux-2.6.18.tar.bz2 到/opt/linux-2.6.18/目录下,在/opt/linux-2.6.18下运行下列命令: |
− | make oldconfig 先产生缺省配置文件,然后一直按回车键即可 | + | make oldconfig |
− | make menuconfig 重新配置驱动模块,必须对usb相关模块进行选中,部分配置如下: | + | 先产生缺省配置文件,然后一直按回车键即可 |
− | Code maturity level options ---> | + | make menuconfig |
− | [*] Prompt for development and/or incomplete code/drivers | + | 重新配置驱动模块,必须对usb相关模块进行选中,部分配置如下: |
− | Bus options ---> | + | Code maturity level options ---> |
− | PCI access mode(Any) | + | [*] Prompt for development and/or incomplete code/drivers |
− | [*] PCI Express support | + | Bus options ---> |
− | [M] PCI Express Hotplug driver | + | PCI access mode(Any) |
− | [*] Use polling mechanism for hot-plug events | + | [*] PCI Express support |
− | [*] Legacy /proc/pci interface | + | [M] PCI Express Hotplug driver |
− | PCI Hotplug Support ---> | + | [*] Use polling mechanism for hot-plug events |
− | [M] Support for PCI Hotplug | + | [*] Legacy /proc/pci interface |
− | [*] Use polling mechanism for hot-plug events | + | PCI Hotplug Support ---> |
− | Networking optings ---> | + | [M] Support for PCI Hotplug |
− | [*] Packet socket | + | [*] Use polling mechanism for hot-plug events |
− | [*] Unix domain sockets | + | Networking optings ---> |
− | [*] TCP/IP sockets | + | [*] Packet socket |
− | [*] IP:multicasting | + | [*] Unix domain sockets |
− | [M] Asynchronous Transfer Mode (ATM) | + | [*] TCP/IP sockets |
− | [M] classical IP over ATM | + | [*] IP:multicasting |
− | [M] LAN Emulation support | + | [M] Asynchronous Transfer Mode (ATM) |
− | [M] Multi-protocol over ATM support | + | [M] classical IP over ATM |
− | [M] RFC1483/2684 Bridged protocols | + | [M] LAN Emulation support |
− | + | [M] Multi-protocol over ATM support | |
− | Device Drivers ---> | + | [M] RFC1483/2684 Bridged protocols |
− | Generic Driver Options ---> | + | Device Drivers ---> |
− | 全选 | + | Generic Driver Options ---> |
− | Plug and Play support ---> | + | 全选 |
− | [*] Plug and Play BIOS support | + | Plug and Play support ---> |
− | [*] Plug and Play BIOS /proc interface | + | [*] Plug and Play BIOS support |
− | + | [*] Plug and Play BIOS /proc interface | |
− | Network device support ---> | + | Network device support ---> |
− | ATM drivers ---> | + | ATM drivers ---> |
− | [M] ATM over TCP | + | [M] ATM over TCP |
− | [M] PPP support | + | [M] PPP support |
− | [M] PPP over Ethernet | + | [M] PPP over Ethernet |
− | [M] PPP over ATM | + | [M] PPP over ATM |
− | [*] PPP multilink support | + | [*] PPP multilink support |
− | USB support ---> | + | USB support ---> |
− | [*] Support for Host-side USB | + | [*] Support for Host-side USB |
− | [*] USB device filesystem | + | [*] USB device filesystem |
− | USB DSL modem support ---> | + | USB DSL modem support ---> |
− | [M] USB DSL modem support | + | [M] USB DSL modem support |
− | [M] Speedtouch USB support | + | [M] Speedtouch USB support |
− | [M] Conexant AccessRunner USB support | + | [M] Conexant AccessRunner USB support |
− | [M] Other USB DSL modem support | + | [M] Other USB DSL modem support |
然后退出保存配置文件 | 然后退出保存配置文件 | ||
− | + | ====编译内核==== | |
− | make | + | 依次运行 |
− | make modules_install | + | make |
− | make install | + | make modules_install |
− | 运行成功,在/boot/下可看到vmlinuz-2.6.18文件,然后还需要运行 mkinitramfs -o /boot/initrd.img-2.6.18 /lib/modules/2.6. | + | make install |
− | + | 运行成功,在/boot/下可看到vmlinuz-2.6.18文件,然后还需要运行 | |
− | 大多数USB猫都有一个可编程完成多种工作的微处理器,其驱动会加载一个具备调制解调功能的小程序(即固件,通常有版权)到猫。usb猫的驱动中不包含固件,下面是如何生成固件并放置于/lib/ | + | mkinitramfs -o /boot/initrd.img-2.6.18 /lib/modules/2.6.18 |
− | + | 来生成initrd.img-2.6.18 文件,修改/boot/grub/menu.lst以便使用新的内核,用新内核来重启系统。 | |
− | + | ||
− | 在linux下,编译cxacru-fw.c得到cxacru-fw程序(需要libc6-dev库) | + | ==第三步:获得猫的固件,以便驱动使用。== |
− | gcc -o cxacru cxacru-fw.c | + | 大多数USB猫都有一个可编程完成多种工作的微处理器,其驱动会加载一个具备调制解调功能的小程序(即固件,通常有版权)到猫。usb猫的驱动中不包含固件,下面是如何生成固件并放置于/lib/firmware下:需要下面两个文件 |
+ | cxacru-fw.c下载地址:http://accessrunner.cvs.sourceforge.net/accessrunner/utils/ CnxEtU.sys(可在猫的驱动光盘或装有猫驱动的win系统中找到)。 | ||
+ | 在linux下,编译cxacru-fw.c得到cxacru-fw程序(需要libc6-dev库): | ||
+ | gcc -o cxacru cxacru-fw.c | ||
创建linux的firmware文件: | 创建linux的firmware文件: | ||
− | chmod +x cxacru-fw | + | chmod +x cxacru-fw |
− | ./cxacru-fw cnxetu.sys cxacru-fw.bin | + | ./cxacru-fw cnxetu.sys cxacru-fw.bin |
将cxacru-fw.bin(系统只认此文件名)放到/lib/firmware下,重新启动计算机,固件里面的驱动被加载,modem的link灯开始同步(由一闪一闪到一直亮着),查看设备状态: | 将cxacru-fw.bin(系统只认此文件名)放到/lib/firmware下,重新启动计算机,固件里面的驱动被加载,modem的link灯开始同步(由一闪一闪到一直亮着),查看设备状态: | ||
− | less /proc/net/atm/cxacru:X | + | less /proc/net/atm/cxacru:X |
应该是:Line up | 应该是:Line up | ||
X是你的设备号,通常是0 | X是你的设备号,通常是0 | ||
− | 第四步 使用br2684ctl配置vpi与vci | + | |
− | 调制网桥的包文件是br2684ctl, | + | ==第四步 使用br2684ctl配置vpi与vci== |
− | br2684ctl -b -c 0 -e 0 -a 0.vpi.vci (使用本地的VPI/VCI,-e 0为LLC方式) | + | 调制网桥的包文件是br2684ctl,可用它设置vpi与vci,br2684ctl的deb安装包下载:http://packages.ubuntu.com/edgy/net/br2684ctl 安装时,需要libatm1和libc6库,安装后用: |
− | + | br2684ctl -b -c 0 -e 0 -a 0.vpi.vci (使用本地的VPI/VCI,-e 0为LLC方式) | |
− | br2684ctl [-c n -e 0|1 -b 0|1 -s buf_size -a [itf].vpi.vci ]+ | + | 命令进行设置,语法是: |
− | -a [itf].vpi.vci : ATM PVC 码, VPI 和 VCI. 必需的 | + | br2684ctl [-c n -e 0|1 -b 0|1 -s buf_size -a [itf].vpi.vci ]+ |
− | -c n : BR2684 接口码,例如 nas0,nas1,... 必需的 | + | -a [itf].vpi.vci : ATM PVC 码, VPI 和 VCI. 必需的 |
− | -e 0|1 : 封装方法. 0=LLC, 1=VC mux.默认是 0, LLC | + | -c n : BR2684 接口码,例如 nas0,nas1,... 必需的 |
− | -b 0|1 : 后台运行. 1=后台,0=前台.默认是 0 | + | -e 0|1 : 封装方法. 0=LLC, 1=VC mux.默认是 0, LLC |
− | -s buf_size : 传输缓冲值. 默认是 8192. | + | -b 0|1 : 后台运行. 1=后台,0=前台.默认是 0 |
− | + | -s buf_size : 传输缓冲值. 默认是 8192. | |
− | br2684ctl -b -e 0 -c 0 -a 0.0.35 | + | 例如可使用如下命令桥接: |
+ | br2684ctl -b -e 0 -c 0 -a 0.0.35 | ||
此操作会建立名为nas0的设备并进行配置,配置成功,会显示: | 此操作会建立名为nas0的设备并进行配置,配置成功,会显示: | ||
− | RFC1483/2684 bridge: Interface "nas0" created sucessfully | + | RFC1483/2684 bridge: Interface "nas0" created sucessfully |
− | RFC1483/2684 bridge: Communicating over ATM 0.vpi.vci, encapsulation: LLC | + | RFC1483/2684 bridge: Communicating over ATM 0.vpi.vci, encapsulation: LLC |
− | RFC1483/2684 bridge: Interface configured | + | RFC1483/2684 bridge: Interface configured |
− | 第五步 拨号登录 | + | |
− | + | ==第五步 拨号登录== | |
− | + | 拨号方式由你的网络供应商提供的。有三种可行方案:DHCP、PPPoA、PPPoE。 | |
− | dhclient nas0 | + | ===DHCP=== |
+ | 不需要用户名和密码,Ubuntu中使用dhcpclient命令(其他的linux发行版是dhcpcd): | ||
+ | dhclient nas0 | ||
PPPOE和PPPOA两种PPP方案都需要用户名和密码。 | PPPOE和PPPOA两种PPP方案都需要用户名和密码。 | ||
− | + | ===PPPOA=== | |
− | + | ====方法一:使用新版本的pppd和rp-pppoe==== | |
− | + | 保证pppd已经有了pppoa的插件 (find /usr/lib/ -name pppoatm.so),到http://gateway.bedroom.gen.nz/~clive/adsl/thefiles/adsl-cln.tar.gz 下载这个补丁,使rp-pppoe程序支持pppoa,下面就可以adsl-setup了(ubuntu好像是pppoeconf), PPPoA的用户要注意提示选择ifup ppp0,可以用adsl-status 或 ifconfig 查看状态 | |
− | + | ====方法二:如下,需要安装libc6-dev,linux-libc-dev两个文件==== | |
− | “username@isp” “*” “password“ | + | ''创建个文件夹“secrets”'' |
− | username@ | + | 在这个文件夹下建2个文件“chap-secrets”,“pap-secrets”,使用文本编辑器编辑这2个文件,内容相同,加入下面这行: |
− | sudo install -m 600 secrets /etc/ppp/chap-secrets | + | “username@isp” “*” “password“ |
− | sudo install -m 600 secrets /etc/ppp/pap-secrets | + | username@isp替换为ADSL的帐号,password替换为ADSL的密码,引号,空格,都不要动,保存,终端输入: |
− | + | sudo install -m 600 secrets /etc/ppp/chap-secrets | |
− | noipdefault | + | sudo install -m 600 secrets /etc/ppp/pap-secrets |
− | defaultroute | + | ''新建文件“conexant”'' |
− | user ‘username@isp‘ | + | 使用文本编辑器加入如下内容: |
− | noauth | + | noipdefault |
− | updetach | + | defaultroute |
− | usepeerdns | + | user ‘username@isp‘ |
− | plugin pppoatm.so | + | noauth |
− | 0.35 | + | updetach |
− | username@isp替换为ADSL用户名,0.35是虚通道标识VPI/ | + | usepeerdns |
− | sudo install -m 600 conexant /etc/ppp/peers | + | plugin pppoatm.so |
− | + | 0.35 | |
− | #!/bin/bash | + | username@isp替换为ADSL用户名,0.35是虚通道标识VPI/VCI,保存,终端输入: |
− | modprobe ppp_generic | + | sudo install -m 600 conexant /etc/ppp/peers |
− | modprobe pppoatm | + | ''拨号连接脚本'' |
− | count=0 | + | 新建文件“dial”,加入如下内容: |
− | while [[ $((count++)) -lt 40 ]] | + | #!/bin/bash |
− | do | + | modprobe ppp_generic |
− | sync=$(dmesg | grep ‘ADSL line: up’) | + | modprobe pppoatm |
− | if [ ! -z “$sync” ] | + | count=0 |
− | then | + | while [[ $((count++)) -lt 40 ]] |
− | pppd call conexant | + | do |
− | exit 0 | + | sync=$(dmesg | grep ‘ADSL line: up’) |
− | fi | + | if [ ! -z “$sync” ] |
− | sleep 1 | + | then |
− | done | + | pppd call conexant |
− | echo “The Conexant firmware did not load” | + | exit 0 |
− | + | fi | |
− | 开机自动拨号: sudo ln -s ../init.d/dial /etc/rc2.d/S95dial | + | sleep 1 |
− | DNS服务器: sudo ln -sf ppp/resolv.conf /etc/resolv.conf | + | done |
+ | echo “The Conexant firmware did not load” | ||
+ | 保存,终端输入: | ||
+ | sudo install -m 744 dial /etc/init.d | ||
+ | 开机自动拨号: | ||
+ | sudo ln -s ../init.d/dial /etc/rc2.d/S95dial | ||
+ | DNS服务器: | ||
+ | sudo ln -sf ppp/resolv.conf /etc/resolv.conf | ||
重启即可 | 重启即可 | ||
− | + | ===PPPOE=== | |
− | sudo ifconfig nas0 up | + | 用pppoeconf设置拨号 |
+ | sudo ifconfig nas0 up | ||
nas0虚拟网卡已经就绪,开始拨号: | nas0虚拟网卡已经就绪,开始拨号: | ||
− | sudo pppoeconf | + | sudo pppoeconf |
自动检测nas0,eth0,eth1....检测到nas0后,会要求ADSL账号和密码,其他设置默认,设置好后,拨号请执行: | 自动检测nas0,eth0,eth1....检测到nas0后,会要求ADSL账号和密码,其他设置默认,设置好后,拨号请执行: | ||
− | sudo pon dsl-provider | + | sudo pon dsl-provider |
如果碰到一个错误为找不到"nic-nas0"则如下操作: | 如果碰到一个错误为找不到"nic-nas0"则如下操作: | ||
− | sudo gedit /etc/ppp/peers/dsl-provider | + | sudo gedit /etc/ppp/peers/dsl-provider |
找到"nic-nas0",改成"nas0",保存。断开ADSL连接: | 找到"nic-nas0",改成"nas0",保存。断开ADSL连接: | ||
− | sudo poff dsl-provider | + | sudo poff dsl-provider |
现在可以上网了,使用脚本把上面步骤打个包: | 现在可以上网了,使用脚本把上面步骤打个包: | ||
− | #!/bin/bash | + | #!/bin/bash |
− | sudo br2684ctl -b -c 0 -a 0.0.35 | + | sudo br2684ctl -b -c 0 -a 0.0.35 |
− | sleep 3s | + | sleep 3s |
− | sudo ifconfig nas0 up | + | sudo ifconfig nas0 up |
− | sudo pon dsl-provider | + | sudo pon dsl-provider |
先执行: | 先执行: | ||
− | gedit | + | gedit adsl.sh |
把上面的代码copy进去,然后 | 把上面的代码copy进去,然后 | ||
− | sudo chmod +x | + | sudo chmod +x adsl.sh |
开机执行后,自动拨号和登录,连接成功用Ctrl-C关闭终端窗口。 | 开机执行后,自动拨号和登录,连接成功用Ctrl-C关闭终端窗口。 |
2007年11月28日 (三) 20:21的最新版本
这几天查阅了许多关于usb猫上网的资料,包括翻译的wiki,找到了好多精品文章,同时也看到许多已经不太符合现在的文章,整理了一下发了上来(我用的是pppoe所有pppoa与dhcp方式没有验证),由于水平有限,欢迎大家多多批评指正。
目录
第一步:确认你的猫可以驱动
把猫连接到电脑,在终端上运行
sudo lsusb
记下有 Conexant字样的那行中ID两个字符后面的两组用:分开的数字,查阅http://accessrunner.sourceforge.net/modems.shtml 如果你的数字被列出且有绿色的条目,说明你的设备可以被支持。
第二步:下载驱动、安装驱动
有两种情况:
内核已有猫的驱动
不需要编译内核,可直接进入第三步。ubuntu6.06以后都带有usb adsl猫的驱动,因此不用编译内核。
内核中没有猫的驱动
需要重新编译内核,加入usb adsl猫的驱动支持或者使用带有驱动的新内核,编译内核前,需先下载libncurses包:
内核版本不变,加入新的驱动。
到http://sourceforge.net/projects/accessrunner 下载Driver for linux 2.6.10+(确保内核不低于 2.6.10)把补丁放入源码树:在源码树找usb-atm.c。这个文件可能会在 /usr/src/linux/drivers/usb/atm/usb_atm.c这儿,重命名这儿的usb_atm.c,usb_atm.h, Kbuild和Kconfig文件(增加一些东西像.old)复制下载的新驱动程序到下列位置:
/drivers/usb/atm/
内核配置(以下内容要特别注意),输入:
sudo make menuconfig
在子菜单drivers-usb-atm中选择cxacru(新驱动!)并且输入m(可能*也行)。这种驱动方式必须要内核支持 hot-plug 和firmware 所以要特别检查这方面的设置,参考选项源文如下:
Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) ... Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) (ATM) ... Support for Host-side USB (USB) ... USB DSL modem support (USB_ATM) ... Conexant AccessRunner USB support (USB_CXACRU) 这里必须要选上哦 hotplug 和 firemare也必须选 [*] PCI support PCI access mode (Any) --->[*] PCI Express support <*> PCI Express Hotplug driver[*] Use polling mechanism for hot-pluevents (for testing purpose) │ │[*] Legacy /proc/pci interface .... PCI Hotplug Support ---> 这里面第一个选* 其它选M吧 Generic Driver Options ---> 全选* 如果有 -- 的就不用管那条 plug&play相关的也选上吧
把network 里面把所有有关 ppp ppp over atm ppp over ethernet的选上。 然后退出保存配置文件。
使用带有驱动的新内核
比如linux-2.6.18,解压缩 tar xjvf linux-2.6.18.tar.bz2 到/opt/linux-2.6.18/目录下,在/opt/linux-2.6.18下运行下列命令:
make oldconfig
先产生缺省配置文件,然后一直按回车键即可
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
然后退出保存配置文件
编译内核
依次运行
make make modules_install make install
运行成功,在/boot/下可看到vmlinuz-2.6.18文件,然后还需要运行
mkinitramfs -o /boot/initrd.img-2.6.18 /lib/modules/2.6.18
来生成initrd.img-2.6.18 文件,修改/boot/grub/menu.lst以便使用新的内核,用新内核来重启系统。
第三步:获得猫的固件,以便驱动使用。
大多数USB猫都有一个可编程完成多种工作的微处理器,其驱动会加载一个具备调制解调功能的小程序(即固件,通常有版权)到猫。usb猫的驱动中不包含固件,下面是如何生成固件并放置于/lib/firmware下:需要下面两个文件 cxacru-fw.c下载地址:http://accessrunner.cvs.sourceforge.net/accessrunner/utils/ CnxEtU.sys(可在猫的驱动光盘或装有猫驱动的win系统中找到)。 在linux下,编译cxacru-fw.c得到cxacru-fw程序(需要libc6-dev库):
gcc -o cxacru cxacru-fw.c
创建linux的firmware文件:
chmod +x cxacru-fw ./cxacru-fw cnxetu.sys cxacru-fw.bin
将cxacru-fw.bin(系统只认此文件名)放到/lib/firmware下,重新启动计算机,固件里面的驱动被加载,modem的link灯开始同步(由一闪一闪到一直亮着),查看设备状态:
less /proc/net/atm/cxacru:X
应该是:Line up X是你的设备号,通常是0
第四步 使用br2684ctl配置vpi与vci
调制网桥的包文件是br2684ctl,可用它设置vpi与vci,br2684ctl的deb安装包下载:http://packages.ubuntu.com/edgy/net/br2684ctl 安装时,需要libatm1和libc6库,安装后用:
br2684ctl -b -c 0 -e 0 -a 0.vpi.vci (使用本地的VPI/VCI,-e 0为LLC方式)
命令进行设置,语法是:
br2684ctl [-c n -e 0|1 -b 0|1 -s buf_size -a [itf].vpi.vci ]+ -a [itf].vpi.vci : ATM PVC 码, VPI 和 VCI. 必需的 -c n : BR2684 接口码,例如 nas0,nas1,... 必需的 -e 0|1 : 封装方法. 0=LLC, 1=VC mux.默认是 0, LLC -b 0|1 : 后台运行. 1=后台,0=前台.默认是 0 -s buf_size : 传输缓冲值. 默认是 8192.
例如可使用如下命令桥接:
br2684ctl -b -e 0 -c 0 -a 0.0.35
此操作会建立名为nas0的设备并进行配置,配置成功,会显示:
RFC1483/2684 bridge: Interface "nas0" created sucessfully RFC1483/2684 bridge: Communicating over ATM 0.vpi.vci, encapsulation: LLC RFC1483/2684 bridge: Interface configured
第五步 拨号登录
拨号方式由你的网络供应商提供的。有三种可行方案:DHCP、PPPoA、PPPoE。
DHCP
不需要用户名和密码,Ubuntu中使用dhcpclient命令(其他的linux发行版是dhcpcd):
dhclient nas0
PPPOE和PPPOA两种PPP方案都需要用户名和密码。
PPPOA
方法一:使用新版本的pppd和rp-pppoe
保证pppd已经有了pppoa的插件 (find /usr/lib/ -name pppoatm.so),到http://gateway.bedroom.gen.nz/~clive/adsl/thefiles/adsl-cln.tar.gz 下载这个补丁,使rp-pppoe程序支持pppoa,下面就可以adsl-setup了(ubuntu好像是pppoeconf), PPPoA的用户要注意提示选择ifup ppp0,可以用adsl-status 或 ifconfig 查看状态
方法二:如下,需要安装libc6-dev,linux-libc-dev两个文件
创建个文件夹“secrets” 在这个文件夹下建2个文件“chap-secrets”,“pap-secrets”,使用文本编辑器编辑这2个文件,内容相同,加入下面这行:
“username@isp” “*” “password“
username@isp替换为ADSL的帐号,password替换为ADSL的密码,引号,空格,都不要动,保存,终端输入:
sudo install -m 600 secrets /etc/ppp/chap-secrets sudo install -m 600 secrets /etc/ppp/pap-secrets
新建文件“conexant” 使用文本编辑器加入如下内容:
noipdefault defaultroute user ‘username@isp‘ noauth updetach usepeerdns plugin pppoatm.so 0.35
username@isp替换为ADSL用户名,0.35是虚通道标识VPI/VCI,保存,终端输入:
sudo install -m 600 conexant /etc/ppp/peers
拨号连接脚本 新建文件“dial”,加入如下内容:
#!/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 conexant exit 0 fi sleep 1 done echo “The Conexant firmware did not load”
保存,终端输入:
sudo install -m 744 dial /etc/init.d
开机自动拨号:
sudo ln -s ../init.d/dial /etc/rc2.d/S95dial
DNS服务器:
sudo ln -sf ppp/resolv.conf /etc/resolv.conf
重启即可
PPPOE
用pppoeconf设置拨号
sudo ifconfig nas0 up
nas0虚拟网卡已经就绪,开始拨号:
sudo pppoeconf
自动检测nas0,eth0,eth1....检测到nas0后,会要求ADSL账号和密码,其他设置默认,设置好后,拨号请执行:
sudo pon dsl-provider
如果碰到一个错误为找不到"nic-nas0"则如下操作:
sudo gedit /etc/ppp/peers/dsl-provider
找到"nic-nas0",改成"nas0",保存。断开ADSL连接:
sudo poff dsl-provider
现在可以上网了,使用脚本把上面步骤打个包:
#!/bin/bash sudo br2684ctl -b -c 0 -a 0.0.35 sleep 3s sudo ifconfig nas0 up sudo pon dsl-provider
先执行:
gedit adsl.sh
把上面的代码copy进去,然后
sudo chmod +x adsl.sh
开机执行后,自动拨号和登录,连接成功用Ctrl-C关闭终端窗口。