Cabe destacar que este documento lo encontre en internet y los derechos de este documento son del autor que se encuentran en el pie de la pagina, yo solo comarto este para que mas gente pueda hacer funcionar su dsl con linux.
Modem AMIGO CA80U - ADSL USB
INDICE
- INTRODUCCION
- REQUERIMIENTOS
- CONFIGURACION
- INSTALACION
INTRODUCCION
Como bien dice su titulo, este documento trata sobre el modem AMIGO CA80U y su instalación en Linux. Debido a la
falta de documentación sobre su soporte en Unix/linux, y a la gran entrega de estos modems en el mercado, la mayoría
tiene problemas a la hora de ponerlo en funcionamiento bajo dichas plataformas.
El autor de este articulo espera poder ayudar a todos los que como el se encontraron con dificultades en la puesta en marcha del querido modem "Mal"-Amigo.
- REQUERIMIENTOS
Básicamente, se requieren los siguientes paquetes antes de comenzar con la configuración
- Linux: Slackware 9.1
Fue la distribución en la que instale el modem y en la cual se basa este documento, lo que no implica que en otra no funcione, cambiaran los paquetes ( tgz por rpm, dev, etc..), algunas rutas de archivos, y algunas cositas mas, espero por tengan la misma suerte con otra distribución.
- Kernel 2.4.22 ( ** )
- ppp-2.4.1-i486-3.tgz ( ** )
- rp-pppoe-3.5-i386-1.tgz ( ** )
- libusb-0.1.6-3.i386.tgz
- libusb-devel-0.1.6-3.i386.tgz
- cxacru-2003-10-05-src.tgz ( driver del modem AMIGO )
- pam-0.75-40.src.tgz
Los paquetes ( libusb y libusb-devel ) son librerías necesarias para el funcionamiento del driver, por lo tanto asegurate de instalarlas respetando el orden en el que fueron nombradas. El paquete cxacru-2003-10-05-src.tgz , como veras es una versión algo vieja, actualmente se encuentran nuevas versiones con soporte para distintos modelos del modem Amigo ( CA80U2 , etc.. ). Solo tiene que asegurarte que el paquete que te bajes soporte tu modelo de modem Amigo. Para obtener las librerías y el driver puedes dirigirte a la pagina del proyecto
http://sourceforge.net/projects/accessrunner
( ** ) estos paquetes se encuentran en el CD de la distribución Slackware 9.1, recomiendo usar los paquetes que vienen en el cd.
- CONFIGURACION
* KERNEL
Comenzamos con la configuración del kernel, una vez descomprimido en /usr/src/linux-2.4.22/ , escribimos dentro
de dicho directorio
root# make menuconfig
- REFERENCIAS
Las opciones que debemos seleccionar son en su mayoría las que encontraras en la documentación del driver con
pequeñas modificaciones debido a que algunas cosas se olvidaron
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)
[*] RFC1483/2684 Bridged protocols ( en este caso te recomiendo que lo pongas en el kernel y no generes el modulo como indica la documentación debido a que tuve problemas a la hora de cargarlo , y esta opción es fundamental ya que es usada para crear la interfase nas0 )
USB support
<*> Support for USB[*] Preliminary USB device filesystem
<M> UHCI
<M> OHCI
Network Device Support
<M> PPP (point-to-point protocol) support
<M> PPP Deflate compression
<M> PPP over Ethernet (EXPERIMENTAL)
Processor type and features
[ ] Symmetric multi-processing support
IMPORTANTE: Estas son las pautas a llevar en el kernel para que el modem Amigo USB funcione correctamente, pero aca van otras recomendaciones personales, si estas leyendo este documento para poner un servidor linux de internet no olvides habilitar iptables en el kernel para realizar el nat, por si de algo te sirve aquí tienes las opciones
Networking options
[*] Network packet filter
IP: Filter Configuration
<*> IP tables support (required for filtering/masq/NAT)
Tuve inconvenientes al querer cargar el modulo de iptables es por eso que esta puesto en el kernel, hay mas configuraciones que se debería realizar si quieres poner un servidor linux pero estas son las básicas
* ESPECIFICACIONES
Bueno luego de compilar el kernel con las opciones necesarias ,de haber rebooteando nuestra maquina y de haber instalado las librerías (libusb y libusb-devel ) necesarias por nuestro driver cxacru, procedemos a compilarlo.
Descomprimimos el paquete.
root# tar -xvzf cxacru-2003-10-05-src.tgz
Luego dentro de la carpeta cxacru escribimos
root:cxacrud# make
Nota: en mi caso tuve problemas al compilar el driver con un fuente del panel, pero como el panel no es otra cosa que una interfaz gráfica de diagnostico del modem, podemos pone
root:cxacrud# make -i ( donde -i ignora los errores y lo pasamos de alto ;) )<
Ya tenemos instalado nuestro driver, ahora si tenemos instalado el driver nos falta solo conectar, bueno para eso vamos a instalar los paquetes ppp-2.4.1-i486-3.tgz y rp-pppoe-3.5-i386-1.tgz que se encuentran en nuestro CD y ahora lo que resta es configurar nuestra conexión.
* CONFIGURANDO PPPOE ( Para establecer la conexión con nuestro proveedor )
Ejecutemos el comando
root# adsl-setup
Con dicho comando configuremos nuestro usuario, password, DNS, etc..
Luego de ingresar los datos , vamos a dirigirnos al archivo /etc/ppp/options y agreguemos las siguientes lineas: ( recuerda que las lineas que comienzan con # son comentarios simplemente que no te deben importar )
# dns-addr 192.168.1.1
# dns-addr 192.168.1.2
defaultroute
hide-password
# async character map -- 32-bit hex; each bit is a character
# that needs to be escaped for pppd to receive it. 0x00000001
# represents '\x01', and 0x80000000 represents '\x1f'.
asyncmap
# Do not require the other end of the connection to authenticate itself
# This option is dangerous if pppd is setuid.
# If you also have ethernet and are having problems getting PPP to connect
# over a modem, try this option.
noauth
# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
# on the serial port.
crtscts
# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd
# will ask the peer to send packets of no more than <n> bytes. The
# minimum MRU value is 128. The default MRU value is 1500. A value of
# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
# bytes of data).
mru 1492
# Disables the default behaviour when no local IP address is specified,
# which is to determine (if possible) the local IP address from the
# hostname. With this option, the peer will have to supply the local IP
# address during IPCP negotiation (unless it specified explicitly on the
# command line or in an options file).
noipdefault
Asegurate de que esas opciones defaultroute, hide-password, asyncmap etc ... estén habilitadas en tu archivo options y sino agregalas como se vio anteriormente, el resto de las opciones debes dejarlas como están por defecto.
* ULTIMOS DETALLES ( IMPORTANTE )
ingresa al archivo /etc/modules.conf y coloca en su interior la siguiente linea
alias net-pf-24 pppoe
ingresa también al archivo /etc/cxacru y setea la variable
PROTOCOL_MODE=4 ( no recuerdo si por defecto ya tiene 4 como valor )
y para finalizar ingresamos al script /usr/sbin/adsl-connect y en la linea 50 aproximadamente tenemos estas lineas
CONFIG=/etc/ppp/pppoe.conf
USER=""
ETH=""
Las cambiamos por estas:
CONFIG=/etc/ppp/pppoe.conf
USER="tu-usuario@proveedor-xxx"
ETH="nas0"
- INSTALACION
Ya se supone que haz seguido al pie de la letra la configuración, ahora para la instalación del modem solo falta ejecutar
root:# cxstart.sh
Este script se encarga de levantar el modulo para el modem ,luego crea la interfase nas0 y para finalizar ejecuta el
pppoe para que estemos ya estemos conectados
¡¡¡ATENCIÓN!!!!: Si vez que cxstart se esta ejecutando correctamente y luego del mensaje
- Activating interface...
y arroja un error, debes dirigirte al archivo /usr/sbin/cxnet4up.sh y buscar las siguientes lineas que
encuentran casi al final de dicho archivo
# Remove default Route
if route -n | cut -d' ' -f1 | grep -q "0.0.0.0"; then
echo $">>> Removing default route..."
route del default || exit 1
echo
fi
y solo comentarlas , poniéndole # de la siguiente forma
# Remove de # if route -n | cut -d' ' -f1 | grep -q "0.0.0.0"; then
# echo $">>> Removing default route..."
# route del default || exit 1
# echo
#fi
Listo!!, ahora debes rebootear linux ( ya que va a internar cargar nuevamente el modulo del modem que ya esta cargado, para no rebootear deberías ejecutar cxstop.sh y luego cxunload.sh ) y ahora si ya esta todo listo, ejecuta nuevamente el comando cxstart.sh
Para verificar que este andando basta ejecutar ifconfig y ver si la interfase ppp0 y nas0 están levantadas, si las ves es porque todo anda bien.
AUTOR: Russo Martin Ariel
Saludos a Todos