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/ Otra doc sobre el tema: 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