Linux en el Eumitcom WL11000SA-N
================================
Este es una especie de como (howto) que te ayudará a hacer que tu access
   point basado en la placa Eumitcom WL11000SA-N use Linux y soporte muchas más
   cosas de las que soportaba originalmente.
El autor (Santiago García Mantiñán x=manty;x@x.net) no    se hace responsable
   de los daños que se puedan ocasionar a ningún aparato por el buen    o mal uso
   que de esta información pueda hacerse.
   ¿Qué es un access point basado en una placa Eumitcom WL11000SA-N?
   ----------------------------------------------------------------
Se trata de access points que se venden o vendieron bajo distintas marcas,
   entre ellas:
 * US Robotics (USR 2450)
   * SMC EZconnect (2652W)
   * Addtron (AWS-100) 
Esta plataforma tiene la peculiaridad de ser totalmente compatible con Linux
   y que la gente del proyecto OpenAP ha desarrollado para ella una
   distribución basada en este sistema operativo. Con lo cual podemos tener    un
   software totalmente libre, y por tanto modificable, funcionando en un AP, lo
   cual incrementa muchísimo las capacidades de esta maquinilla.
Las características físicas de la máquina son las siguientes:
 * Ethernet Controller -- NE2000
   * Processor -- AMD ELAN SC400
   * Flash -- 1 Megabyte
   * RAM -- 4 Megabytes 
O sea, es básicamente un 486 a 33 Mhz pequeñito.
   ¿Qué hace falta para poder poner Linux en el AP?
   ------------------------------------------------
Se necesita una tarjeta pcmcia de memoria lineal de al menos 2 megabytes,
   las hay de dos tipos, las SRAM, que llevan una pila para mantener su
   contenido, y las flash, que como no son volátiles no llevan pila alguna.
Toda la documentación habla de tarjetas o bien de 2 megas o de 4 megas,
   tarjetas de mayor capacidad pueden no funcionar.
No sirven las tarjetas compact flash que se suelen usar en las cámaras    y
   otros dispositivos portátiles, estas tarjetas no son lineales, se comportan
   como discos duros y su lectura es por sectores, por lo que no sirven.
Necesitaremos también un cable serie null modem (cruzado) y un emulador    de
   terminal como por ejemplo el minicom.
   Al grano, ya tengo todo, ¿cómo narices hago?
   --------------------------------------------
Con el access point apagado, debes abrirlo y sacar la tarjeta wireless
   pcmcia que viene incluida dentro, para ello suele bastar con rascar el
   pegamento de una de las dos sujeciones hasta que se pueda presionar para
   liberar la placa metálica que fija la tarjeta.
Ahora prepararemos la tarjeta de memoria, esta tarjeta tiene que ser de al
   menos dos megas ya que contendrá dos Linux, la imagen que se va a usar    en el
   access point (que mide un mega) y la que se encargará de grabar esta    imagen
   en la memoria flash del AP.
Todas las distribuciones para los AP generan un par de imágenes, una    de un
   mega llamada flash y otra de dos megas llamada sram, si no quieres
   compilarte una en sus webs (ver las URLS al final del doc) sueles
   encontrarte imágenes precompiladas.
La primera vez que queremos poner Linux en el AP necesitaremos la tarjeta de
   memoria llena por completo con las imágenes sram, es decir, si la tarjeta    es
   de dos megas grabaremos una imagen sram en ella, sin embargo si la tarjeta
   es de cuatro megas grabaremos dos imágenes de dos megas contiguas. Las
   siguientes veces que queramos programar el AP ya no será necesario abrirlo    o
   usar la tarjeta de memoria, ya que podremos hacerlo usando el comando
   reflash desde el Linux del propio AP.
Existen varias formas de copiar la imagen sram a la tarjeta (sram o flash)
   que vamos a usar para programar el AP:
Si tenemos una tarjeta sram de dos megas:
   cat sram > /dev/mem0c0c
