这份文档是关于Conexant USB ADSL怎样在Linux(Kernel2.6.x)下驱动的
1.准备工作
现在确认你有一支Conexant USB ADSL的Modem和以下文件,(如果您没有备齐这些东西,下面的工作将无法进行)
引用:
引用:cxacru.tar.bz2 rp-pppoe-3.5.tar.gz Kernel-2.6.x patch-2.6.X_date_accessrunner.gz
说明:
其中cxacru.tar.bz2(要在此处下载我已经打好补丁的文件)是USB ADSL的驱动程序文件源代码包
rp-pppoe-3.5.tar.gz(或更高版本)是pppoe的拨号程序源代码包
Kernel-2.6.x是Kernel的源代码包
patch-2.6.X_date_accessrunner.gz是内核的补丁文件
确定备齐以上文件后就可以进行下面的工作了
2.开始安装
首先将设备联结好
2.1给内核打补丁并编译内核
解压内核包把patch-2.6.X_date_accessrunner.gz拷贝到内核目录的上级目录
执行
代码:
引用:gunzip -c patch-2.6.x_YYYYMMDD_accessrunner.gz | patch -p1
如果你的Kernel已经有如下支持(可以在Kernel的.config文件中查找到)就不必重新编译
代码:
引用:Code maturity level options [*] Prompt for development and/or incomplete code/drivers Loadable module support [*] Enable loadable module support [*] Set version information on all module symbols [*] Kernel module loader Networking options <*> Packet socket <*> Unix domain sockets [*] TCP/IP networking [*] Asynchronous Transfer Mode (ATM) USB support <*> Support for USB [*] Preliminary USB device filesystem UHCI OHCI Alcatel Speedtouch USB support (USB_SPEEDTOUCH) Networking options [*] Asynchronous Transfer Mode (ATM) [*] Classical IP over ATM Networking options [M] RFC1483/2684 Bridged protocols Network Device Support PPP (point-to-point protocol) support PPP Deflate compression PPP over Ethernet (EXPERIMENTAL) Network Device Support PPP (point-to-point protocol) support PPP Deflate compression PPP over ATM Processor type and features [ ] Symmetric multi-processing support Cryptographic API (CRYPTO) CRC32c CRC algorithm (CRYPTO_CRC32C) Library routines CRC32c (Castagnoli, et al) Cyclic Redundancy-Check (LIBCRC32C)
设置好后 make 、make modules 、make modules_install、make install、reboot
2.2编译驱动和拨号程序
解压cxacru.tar.bz2,ln /内核源代码目录 /usr/linux -s
然后在源代码目录中make,
解压rp-pppoe-3.5.tar.gz,在其目录中执行./go 如果你用X 就可以用./go-gui
设置好你的拨号程序,要注意的是在填写设备的时候要填写nas0
nas0是驱动程序虚拟出来的USB Modem
2.3设置协议
编辑/etc/cxacru文件,像这个样子:
代码:
引用:# # Config file for Conexant AccessRunner # # Driver mode DRIVER_MODE=1 # 1 = normal, 2 = debug, 3 = normal+max speed (without ask adsl status),
4 = debug+max speed (without ask adsl status) # Protocol PROTOCOL_MODE=4 # 1 = RFC1483/2684 routed, 2 = PPP over ATM (pppoa), 3 = RFC1483/2684 bridged,
4 = PPP over Ethernet (pppoe) # Paths BINARY_PATH="/usr/sbin" ATM_PATH="" # ADSL # if OPEN_MODE is blank then cxload uses default mode acoording VID & PID # Values for OPEN_MODE are: # 0 = auto selection, G.Handshake # 1 = auto selection, T1.413 # 2 = G.Handshake # 3 = ANSI T1.413 # 4 = ITU-T G.992.1 (G.DMT) # 5 = ITU-T G.992.2 (G.LITE) OPEN_MODE=4 # ATM VPI=0 VCI=33 # Specific for RFC1483/2684 routed/bridged # if IP_ADDRESS is blank in bridged mode then it uses DHCP to get IP IP_ADDRESS= NETMASK=255.255.255.255 GATEWAY=
需要更改的是# Protocol # ADSL # ATM
如果你用的是RFC1483/2684协议还要设置# Specific for RFC1483/2684 routed/bridged
PPPOE和PPPOA的用户只要修改# Protocol # ADSL # ATM 这3项就可以了
3.拨号
在终端下输入cxstart.sh建立连接 cxstop.sh断掉连接
用ifconfig检查一下你是否已经连上了,像这个样子:
代码:
引用:[root@Love root]# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) nas0 Link encap:Ethernet HWaddr 00:00:01:00:00:00 inet6 addr: fe80::200:1ff:fe00:0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17650 errors:0 dropped:0 overruns:0 frame:0 TX packets:15790 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15856545 (15.1 Mb) TX bytes:2128934 (2.0 Mb) ppp0 Link encap:Point-to-Point Protocol inet addr:221.214.196.80 P-t-P:221.0.64.38 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:16454 errors:0 dropped:0 overruns:0 frame:0 TX packets:14588 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:15674609 (14.9 Mb) TX bytes:1613794 (1.5 Mb) [root@Love root]#
如果有nas0和ppp0那么恭喜你你已经成功了!