Modem Huawei SmartAX MT 810
En este artículo se explica cómo hacer funcionar correctamente el modem Huawei SmartAX MT 810 (distribuido de manera gratuita junto con el servicio de banda ancha de Arnet Argentina), el cual es conocido también como "el alfajor" debido a su forma redondeada.
El modem utiliza el driver ueagle-atm bajo el kernel Linux 2.6.10 y posteriores, y el driver eagle-usb en versiones del kernel anteriores.
Por defecto, las versiones de Ubuntu 5.10 (Breezy Badger), 6.06 LTS (Dapper Drake) y 6.10 (Edgy Eft), incluyen el driver eagle-usb y un kernel superior al 2.6.10, y esto hace que no funcione el modem. Si usamos una de estas versiones, tendremos que instalar el nuevo driver ueagle-atm. En Ubuntu 7.04 (Feisty Fawn) el driver ueagle-atm está instalado por defecto.
En todas las versiones es necesario, sin embargo, instalar el firmware para que el driver funcione correctamente.
Además deberemos configurar la conexión ADSL correctamente, mediante el plugin rp-pppoe.
FUENTES: Blog de PoMeLo ; Ubuntu-ES: lauchacba ; Ubuntu-ES: pablore79 ; Kubuntu-ES: YAFU.
Contenido
Paquetes requeridos
Estos son los paquetes que se necesitan para configurar el modem, y que no se encuentran en los repositorios de Ubuntu:
Instalación del driver
Instalación de los paquetes para la compilación
Antes que nada, debemos instalar estos paquetes:
build-essential linux-headers-`uname -r`
Desinstalación del viejo driver eagle-usb
Este paso sólo es aplicable a las versiones de Ubuntu 5.10 (Breezy Badger), 6.06 LTS (Dapper Drake) y 6.10 (Edgy Eft). |
El driver eagle-usb que incluye Ubuntu, está obsoleto en versiones del kernel Linux 2.6.10 y posteriores. Por eso lo desinstalaremos, para poder instalar luego el nuevo driver. Para comprobar si el viejo driver está instalado, tecleamos lo siguiente en terminal:
$ sudo lsmod | grep eagle
Si nos sale algo referido al eagle-usb', para descargarlo de la memoria tipeamos:
$ sudo modprobe -r eagle-usb
Ahora hay que remover los módulos de la memoria, para eso hacemos:
$ sudo rm /lib/modules/`uname -r`/kernel/drivers/usb/atm/usbatm.ko $ sudo rm /lib/modules/`uname -r`/kernel/drivers/usb/net/eagle/eagle-usb.ko
Con esto tendremos desinstalado el viejo driver eagle-usb.
Instalación del nuevo driver ueagle-atm
Este paso sólo es aplicable a las versiones de Ubuntu 5.10 (Breezy Badger), 6.06 LTS (Dapper Drake) y 6.10 (Edgy Eft). |
Ahora tenemos que instalar el driver nuevo, ueagle-atm. Tendremos que compilarlo a partir del código fuente descargado anteriormente, para eso tipeamos:
$ tar xzf ueagle-atm-1.3.tar.gz $ cd ueagle-atm-1.3 $ sudo make $ sudo make install $ cd ..
También podemos usar checkinstall en lugar de make install, que además nos crea el paquete DEB para poder gestionarlo fácilmente. Para usar checkinstall, primero debemos instalarlo desde los repositorios.
Instalación del firmware del modem
Para terminar con la instalación, hay que instalar también el firmware del modem. Para eso hacemos lo siguiente:
$ tar xzf ueagle-data-1.1.tar.gz $ cd ueagle-data-1.1
Ahora creamos la carpeta donde se instalará el firmware:
$ sudo mkdir /lib/firmware/ueagle-atm
Y copiamos el contenido de ueagle-data-1.1 a la carpeta del firmware que hemos creado:
$ sudo cp -a * /lib/firmware/ueagle-atm
Carga del nuevo driver ueagle-atm
Ahora debemos activar el nuevo driver, para eso tipeamos en terminal:
$ sudo modprobe ueagle-atm
Si todo salió bien y no se ven errores, entonces la luz "link" del modem comenzará a parpadear, hasta quedar definitivamente encendida. Esto significa que el modem está funcionando. Si no enciende, reiniciamos el equipo, y al entrar nuevamente la luz debería estar encendida.
Para confirmar realmente esto, podemos tipear:
$ dmesg | grep ueagle
Debe salir algo como esto al final:
usb 1-2: [ueagle-atm] modem operational usb 1-2: [ueagle-atm] ATU-R firmware version : 44e2ea17
Configuración del proveedor ISP con PPPoE
Ahora se explicará cómo configurar el proveedor ISP con una conexión PPPoE, quien posea una conexión PPPoA deberá buscar otro manual en la web.
Este manual sobre cómo configurar la conexión ADSL está basado en el proveedor ISP Arnet Argentina, por lo que es posible que algunos datos exclusivos del proveedor no sean aplicables a tu conexión. Tendrás que consultar a tu proveedor ISP sobre los datos correspondientes. |
Creación de la interfaz de red
Antes que nada tenemos que crear la interfaz de red para nuestro modem, así que instalaremos el paquete br2684ctl:
$ sudo dpkg -i br2684ctl_20040226-1_i386.deb $ sudo modprobe br2684
Luego hacemos lo siguiente:
$ sudo br2684ctl -c 0 -b -a 0.33
Los parámetros 0 y 33 corresponden al VPI y al VCI del proveedor ISP Arnet Argentina, deberás consultar a tu proveedor de ISP sobre los parámetros correspondientes. |
Si todo sale bien, aparecerá esto en pantalla:
RFC1483/2684 bridge: Interface "nas0" created sucessfully RFC1483/2684 bridge: Communicating over ATM 0.0.33, encapsulation: LLC RFC1483/2684 bridge: Interface configured
Por último, tecleamos:
$ sudo ifconfig nas0 up
Asistente para configurar la conexión
A continuación hacemos esto:
$ tar xzf rp-pppoe-3.8.tar.gz $ cd rp-pppoe-3.8 $ ./go
Se iniciará un asistente el cual nos hará unas preguntas referidas a nuestra conexión, debemos responder lo siguiente (lo que está en negrita):
1. Enter your PPPoE user name: nombre de la cuenta por ejemplo: cuenta@arnet-ciudad-apb 2. Enter the Ethernet interface connected to the DSL modem: nas0 3. Enter the demand value: no 4. Enter the DNS information here: DNS primario 200.45.191.35 5. Enter the secondary DNS server address here: DNS secundario 200.45.191.40 6. Please enter your PPPoE password: (tu contraseña de Internet) 7. Please re-enter your PPPoE password: (confirmación de tu contraseña de Internet) 8. Choose a type of firewall (0-2): 1 9. Accept these settings and adjust configuration files (y/n)? y
Al escribir la contraseña, esta no se mostrará en pantalla (tampoco aparecerán los asteriscos), pero se escribirá de todos modos. |
Una vez terminado esto, solo nos falta editar un par de ficheros. Hacemos esto (podemos usar nano o cualquier otro editor de textos, como emacs, vim, gedit o kwrite):
$ sudo nano /etc/resolv.conf
En este fichero debemos asegurarnos de que los números de los DNS primario y secundario coincidan con lo que hemos asignado en el asistente, si son los números correctos no tocamos nada, o sea:
nameserver 200.45.191.35 nameserver 200.45.191.40
Luego hacemos lo siguiente:
$ sudo nano /etc/ppp/peers/adsl
Y pegamos el siguiente texto en el archivo, reemplazando usuario@proveedor por el nombre de nuestra cuenta de usuario:
# example configuration for the kernel space PPP over Ethernet driver # # See the manual page pppd( for information on all the options. # MUST CHANGE: replace myusername@realm with the PPP login name given to # your by your provider. # There should be a matching entry with the password in /etc/ppp/pap-secrets # and/or /etc/ppp/chap-secrets. user "usuario@proveedor" # Load the PPPoE plugin. plugin rp-pppoe.so # Ethernet interface to which the modem is connected. nas0 # Assumes that your IP address is allocated dynamically by the ISP. noipdefault # Try to get the name server addresses from the ISP. usepeerdns # Use this connection as the default route. defaultroute # Makes pppd "dial again" when the connection is lost. persist # Do not ask the remote to authenticate. noauth
Ahora verificamos los dos últimos archivos de texto:
$ sudo nano /etc/ppp/pap-secrets
$ sudo nano /etc/ppp/chap-secrets
Nos fijamos que al final aparezcan nuestro nombre de cuenta y contraseña, con el siguiente formato:
"usuario@proveedor" * "contraseña"
Luego cerramos los archivos.
Estos dos últimos pasos no tienen importancia, son solo para verificar que estén correctos los datos de usuario de la conexión. |
Conexión a Internet
Para conectarnos a Internet, podemos usar este comando:
$ sudo pppd call adsl
O bien, este otro:
$ sudo pppoe-start
Ahora, cada vez que reiniciemos el equipo, tendremos que ejecutar los siguientes comandos:
$ sudo modprobe br2684 $ sudo br2684ctl -c 0 -b -a 0.33 $ sudo ifconfig nas0 up $ sudo pppd call adsl
Podemos añadirlos al archivo /etc/rc.local, para que se ejecuten automáticamente al inicio. Sería conveniente también que, en vez de colocar la carga del módulo br2684 en este archivo, la colocáramos en /etc/modules. Si hacemos esto, /etc/rc.local nos quedaría así:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. br2684ctl -c 0 -b -a 0.33 ifconfig nas0 up pppd call adsl exit 0
Y /etc/modules, así:
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. br2684 loop
Debemos recordar reemplazar el VPI 0 y el VCI 33 por los correspondientes a nuestro proveedor de Internet. |
Script para conectar a Internet
Podemos hacer un script que ejecute los comandos listados anteriormente. Para eso, abrimos un editor de textos (por ejemplo, nano):
$ nano
Y colocamos el siguiente texto dentro del archivo:
#!/bin/bash sudo modprobe br2684 sudo br2684ctl -c 0 -b -a 0.33 sudo ifconfig nas0 up sudo pppd call adsl
Ahora guardamos el archivo con extensión .sh en el directorio que queramos. Después, le damos permisos de ejecución:
$ sudo chmod +x script.sh
Donde, obviamente, script es el nombre que le hemos dado al archivo.
Ya tendremos creado el script, luego solo deberemos ejecutarlo desde una terminal para establecer nuestra conexión a Internet.