在linux(内核2.6.x)下驱动 USB ADSL

字体: | 打印

  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]#