ZyXEL-630C1-HowTo
De Grupo de Usuarios de GNU Linux de Quilmes
Contenido |
Introducción
- Este How To, se hiso sobre un Slackware 10.2 con el kernel 2.6.10, para otros kernels ver el apartado de Otros kernels. El modem en si es un ZyXEL 630-C1(USB) de Prestige (Lo dan los chicos de Telefonica)
Requerimientos
- Lo que necesitaremos sera lo siguiente:
- Kernel 2.6.10 (Ver el apartado para otros kernels si es el caso) - Modulo 630-C1 - cxacru (Lo que hace conectar al modem y darle vida!) - pppoe (muchas distribuciones ya lo traen) - linux-atm
IMPORTANTE: Consiganse un paquete linux-atm-2.4.1-1.i386.rpm y y luego con rpm2tgz lo pasan a .tgz
Instalando el software
- Kernel 2.6.10 (Ver el apartado para otros kernels si es el caso)
Consigan e instalen el kernel junto con los headers, modules, y el resto:
- alsa-driver-1.0.8_2.6.10-i486-1.tgz - kernel-generic-2.6.10-i486-1.tgz - kernel-headers-2.6.10-i386-1.tgz - kernel-source-2.6.10-noarch-1.tgz - kernel-modules-2.6.10-i486-1.tgz
Lo pueden conseguir aca.
- Modulo 630-C1
Descompriman el modulo y ya dentro del directorio hagan un make
# cd modulo_path (el que tengan) # make
make modules -C /lib/modules/2.6.10/build SUBDIRS=/root/modulo-630-c1 make[1]: Entering directory `/usr/src/linux-2.6.10' CC [M] /root/modulo-630-c1/speedtch.o Building modules, stage 2. MODPOST CC /root/modulo-630-c1/speedtch.mod.o LD [M] /root/modulo-630-c1/speedtch.ko make[1]: Leaving directory `/usr/src/linux-2.6.10'
Ahora un make install
# make install
make modules_install -C /lib/modules/2.6.10/build SUBDIRS=/root/modulo-630-c1 make[1]: Entering directory `/usr/src/linux-2.6.10' INSTALL /root/modulo-630-c1/speedtch.ko make[1]: Leaving directory `/usr/src/linux-2.6.10'
Ahora queda pasar el modulo para que el kernel lo tome..
# cp ../ruta_del_modulo/speedtch.ko /usr/src/linux-2.6.10/drivers/usb/atm/ # cp ../ruta_del_modulo/speedtch.ko /lib/modules/2.6.10/kernel/drivers/usb/atm
Terminamos con el modulo.
- cxacru
Descompriman el cxacru y hagan un make
# make
cd init && make clean make[1]: Entering directory `/root/cxacru-630-C1/init' rm -f cxload cxioctl cxloaddbg cxloaddbgt make[1]: Leaving directory `/root/cxacru-630-C1/init' cd sarlib && make clean make[1]: Entering directory `/root/cxacru-630-C1/sarlib' /bin/rm -f *.o make[1]: Leaving directory `/root/cxacru-630-C1/sarlib' cd bridged && make clean make[1]: Entering directory `/root/cxacru-630-C1/bridged' rm -f br2684ctl make[1]: Leaving directory `/root/cxacru-630-C1/bridged' cd init && make && make install make[1]: Entering directory `/root/cxacru-630-C1/init' gcc -O2 -Wstrict-prototypes -fomit-frame-pointer -pipe -march=i686 -Wall -DLINUX -I../include -lusb -lpthread cxload.c -o cxload gcc -O2 -Wstrict-prototypes -fomit-frame-pointer -pipe -march=i686 -Wall -DLINUX -I../include -lusb -lpthread cxioctl.c -o cxioctl make[1]: Leaving directory `/root/cxacru-630-C1/init' make[1]: Entering directory `/root/cxacru-630-C1/init' install -c -m 755 -p cxload cxioctl /usr/sbin make[1]: Leaving directory `/root/cxacru-630-C1/init' cd firmware && make make[1]: Entering directory `/root/cxacru-630-C1/firmware' install -c -m 644 -p cxfirm4.bin /usr/sbin make[1]: Leaving directory `/root/cxacru-630-C1/firmware' cd scripts && make make[1]: Entering directory `/root/cxacru-630-C1/scripts' install -c -m 755 -p cxload.sh cxunload.sh cxstart.sh cxstop.sh /usr/sbin install -c -m 755 -p service/cxacru /etc/cxacru.service if [ ! -f /etc/cxacru ]; then \ install -c -m 644 -p config/cxacru /etc; \ fi install -c -m 755 -p cxnetup.sh cxnetdown.sh /usr/sbin install -c -m 755 -p cxnet2up.sh cxnet2down.sh /usr/sbin install -c -m 755 -p cxnet3up.sh cxnet3down.sh /usr/sbin install -c -m 755 -p cxnet4up.sh cxnet4down.sh /usr/sbin make[1]: Leaving directory `/root/cxacru-630-C1/scripts' cd bridged && make && make install make[1]: Entering directory `/root/cxacru-630-C1/bridged' gcc -O2 -Wstrict-prototypes -fomit-frame-pointer -pipe -march=i686 -Wall -DLINUX -I/lib/modules/2.6.10/build/include br2684ctl.c -o br2684ctl -latm make[1]: Leaving directory `/root/cxacru-630-C1/bridged' make[1]: Entering directory `/root/cxacru-630-C1/bridged' install -c -m 755 -p br2684ctl /usr/sbin make[1]: Leaving directory `/root/cxacru-630-C1/bridged'
Configurando cxacru
- El archivo de configuracion (/etc/cxacru/cxacru.conf):
# # 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= # ATM VPI=8 VCI=35 # 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.0 GATEWAY= # PPP Especifico PPP_UP="pppoe-start" PPP_DOWN="pppoe-stop"
Esas 2 lineas son importantes sino el script no conectaria directamente y tendriamos que hacerlo nosotros tipeando pppoe-start en la consola.
Ahora vayamos a "/usr/sbin/cxnet4up.sh" y abajo buscamos esto:
echo $">>> Loading pppd daemon..." if [ "$PPP_UP" = "" ]; then adsl-start || exit 1 else $PPP_UP fi
Donde cambiamos adsl-start por pppoe-start.
Arrancando el modem al iniciar el linux
- Para facilitarnos el trabajo de no tener que ejecutar manualmente todo para arrancar el modem puede ir a /etc/rc.d/rc.local y agregar esto:
echo cxacru.sh
Yo agregue un echo para separar y que no se junte toda la informacion del booteo, ya van aver que quiero decir... jeje
Testeando
- Ya con todo listo corremos el script "cxstart.sh" y vemos q pasa...
# ./cxstart.sh >>> Inits Conexant AccessRunner <<<time>>> Loading firmware... Conexant AccessRunner microcode upload program. 6/9/2003 Josep Comas <jcomas> See credits in documentation I found ADSL modem with VendorID = 0586 & ProductID = 330a Loading and sending /usr/sbin/cxfirm4.bin... Firmware is sent! Setting configuration... Waiting ADSL line is up (until 90 seconds)... ....... ADSL line is up (Downstream 1024 Kbits/s, Upstream 256 Kbits/s) time to remove modules driver time to remove modules driver checking remove modules >>> Loading driver... Launching driver in normal mode... /usr/sbin/cxload.sh successful Setting PPP over Ethernet... >>> Setting PPPoE <<<Loading>>> Loading ppp_generic... >>> Loading br2684ctl... Conexant AccessRunner ioctl call. 6/9/2003 Josep Comas <jcomas> See credits in documentation I found ADSL modem with VendorID = 0586 & ProductID = 330a RFC1483/2684 bridge: Interface "nas0" created sucessfully RFC1483/2684 bridge: Communicating over ATM 0.8.32, encapsulation: LLC RFC1483/2684 bridge: Interface configured >>> Activating interface... >>> Activating send/receive data... >>> Loading pppd daemon... ...Connected! /usr/sbin/cxnet4up.sh successful
Otros kernels
Bueno, este es un agregado que agregue despues de hacer la guia, aca les dejo como levantar el modem con otros kernels, supongo que servira para todos, yo probe con el 2.6.17.11 (el ultimo estable a la fecha 05-09-06)..
Bueno, para empezar yo trabajo con slackware 10.2, consiganse los paquetes para su distribucion... en slackware los consiguen en su ftp.. Bajensenlo e instalenlo..
Los unicos requisitos son estos:
Networking options <*> Packet socket <*> Unix domain sockets [*] TCP/IP networking [*] Asynchronous Transfer Mode (ATM)
USB support <*> Support for USB [*] Preliminary USB device filesystem <M> EHCI <---- Este no se sies necesario. <M> UHCI <M> OHCI
Si necesitan el RFC1483/2684:
Networking options [*] Asynchronous Transfer Mode (ATM) [*] Classical IP over ATM
Si necesitan PPP sobre Ethernets:
Networking options [M] RFC1483/2684 Bridged protocols Network Device Support <M> PPP (point-to-point protocol) support <M> PPP Deflate compression <M> PPP over Ethernet (EXPERIMENTAL)
Si es PPP sobre ATM:
Network Device Support <M> PPP (point-to-point protocol) support <M> PPP Deflate compression <M> PPP over ATM
IMPORTANTE Y copiar el archivo que se encuentra en el .tar.gz cxacru-630-C1 en la carpeta firmware cxfirm4.bin a la carpeta de firmware segun corresponda renombrado el cxfirm4.bin a cxacru-fw.bin
En algunas distros son
-Slackware 10.2 /usr/lib/hotplug/firmware renombrandolo como cxacru-fw.bin -ubuntu 6.06 / 6.10 /lib/firmware/version_del_kernel renombrandolo como cxacru-fw.bin
Sin este paso las cosas no funcionan
Ahora compilen todoy reinicien con el nuevo kernel (doy por entendido que saben compilar y arrancar el nuevo kernel).
Ahora solo queda levantar la interfaz nas0 y vincularla con ppp0 para que haga la conexion..
Aca les dejo un script que yo puse en rc.local...
modprobe br2684 br2684ctl -b -c 0 -a 8.35 ifconfig nas0 up
con esto ya estaia preparado.. queda hacer el vinculo con ppp0.
Para esto usamos la herramienta pppoe
Hacemos un: pppoe -I nas0 con lo que le decimos que vincule el ppp0 con nas0.
Y eso es todo, creo que debera servir con otras versiones de kernels... Si tienen alguna duda o algo no quedo muy claro pregunten en el foro y les ayudamos.
Agradecimientos
- Gracias a todas las personas que colaboraron en esto.. primero ante todo, a Vndecid por haber aportado la guia en el foro del kernel 2.6.10, gracias a Pixis5, Richard y a mariux por su ayuda al igual que a todos los demas, y gracias a mi por haberme tomado el tiempo de armar este how to jeje. Gracias a todos y espero que les haya servido como ami.
Salu! y Suertes!
--DeuX 21:43 5 sep 2006 (ART)