Si tenemos una tarjeta sram de cuatro megas:
   cat sram sram > /dev/mem0c0c
Esta forma de grabarlas puede funcionar también para las tarjetas flash,    sin
   embargo solo funcionará bien si la tarjeta está borrada, y no    si se quiere
   reprogramar, por lo que se recomienda usar el comando wrflash incluido por
   ejemplo en la distribución original del OpenAP o bien en el paquete de    alios
   que podemos bajar de http://www.telos.de/download/
Usando este comando haríamos:
Si tenemos una tarjeta flash de dos megas:
   wrflash -e -f sram /dev/mem0c0c
Si tenemos una tarjeta flash de cuatro megas:
   cat sram sram > sramdoble ; wrflash -e -f sramdoble /dev/mem0c0c
Una vez programada la tarjeta de memoria con la imagen que queremos usar,
   debes ponerla en el lugar que ocupaba la tarjeta wireless.
A continuación deberás localizar los agujeros correspondientes    al jumper
   JP2, que están entre el AMD Elan y los leds amarillo y verde más    proximos a
   este. Deberás, todavía con el AP apagado, hacer un cortocircuito    entre estos
   dos agujeros usando por ejemplo un clip.
Bueno, si queremos ver lo que sucede cuando arranquemos la máquina
   deberíamos conectarla con el cable serie null modem a un ordenador donde
   se ejecutaría el emulador de terminal, el cual debe de estar ajustado
   a 8 bits, sin paridad y con un bit de stop, lo que suele escribirse
   como 8N1, y con una velocidad de 4800 o 9600 bps (depende del Linux que
   vayamos a grabar, el OpenAP original iba a 9600, pero últimamente todos
   tienden a usar 4800, mira la documentación de la distribución    que vayas a
   flashear).
Ya estamos listos, vamos a flashear el AP, para lo que nos prepararemos para
   sacar el clip, cosa que habrá que hacer después de enchufar el    AP y en cuanto
   empiecen a parpadear los dos leds que están más alejados de nuestro    clip. El
   parpadeo de los leds debe de tener una frecuencia de aproximadamente un
   hercio, así a ojo.
Pues ale, eso, si no lo has hecho ya, enchúfalo y cuando empiezan a    flashear
   los leds saca el clip. Si todo fue bien deberías de estar viendo un arranque
   de Linux en el terminal. Este arranque debería de hacer todo de forma
   automática, una vez que arranca flashea el AP y reinicia de nuevo el    AP para
   arrancar ya el Linux que acabas de grabar.
Es bastante normal que en alguna de estas distribuciones salgan algunos de
   errores indicando que se está reintentando la grabación de algún    byte de la
   flash, tranquilos, no pasa nada, mientras que termine el proceso y reinicie,
   todo va bien.
Pues nada, si todo ha ido bien deberíais de haber visto reiniciar el    AP y
   cargar el kernel de Linux de nuevo, aunque esta vez desde su propia flash y
   no de la memoria pcmcia. En fin, si es así podéis apagarlo y cambiar    la
   tarjeta de memoria por la wireless para arrancar de nuevo el AP con Linux y
   ya con la wireless.
   En lo sucesivo (como flashear de nuevo)
   ---------------------------------------
Para volver a flashear otra versión de Linux en el AP una vez que lo    tenemos
   con Linux, no necesitamos la tarjeta de memoria, podremos hacerlo con el
   comando reflash desde la consola del AP, si bien este comando varía según    la
   distribución escogida.
Así LinuxAP usa tftp para bajarse la imagen, por lo que necesitaremos    un
   servidor de tftp en el que tengamos disponible la imagen, la sintaxis de
   LinuxAP sería: reflash -s flash IPdelservidortftp.
Por otro lado openap y openap-ct usan http para bajarse la imagen, con lo
   que con ponerla disponible en cualquier servidor web ya está, la sintaxis    en
   este caso sería: reflash URLcompletadelaimagen.
