..::Muadiv::..

..:: PHP ,xHtml, Css, JavaScript , C#.Net & SharePoint Developer | Technical Support | CCNA | Digital Photography | Linux & Windows Entusiast ::..

Twitter Updates

    follow me on Twitter

    [LINUX.Net]Guia Definitiva para instalar modem Zyxel Prestige 630-c1 Usb en Ubuntu Breezy 5.10

    Para instalar el modem zyxel prestige 630-c1 en ubuntu linux 5,10 (recopilada por un monton de lados, limpia, finalizada y testeada en un ubuntu desde 0 por Muadiv)

    Los archivos necesarios son:

    1. cpp-3.4_3.4.4-6ubuntu8_i386.deb

    2. gcc-3.4_3.4.4-6ubuntu8_i386.deb

    3. gcc-3.4-base_3.4.4-6ubuntu8_i386.deb

    4. libatm1-dev_2.4.1-17_i386.deb

    5. libusb-dev_0.1.10a-17ubuntu1_i386.deb

    6. cxacru-630-new2.tar.gz

    7. modulo-630-c1.tar.gz

    8. br2684ctl



    Una vez que tenemos todo esto descargado lo tiramos a un disquete o un pendrive, arrancamos Ubuntu y en nuestra carpeta de usuario (/hombre/nombre_de_usuario) que se puede encontrar en el menu Lugares >> Carpeta personal creamos dos carpetas. En la primera que llamaremos "gcc-3.4" copiamos los archivos 1, 2, 3 y 8. En otra carpeta que llamaremos "zyxel" copiamos el resto de los archivos, es decir, los archivos 4, 5, 6 y 7.

    Y ante todo, para poder hacer el make, entren al manejador de paquetes SYNAPTIC y pongan en buscar “linux-headers” , van a salir tres cosas para instalar, y las instalan a las tres, de lo contrario no podran hacer el make luego.

    Lo primero que haremos es solucionar el error que se produce al tratar de hacer el make del modulo ya que según entiendo el kernel fue compilado con gcc 3.4 y la version que viene en Breezy es la 4.0. Como los modulos necesitan ser compilados en la misma version que se compilo el kernel se produce esta falla.

    - Entramos a la carpeta gcc-3.4:
    Código:
    cd ~/gcc-3.4

    - Ejecutamos estos comandos
    Código:
    sudo apt-get install build-essential

    Y debieramos ver algo como esto (cuando nos pida la opinio sobre algo digasmole que si):
    Código:
    Leyendo lista de paquetes... Hecho
    Creando árbol de dependencias... Hecho
    Se instalarán los siguientes paquetes extras:
    binutils dpkg-dev g++ g++-4.0 gcc gcc-4.0 libc6-dev libstdc++6-4.0-dev linux-kernel-headers make
    Paquetes sugeridos:
    binutils-doc debian-keyring gcc-4.0-doc lib64stdc++6 manpages-dev autoconf automake1.9 libtool flex bison gcc-doc
    gcc-4.0-locales libc6-dev-amd64 lib64gcc1 glibc-doc libstdc++6-4.0-doc stl-manual
    Paquetes recomendados
    libmudflap0-dev
    Se instalarán los siguientes paquetes NUEVOS:
    binutils build-essential dpkg-dev g++ g++-4.0 gcc gcc-4.0 libc6-dev libstdc++6-4.0-dev linux-kernel-headers make
    0 actualizados, 11 se instalarán, 0 para eliminar y 0 no actualizados.
    Se necesita descargar 0B/10,2MB de archivos.
    Se utilizarán 41,9MB de espacio de disco adicional después de desempaquetar.
    ¿Desea continuar [S/n]? s

    Preconfigurando paquetes ...
    Seleccionando el paquete binutils previamente no seleccionado.
    (Leyendo la base de datos ...
    57077 ficheros y directorios instalados actualmente.)
    Desempaquetando binutils (de .../binutils_2.16.1-2ubuntu6_i386.deb) ...
    Seleccionando el paquete linux-kernel-headers previamente no seleccionado.
    Desempaquetando linux-kernel-headers (de .../linux-kernel-headers_2.6.11.2-0ubuntu13_i386.deb) ...
    Seleccionando el paquete libc6-dev previamente no seleccionado.
    Desempaquetando libc6-dev (de .../libc6-dev_2.3.5-1ubuntu12_i386.deb) ...
    Seleccionando el paquete gcc-4.0 previamente no seleccionado.
    Desempaquetando gcc-4.0 (de .../gcc-4.0_4.0.1-4ubuntu9_i386.deb) ...
    Seleccionando el paquete gcc previamente no seleccionado.
    Desempaquetando gcc (de .../gcc_4%3a4.0.1-3_i386.deb) ...
    Seleccionando el paquete libstdc++6-4.0-dev previamente no seleccionado.
    Desempaquetando libstdc++6-4.0-dev (de .../libstdc++6-4.0-dev_4.0.1-4ubuntu9_i386.deb) ...
    Seleccionando el paquete g++-4.0 previamente no seleccionado.
    Desempaquetando g++-4.0 (de .../g++-4.0_4.0.1-4ubuntu9_i386.deb) ...
    Seleccionando el paquete g++ previamente no seleccionado.
    Desempaquetando g++ (de .../g++_4%3a4.0.1-3_i386.deb) ...
    Seleccionando el paquete make previamente no seleccionado.
    Desempaquetando make (de .../archives/make_3.80-9_i386.deb) ...
    Seleccionando el paquete dpkg-dev previamente no seleccionado.
    Desempaquetando dpkg-dev (de .../dpkg-dev_1.13.10ubuntu4_all.deb) ...
    Seleccionando el paquete build-essential previamente no seleccionado.
    Desempaquetando build-essential (de .../build-essential_11.1_i386.deb) ...
    Configurando binutils (2.16.1-2ubuntu6) ...

    Configurando linux-kernel-headers (2.6.11.2-0ubuntu13) ...
    Configurando libc6-dev (2.3.5-1ubuntu12) ...
    Configurando gcc-4.0 (4.0.1-4ubuntu9) ...
    Configurando gcc (4.0.1-3) ...

    Configurando make (3.80-9) ...

    Configurando dpkg-dev (1.13.10ubuntu4) ...
    Configurando libstdc++6-4.0-dev (4.0.1-4ubuntu9) ...
    Configurando g++-4.0 (4.0.1-4ubuntu9) ...
    Configurando g++ (4.0.1-3) ...

    Configurando build-essential (11.1) ...

    Luego le damos:
    Código:
    dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

    y debieramos ver lo siguiente:
    Código:
    ** Packages in archive but missing from override file: **
    cpp-3.4 gcc-3.4 gcc-3.4-base

    Wrote 3 entries to output Packages file.

    Ahora editamos las fuentes de Ubuntu:
    Código:
    sudo gedit /etc/apt/sources.list

    Y en el archivo que se nos abre agragamos la siguiente linea:
    Código:
    deb file:///home/nombre_de_usuario/gcc-3.4 ./
    donde "nombre_de_usuario" debe ser reemplazado por su usuario (en mi caso como se abran dado cuenta es muadiv...)

    Luego guardan los cambios al archivo, lo cierran y actuatilizamos la lista de fuentes:
    Código:
    sudo apt-get update

    Debieramos ver lo siguiente:
    Código:
    Ign file: ./ Release.gpg
    Ign file: ./ Release
    Ign file: ./ Packages
    Leyendo lista de paquetes... Hecho

    Ahora instalamos gcc-3.4:
    Código:
    sudo apt-get install gcc-3.4

    Y debieramos tener esto en la consola (cuando nos pregunte algo le decimos que si):
    Código:
    Leyendo lista de paquetes... Hecho
    Creando árbol de dependencias... Hecho
    Se instalarán los siguientes paquetes extras:
    cpp-3.4 gcc-3.4-base
    Paquetes sugeridos:
    gcc-3.4-doc libc6-dev-amd64
    Se instalarán los siguientes paquetes NUEVOS:
    cpp-3.4 gcc-3.4 gcc-3.4-base
    0 actualizados, 3 se instalarán, 0 para eliminar y 0 no actualizados.
    Se necesita descargar 0B/2355kB de archivos.
    Se utilizarán 8720kB de espacio de disco adicional después de desempaquetar.
    ¿Desea continuar [S/n]? s
    AVISO: ¡No se han podido autenticar los siguientes paquetes!
    gcc-3.4-base cpp-3.4 gcc-3.4
    ¿Instalar estos paquetes sin verificación [s/N]? s

    Preconfigurando paquetes ...
    Seleccionando el paquete gcc-3.4-base previamente no seleccionado.
    (Leyendo la base de datos ...
    59200 ficheros y directorios instalados actualmente.)
    Desempaquetando gcc-3.4-base (de .../gcc-3.4-base_3.4.4-6ubuntu8_i386.deb) ...
    Seleccionando el paquete cpp-3.4 previamente no seleccionado.
    Desempaquetando cpp-3.4 (de .../cpp-3.4_3.4.4-6ubuntu8_i386.deb) ...
    Seleccionando el paquete gcc-3.4 previamente no seleccionado.
    Desempaquetando gcc-3.4 (de .../gcc-3.4_3.4.4-6ubuntu8_i386.deb) ...
    Configurando gcc-3.4-base (3.4.4-6ubuntu8) ...
    Configurando cpp-3.4 (3.4.4-6ubuntu8) ...
    Configurando gcc-3.4 (3.4.4-6ubuntu8) ...

    Por ultimo editamos de nuevo la lista de fuentes:
    Código:
    /etc/apt/sources.list
    , borramos lo que habiamos insertado anteriormente y actualizamos las fuentes nuevamente,
    Código:
    sudo apt-get update

    Ahora si podemos comenzar con el proceso similar al que se hacia en Hoary, entramos a la carpeta zyxel y descomprimimos ya sea por consola o desde Nautilus los dos archivos .gz que estan ahi. Con esto obtenemos dos nuevas carpetas, modulo-630-c1 y cxacru-630-new.

    Instalamos los paquetes necesarios. libusb y libatm1 ya vienen instalados en Breezy por lo que solo hay que instalar estos "dev"
    Código:
    sudo dpkg -i *.deb

    Obtenemos lo siguiente:
    Código:
    Seleccionando el paquete libatm1-dev previamente no seleccionado.
    (Leyendo la base de datos ...
    73028 ficheros y directorios instalados actualmente.)
    Desempaquetando libatm1-dev (de libatm1-dev_2.4.1-17_i386.deb) ...
    Seleccionando el paquete libusb-dev previamente no seleccionado.
    Desempaquetando libusb-dev (de libusb-dev_0.1.10a-17ubuntu1_i386.deb) ...
    Configurando libatm1-dev (2.4.1-17) ...
    Configurando libusb-dev (0.1.10a-17ubuntu1) ...

    Entramos a la carpeta del modulo:
    Código:
    cd modulo-630-c1
    y ejecutamos
    Código:
    make

    Debieramos tener la siguiente respuesta:
    Código:
    make modules -C /lib/modules/2.6.12-9-386/build SUBDIRS=/home/muadiv/zyxel/modulo-630-c1
    make[1]: Entering directory `/usr/src/linux-headers-2.6.12-9-386'
    CC [M] /home/muadiv/zyxel/modulo-630-c1/speedtch.o
    Building modules, stage 2.
    MODPOST
    CC /home/muadiv/zyxel/modulo-630-c1/speedtch.mod.o
    LD [M] /home/muadiv/zyxel/modulo-630-c1/speedtch.ko
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.12-9-386'

    Luego:
    Código:
    sudo cp speedtch.ko /lib/modules/2.6.12-9-386/kernel/drivers/usb/atm/

    Nos movemos al directorio del cxacru
    Código:
    cd ..
    cd cxacru-630-new
    sudo mkdir /etc/cxacru
    sudo make

    y tenemos lo siguiente:
    Código:
    cd init && make clean
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/init'
    rm -f cxload cxioctl cxloaddbg cxloaddbgt
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/init'
    cd bridged && make clean
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/bridged'
    rm -f br2684ctl
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/bridged'
    cd init && make && make install
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/init'
    gcc -O2 -Wstrict-prototypes -fomit-frame-pointer -pipe -march=i686 -Wall -DLINUX -I../include -lusb -lpthread cxload.c -o cxload
    cxload.c: En la función ‘load_firmware’:
    cxload.c:758: aviso: el puntero que apunta en el paso del argumento 3 de ‘send_block’ difiere en signo
    gcc -O2 -Wstrict-prototypes -fomit-frame-pointer -pipe -march=i686 -Wall -DLINUX -I../include -lusb -lpthread cxioctl.c -o cxioctl
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/init'
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/init'
    install -c -m 755 -p cxload cxioctl /usr/sbin
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/init'
    cd firmware && make
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/firmware'
    mkdir -p /etc/cxacru/
    install -c -m 644 -p cxfirm4.bin /etc/cxacru/
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/firmware'
    cd scripts && make
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/scripts'
    mkdir -p /etc/cxacru
    install -c -m 755 -p cxload.sh cxunload.sh cxstart.sh cxstop.sh /usr/sbin
    install -c -m 755 -p service/cxacru /etc/cxacru/cxacru.service
    if [ ! -f /etc/cxacru/cxacru.conf ]; then install -c -m 644 -p config/cxacru.conf /etc/cxacru; 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 `/home/muadiv/zyxel/cxacru-630-new/scripts'
    cd bridged && make && make install
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/bridged'
    gcc -O2 -Wstrict-prototypes -fomit-frame-pointer -pipe -march=i686 -Wall -DLINUX -I/lib/modules/2.6.12-9-386/build/include br2684ctl.c -o br2684ctl -latm
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/bridged'
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/bridged'
    install -c -m 755 -p br2684ctl /usr/sbin
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/bridged'

    Para que el modem se conecte automaticamente al iniciar:
    Código:
    sudo make add_service

    de donde obtenemos:
    Código:
    cd scripts && make add_service
    make[1]: Entering directory `/home/muadiv/zyxel/cxacru-630-new/scripts'
    install -c -m 755 -p service/cxacru /etc/cxacru/cxacru.service
    if [ -f /etc/debian_version ]; then install -c -m 755 -p service/cxacru /etc/init.d/cxacru; update-rc.d cxacru defaults; update-rc.d -f atm remove; else if [ -f /etc/redhat-release ]; then install -c -m 755 -p service/cxacru /etc/rc.d/init.d/cxacru; chkconfig --add cxacru; else if [ -f /etc/SuSE-release ] ; then install -c -m 755 -p service/cxacru /etc/init.d/cxacru; install -c -m 755 -p service/cxacru /etc/rc.d/cxacru; insserv cxacru; else if [ -f /etc/slackware-version ] ; then if grep -q -E "^ */usr/sbin/cxstart.sh *$" /etc/rc.d/rc.local; then cd /etc/rc.d; cp -f rc.local rc.local.tmp; echo "/usr/sbin/cxstart.sh" >> rc.local.tmp; mv -f rc.local.tmp rc.local; fi fi fi fi fi
    Adding system startup for /etc/init.d/cxacru ...
    /etc/rc0.d/K20cxacru -> ../init.d/cxacru
    /etc/rc1.d/K20cxacru -> ../init.d/cxacru
    /etc/rc6.d/K20cxacru -> ../init.d/cxacru
    /etc/rc2.d/S20cxacru -> ../init.d/cxacru
    /etc/rc3.d/S20cxacru -> ../init.d/cxacru
    /etc/rc4.d/S20cxacru -> ../init.d/cxacru
    /etc/rc5.d/S20cxacru -> ../init.d/cxacru
    Removing any system startup links for /etc/init.d/atm ...
    make[1]: Leaving directory `/home/muadiv/zyxel/cxacru-630-new/scripts'

    Aqui no hay que preocuparse por un demonio que causa problemas y al que se le hace mencion en otras guias, el script anterior lo remueve automaticamente.

    Actualizamos la lista de los modulos con:
    Código:
    sudo depmod -a

    Luego ejecutamos:
    Código:
    sudo gedit /etc/cxacru/cxacru.conf
    y donde dice VPI=8 y VCI=38 o algo asi ingresamos los siguientes valores
    VPI=0
    VCI=33 (estos datos son para mas que todo para córdoba, con telecom)
    y luego ejecutamos
    sudo cxstart.sh

    Si la Providencia nos acompaña debieramos tener:
    Código:
    >>> Inits Conexant AccessRunner > Loading firmware...
    Conexant AccessRunner microcode upload program. 6/9/2003
    Josep Comas
    See credits in documentation

    I found ADSL modem with VendorID = 0586 & ProductID = 330a
    Loading and sending /etc/cxacru/cxfirm4.bin...
    Firmware is sent!
    Setting configuration...
    Waiting ADSL line is up (until 90 seconds)...
    ..............
    ADSL line is up (Downstream 128 Kbits/s, Upstream 64 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 br2684 kernel module...

    >>> Loading br2684ctl...
    Conexant AccessRunner ioctl call. 6/9/2003
    Josep Comas
    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...
    The file /etc/ppp/peers/dsl-provider does not exist. Please create it or use
    a command line argument to use another file in the /etc/ppp/peers/ directory.
    /usr/sbin/cxnet4up.sh successful

    Para terminar:
    Código:
    sudo pppoeconf

    Y con esto ya deberia funcionar si aparece un dispositivo llamado “nas0”. Luego ponganle que si en todas las pantallas

    Esta guia en realidad es otra que yo saque de alguno de los miles de sitios a los que consulte con este tema, nada mas que corregida con algunos pasos que le faltaban.
    Si luego de hacer todo esto deciden actualizar ubuntu, cuando quieran conectarse no podran, y tendran que hacer algunos de los pasos de nuevo.

    Saludos y espero que les haya servido...(Aclaración, en Dapper Drake, todavia no funciona, pero si en Breezy)

    By: Muchos y correcciones de Muadiv
    http://www.muadiv.com.ar
    linux@muadiv.com.ar

    Datos personales

    Mi foto
    Muadiv
    Mmm... datos personales ? Mmm... te puedo decir que soy Informatico, entusiasta de cuanta nueva tecnología aparezca, bailo Salsa, hago Teatro, amo las motos ,los animales y las computadoras... Creo que programar es un arte... un arte en la cual quizas no se pinta con pincel, pero si con calculos y buenas ideas...
    Ver todo mi perfil

    Frases...

    "...El miedo mata la mente. El miedo es la pequeña muerte que conduce a la destrucción total. Afrontaré mi miedo. Permitiré que pase sobre míy a través de mí. Y cuando haya pasado, giraré mi ojo interior para escrutar su camino. Allá donde haya pasado el miedo ya no habrá nada.Sólo estaré yo..."

    Letanía Bene Gesserit - Dune - Libro 1

    "...Por que vivimos en un mundo donde los pajaros aprenden a leer y a escribir las leyes que prohiben volar..." por "La Tabaré"

    "La civilización es sólo una pretensión: en las crisis, nos volvemos a
    convertir en simios, olvidamos la tendencia racional de nuestros
    ideales y nos convertimos en el primate velludo a la entrada de la
    cueva, gritando ante el enemigo, deseando que se marche, acariciando
    la pesada piedra que utilizaremos en el momento en que se acerque
    demasiado..."

    Fracción de "Ender el Xenocida"; libro 3 de la saga de Ender.