Modem ADSL y Ubuntu

ANDRES HAL hal en caseroft.com.ar
Lun Feb 20 11:45:24 GMT 2006


Buenas en su momento este articulo lo saque de 
www.planetalinux.com.ar/article-81-page-2.html pero ya no esta mas
disponible por eso te lo mando entero :-D
lo que si vas  a nesesitar mucha paciencia


 Configurando el Modem ADSL USB Amigo CA80U
14/06/2004. 3.452 lecturas. 14 comentarios.
Este infame modem ADSL es muy conocido por ser la primera elección de
los proveedores de Internet de Banda Ancha locales, por su bajo costo.
Desgraciadamente, también es reconocido por su baja calidad y por
estar destinado a su uso bajo Windows. Sin embargo, hacerlo funcionar
bajo Linux no es una misión imposible, como explicaremos a
continuación.


Introducción

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

Fué la distribución en la que instalé 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, .deb, 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


(**) estos paquetes se encuentran en el CD de la distribución
Slackware 9.1, recomiendo usar los paquetes que vienen en el CD.

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 de 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: sourceforge.net/projects/accessrunner

Configuración

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
UHCI
OHCI
Network Device Support
PPP (point-to-point protocol) support
PPP Deflate compression
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 filtering
IP: Filter Configuration
<*> IP tables support (required for filtering/masq/NAT)


Tuve inconvenientes al querer cargar el módulo 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 poner

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 0
#
# 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 for negotiation. pppd
# will ask the peer to send packets of no more than 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

Ingresa al archivo /etc/modules.conf y coloca en su interior la siguiente línea:

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
línea 50 aproximadamente tenemos estas lineas:


CONFIG=/etc/ppp/pppoe.conf
USER=""
ETH=""


Las cambiamos por estas:


CONFIG=/etc/ppp/pppoe.conf
USER="tu-usuario en proveedor-xxx"
ETH="nas0"


Instalación

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 módulo para el modem, luego crea
la interface nas0 y para finalizar ejecuta el PPPoE para que estemos
ya estemos conectados :)

¡¡¡ATENCIÓN!!!! Si ves que cxstart se está ejecutando correctamente y
luego del mensaje

Activating interface...

se arroja un error, debes dirigirte al archivo /usr/sbin/cxnet4up.sh y
buscar las siguientes líneas que se 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 sólo comentarlas, poniéndoles un carácter # de la siguiente forma:


# 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 listo!, ahora debes rebootear Linux (ya que va a intentar cargar
nuevamente el módulo del modem que ya esta cargado). Para no rebootear
deberías ejecutar cxstop.sh y luego cxunload.sh y ahora si ya esta
todo en su lugar, ejecuta nuevamente el comando cxstart.sh.

Para verificar que todo esté andando bien basta ejecutar el comando
ifconfig y ver si la interface ppp0 y nas0 están levantadas, ¡si las
ves es porque ya estás conectado a Internet!





On 2/20/06, Mi Blog <miblog en hotmail.com> wrote:
>
>
> Hola!
>
> Aver si me puede ayudar.. TEngo un modemADSL ca-85ur-k8, el famoso amigo.. y
> la cuestion es que no puedo hacerlo andar con Ubuntu.. Ya probe mil formas,
> segui los mil tutoriales que hay en la web y nada.. Alguien tiene un metodo
> efectivo??
>
> Saludos!
>
>
>
>
>
> --
> ubuntu-es mailing list
> ubuntu-es en lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-es
>
>


--
------------------------------------------------------------------------------------------------
Andres Hal
hal en caseroft.com.ar
http://www.la-merced.com.ar
------------------------------------------------------------------------------------------------
"Antes de imprimir este correo, piense en el medio ambiente"
------------------------------------------------------------------------------------------------



Más información sobre la lista de distribución ubuntu-es