Las imágenes a usar en el caso de reflash son las imágenes de    un mega que
   generan las distribuciones y que suelen tener por nombre "flash".
   Notas adicionales
   -----------------
Es conveniente, sobre todo si queremos utilizar funciones avanzadas del AP
   como WDS, que actualicemos el firmware de la tarjeta que acompaña al    AP a la
   versión más moderna posible, la que se tiende a utilizar en estos    momentos
   es la 1.5.6, ya que antes de la versión 1.5.X el firmware tenía    varios bugs
   que afectaban a estas funciones. Para ello podemos aprovechar cuando
   tengamos la tarjeta wireless fuera del AP, la pinchamos en un PC y la
   actualizamos.
Sobre el driver que usamos, es el hostap, os recomiendo usar la ultima
   versión estable disponible, aunque ahora mismo en vez de la estable (la
   0.0.2) casi que os recomendaría pillaros el la versión de CVS    que tiene
   corregido un bug que podía colgar completamente la máquina, aún    le queda
   mucho que andar a este driver, pero teniendo en cuenta la cantidad de
   hardware tan distinto que tiene que soportar yo casi diría que hace
   milagros. En mi caso en mi AP Eumitcom las últimas versiones no van muy
   estables, pero en las otras máquinas que tengo si va muy bien. Esperemos    que
   siga mejorando.
Para hacer la actualización del firmware en la flash de la tarjeta wireless
   hoy por hoy no se recomienda hacerla con Linux :-( aunque se está trabajando
   en mejorar esto, hasta hace poco era imposible por culpa de un bug del
   driver, ahora está desaconsejado, en cuanto se pruebe a fondo y se termine
   de pulir ya podremos flashear el firmware incluso desde el AP.
Si vais a hacer la actualización en Windows y tenéis una tarjeta    USR como
   las que vienen en los AP de USR necesitareis el driver que podeis obtener
   en: http://www.usr.com/support/2410/2410-files/Driver_USR03_1.33.exe ojo
   porque no todas las versiones del driver de USR soportan el upgrade de
   firmware, esta versión si lo hace. Además necesitareis la utilidad    de
   actualización que os la podeis bajar desde:
   http://www.usr.com/support/2410/2410-files/USR_Firmware_Update_Tool.exe
Y el firmware a flashear por ahí se puede uno descargar versiones hasta    la
   1.4.9, pero no he conseguido ninguna url donde este disponible el firmware
   1.5.6 para estas tarjetas, si las he conseguido para tarjetas más modernas,
   por ejemplo, los de Demarc suelen tener los firms más modernos para su
   tarjetas, pero estos solo sirven para las tarjetas modernas, no para las que
   tienen como NIC id 0x8002 o 0x8003, en todo caso por si a alguien le
   interesa para tarjetas más modernas (prism 2.5, id 0x800a y superiores):
   http://www.demarctech.com/downloads/reliawave-zm/prism25-156.zip
   el firm secundario para estas tarjetas es el sf010506.hex, mientras que el
   de las antiguas es el s1010506.hex, yo he probado el firmware 1.5.6 en las
   tarjetas que vienen con el USR (USR 2410) y a mi me va bien, al igual que
   en mis tarjetas Conceptronic.
   URLS
   ----
El proyecto OpenAP original:
   http://opensource.instant802.com/
   El proyecto OpenAP-ct, basado en el original pero actualizado:
   http://tools.collegeterrace.net/openap-ct/
   La home del LinuxAP:
   http://linuxap.ksmith.com/
   El openap-ng:
   http://www.red-bean.com/~proski/openap-ng/
   Otras doc sobre el tema:
   http://www.olotwireless.net/castella/linuxap.htm
   http://www.zaragozawireless.org/zgzwl/wk/index.php/USR2450
   Mi home page, o donde encontrar este documento:
   http://manty.net
   La home page de nuestra red aquí en Betanzos:
   http://betawl.net