个人工具
登录
查看“UsbAdslModem/e-techV2”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“UsbAdslModem/e-techV2”的源代码
来自Ubuntu中文
←
UsbAdslModem/e-techV2
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
This howto will help you to set up a e-tech V2 ADSL USB modem. ===== 第1部分,USB猫驱动 ===== ====== 步骤1:获得驱动 ====== 在sourceforge 项目中一组人正在为许多USB ADSL猫开发驱动。我的 USB ADSL猫(a-tech-V2 usb)集成conexant芯片,我找到了一些关于它的如下文件(http: //accessrunner.sourceforge.net/index.shtml)<br> /drivers/usb/atm/cxacru.c /drivers/usb/atm/Kbuild /drivers/usb/atm/Kconfig /drivers/usb/atm/usbatm.c /drivers/usb/atm/usbatm.h <br> ====== 步骤2:获取猫固件 ====== 大多数猫有一个可编程的微处理器(一台“简单的"的电脑),由于能做很多事,因此该处理器销售旺盛且非常便宜。上述驱动将会上载一个允许微处理器具备调制解调功能小程序到猫。这个小程序(叫做'''固件''')常要求得到许可。 <br> 从步骤1下载的驱动不包含这些固件(否则它是非法的),但你可能得到一张包含许多文件的随猫CD,CD中含有该固件。如果你的猫工作在Windows下,固件就会在Windows区。因此你已经有了固件的合法复制品,唯一的问题是找到该固件。sourceforge站点给了你一些提示。我已经找到了一个叫做 cxacru-fw.c(我丢失了URL名,但是你可以通过google搜索到)的程序。在编译cxacru-fw.c(URL给你清晰指示)後,cxacru-fw会从CD上的一个叫做CnxEtU.sys文件中释放固件,或者释放Windows区,务必保证把把固件改名为cxacru- fw.bin,并把cxacru-bin放置在: <br> /lib/hotplug/firmware '''''''''注释''':这是Ubuntu指定的,其它Linux释放版本用其它位置。'' '''''''''注释2''':文件cxacru-fw.bin是被许可的,勿重新分配。'' <br> ====== 步骤3:重新编译linux-kernel ====== (不幸的是,若没有因特网连接该工作将很难进行) '''步骤 3a:'''在ubuntuforums.org上有一篇关于“新手内核编译“如何操作的文章。在重新编译内核时,你必须完成该文中提到的所有必要步骤。该文章的目的是通过重新编译内核使显卡工作,因此有许多可选步骤可以省略。 然而,该文假设Ubuntu工作在有因特网连接的环境中。 <br> '''步骤3b''':这就意味着你不能安装重新编译内核所需的所有包。你需要的文件一些在http://archive.ubuntu.com/ubuntu/上 其中一个你需要的包是libncurses5-dev,一种找到该文件地址的方法如下:进入 http://ftp.se.kde.org/ftpsearch.html,搜索libncurses5-dev,现在你会在Debian FTP-文档中得到一些该位置的信息。Ubuntu文档和Debian是一样的结构,因此你可以在ubuntu文档的相同位置找到libncurses5 -dev。 <br> 通过这种方式下载的包会有一个扩展的.deb。该.deb可以通过下面命令手动安装: <pre>dpkg -i (package.deb) </pre> 通过阅读vanila内核“新手内核编译“如何操作的编译部分,你能获得更多怎样利用这种变通方法的知识。 '''''' '''步骤3c:'''如果你完成步骤3“新手内核编译”如何操作(祝贺你已经到了这一步),首先退出配置菜单,查找usb_atm.c在原树中的位置。该位置很有可能在/usr/src/linux/drivers/usb/atm/usb_atm.c,在这里,重命名文件usb_atm.c,usb_atm.h, Kbuild和Kconfig(加了一些如.old的东西),复制新驱动到如下位置: <br> /drivers/usb/atm/cxacru.c /drivers/usb/atm/Kbuild /drivers/usb/atm/Kconfig /drivers/usb/atm/usbatm.c /drivers/usb/atm/usbatm.h 我把usbatm.c和usbatm.h重命名成usb_atm.c和usb_atm.h,但不能确认该操作是否有必要。 现在,再次输入: <pre>sudo make menuconfig </pre> 现在,在子菜单driers-usb-atm我选择了cxacru(新驱动),而后输入m(可能*也行,我不确定)。退出配置菜单并编译内核。 '''''''''步骤3d(可选):'''一切应该顺利,但在我的操作中并非如此,我得到一条错误信息: <pre>Inconsistent kallsyms data Try setting CONFIG_KALLSYMS_EXTRA_PASS make: *** [vmlinux] Fout 1 </pre> 我不知道如何设置CONFIG_KALLSYMS_EXTRA_PASS,因此我做了一件错误的事,按名编辑Makefile,查找 CONFIG_KALLSYMS_EXTRA_PASS在Makefile中的位置,且核对其参数,然后改变IF声明使它在 CONFIG_KALLSYMS_EXTRA_PASS为真时执行。这种方法是有用的(我希望有人编辑过这个,且能解释怎样漂亮地完成编辑) '''''''''步骤3e(可选):'''在安装过程中我再一次得到错误信息: <pre>dpkg-gencontrol: error: package kernel-image-2.6.12-accessrunner not in control info make[1]: *** [real_stamp_image] Fout 255 make[1]: Leaving directory `/usr/src/linux-source-2.6.12-10.25' make: *** [kernel-image-deb] Fout 2 </pre> 在这里,我也可能做了一件错误的事情,加了一些如下的东西到debian/control <pre>Package: kernel-image-2.6.12-accessrunner Architecture: all Section: devel Priority: optional Depends: Provides: ${kt-provides} Description: Linux kernel image </pre> 因为有两个包,我不得不这样做,(我希望有人编辑过这个,且能解释怎样漂亮地完成编辑) '''''''''步骤3f:'''最终你会有新的内核包。如果你不能完成上述过程,通过wubu.20.jacquesb@spamgourmet.com给我发信息,我会用email传给你两个包文件(25MB) '''''''''步骤4:'''安装内核包(查看“新手内核编译”如何操作一文)<br>如果你重启系统,GRUB将会给你一个启动新内核的选项。在启动新内核并登录后,核对应用程序,系统工具,系统日志。如果一切运行正常,你将会看到,USB 猫将被检测到,且cxacru已经被激活。你也会看到来在CXacru in /var/log/messages(如果你看到的一切运行正常的)的消息: <pre>localhost kernel [4294759.585000] cxacru 1-1:1.0: ADSL line: training localhost kernel [4294764.599000] cxacru 1-1:1.0: ADSL line: channel analysis localhost kernel [4294769.585000] cxacru 1-1:1.0: ADSL line: up (384 Kib/s down | 128 Kib/s up) </pre> '''''' '''步骤 4a(可选):'''起初我得到一些错误提示: <pre>localhost kernel [4300944.253000] cxacru 1-1:1.0: firmware unavailable (hotplug configuration problem?) localhost kernel [4295543.593000] cxacru 1-1:1.0: poll status: error -5 </pre> 第1个问题是我把固件放在一个错误的位置。第2个问题可能需要一个更新的固件。 '''''''''结束语:'''由于USB ADSL猫相对便宜且容易安装,以后应用会越来越多。我希望在以后的Ubuntu释放版本(我安装的是2.6.10版本)中通过默认设置就能完成USB ADSL猫安装的驱动程序数量能有所增加。或者至少安装驱动要变得容易。对一个新手来说没有因特网连接重新编译内核是很困难的事情。另一方面,放置许可固件到合适的位置要变的相对容易,而且能使用户自己在不复杂的情况下完成整个安装。 <br> '''注释:在linux启动时,固件提供商可能认为你在登入时安装了固件的猫已经连接到网络。如果你必须支付在线时间,你不得不继续研究cxacru的详细内容,使之能够随意登入和登出。''' <br> <br> ===== 第2部分-猫连接到Ubuntu的以太网对话中 ===== 荷兰用户(zonnet/versatel/tele2) 应该核对这个URL:http://www.dse.nl/~torch/usb_adsl_modem/ ===== 设置网桥 ===== linux 的以太网对话需要把猫连接到网桥和网络。如果猫已经被连接到电话网络的服务提供商处(用ADSL分解器),那可能会采用一种叫做ATM(异步传输模式)的通讯方式。在我的情况中,驱动(见第1部分-步骤1)不得不放在一个atm子目录下。事实上在ubuntu中该子目录已经存在,且有一个好的暗示: ubuntu已经预测到atm猫的连接。 为了启动ATM猫和ubuntu之间的桥接,可以在终端输入: <pre>sudo modprobe 2684 </pre> 在ATM对话中有许多“语言”可以使用,名字是“AAL type5”的,指定了AAL5 拨号(解封装协议)等等的存在,例如:LLC和VC-MUX。<br> 注意在同一个电话网络中有多个服务商起作用时,是通过VPI.VCI码区分各自的数据流。 调制网桥的包是br2684ctl包,在Ubuntu文档中我没有找到该包,但是用debian上的br2684ctl包也能起作用(看第1部分中关于获取和安装包的步骤3b) 我的提供商: * 用LLC解封装 <br> * VPI.VCI 码0.0.32 命令语法如下: <pre>br2684ctl [-c n -e 0|1 -b 0|1 -s buf_size -a [itf].vpi.vci ]+ -a [itf].vpi.vci : ATM PVC number, VPI and VCI. Mandatory -c n : BR2684 interface number such as nas0, nas1,... Mandatory -e 0|1 : Encapsulation method. 0=LLC, 1=VC mux. default is 0, LLC -b 0|1 : Running background. 1=background, 0=foreground. Default is 0 -s buf_size : send buffer size. Default is 8192. </pre> 我的界面: br2684ctl -b -e 0 -c 0 -a 0.0.32创建 现在一个叫做nas0的界面建立了,该界面像PC机中以太网卡的一个软件版本一样能被重绘。 ===== 登入 ===== 一旦网桥有效,你必须登入。再者,这是由服务商指定的,我已经检测到三个不同进程: * DHCP * PPPoA * PPPoE 关于DHCP一般你没必要设置用户名和密码(我猜能通过电话号码识别你的身份)。而对两个PPP进程你不得不提供你的用户名和密码。 ====== DHCP ====== 如果你用DHCP登入(没有提供给你连接密码时用这个),则采用dhclient命令(在其它linux发布版本中该命令是dhcpcd): <pre>dhclient nas0 </pre> 虽然我在最后得到一些警告信息,但该命令还是有效的: <pre>sit0: unknown hardware address type 776 sit0: unknown hardware address type 776 Listening on LPF/nas0/00:d0:41:10:21:dc Sending on LPF/nas0/00:d0:41:10:21:dc Sending on Socket/fallback DHCPREQUEST on nas0 to 255.255.255.255 port 67 DHCPACK from 82.172.112.1 bound to 82.172.112.235 -- renewal in 3125 seconds. </pre> <br> ====== PPPoE 和 PPPoA ====== 由于我的用的是DHCP,所以下面的没有经过测试,为了方便,从另一个站点拷贝了下面这些,我估计如果没有修改该操作可能不会有效。 ''如果是PPPoA , 从http://accessrunner.sourceforge.net/debian-scripts/下载''the peers-pppoa 并把它放在/etc/ppp/peers下,编辑那个文件,特别是用户和VPC/VCI对等实体。在 /etc/ppp/pap-secrets /etc/ppp/chap-secrets的登入栏“password”中加上你的登入密码 <br> <pre>insmod /lib/modules/2.6.10-5-386/kernel/net/atm/pppoatm.ko pppd call peers-pppoa </pre> ''如果是PPPoE'' 安装 apt-get install libatm1 你还需要从ubuntu处下载两个包 : br2684ctl_20040226-1_i386.deb atm-tools_2.4.1-16_i386.deb ( 我不知道那个是否需要)<br> 然后用命令dpkg -i ****file****.deb安装。 ''''从http://accessrunner.sourceforge.net/debian-scripts/ the peers-pppoe 处下载the peers-pppoe,并将其放置在/etc/ppp/peers下,编辑那个文件尤其是user,同理,在/etc/ppp/pap-secrets /etc/ppp/chap-secrets的登入栏“password”中加上你的登入密码。 <br> ''完成后修改 /etc/network/interfaces,加上:'' auto nas0 iface nas0 inet static address 192.0.2.1 netmask 255.255.255.0 broadcast 192.0.2.255 0x0x gateway 192.0.2.254 pre-up br2684ctl -b -c 0 -a 0.0.100 post-down kill $(cat /var/run/$IFACE.pid) ( 0.0.100 itf.vpi.vci的格式, 通过查看你的ISP信息设置 vpi/vci) <br> ''重启网络,在/lib/modules/2.6.10-5-386/kernel/net/atm/br2684.ko /etc/init.d/networking restart处获取与atm界面匹配的nas0。''<br> <br> '''' <br> 最后通过呼叫peers-pppoe连接pppd <br> '''' 遗憾的是这个有一点难,并且不好组织,但是对于你需要做的,它提供了一个很好的方法 <br> ====== 自动获取网桥和登录 ====== 通过上述过程的登入是手动的,如果可能的话,该过程能自动完成。首先,我在桌面上放置一个小的可执行文本: <pre># sudo modprobe br2684 sudo br2684ctl -b -c 0 -a 0.0.32 sudo dhclient nas0 sleep 5d </pre> 如果连接成功,终端窗户可以通过Ctrl-C关闭。 ''''''注释:在linux启动时,固件提供商可能认为你在登入时安装了固件的猫已经连接到网络。如果你必须支付在线时间,你不得不继续研究cxacru的详细内容,使之能够随意登入和登出。 实际上,命令 modprobe ..., br2684ctl .. and dhclient or ppp...能在linux启动时被运行。我还没有实验,但是你可以看看下面站点: http://www.dse.nl/~torch/usb_adsl_modem/cxacru_auto.html (在荷兰)
返回至
UsbAdslModem/e-techV2
。