Mini-Como actualizar el firmware en tu tarjeta prism a la última sin fastidiar nada en el intento (o eso creo, yo, que no me hago responsable de nada) Por Santiago García Mantiñán (manty en betawl.net) Edición del 11 de Noviembre del 2002 Que necesitamos? Una tarjeta prism2 o superior (las recientes deberian de funcionar, las menos recientes tambien es posible que funcionen, las arcaicas lo dudo), el famosisimo driver hostap (hostap.epitest.fi), recomendamos la última versión estable del mismo, la imagen .hex a cargar en la tarjeta o en su defecto el driver de Windows bajado de www.intersil.com y alguna utilidad que viene con el driver hostap. En breve comento todo más en detalle. * Primero, el driver: El driver con el que yo he probado es la version del 12 de Octubre de este año, usease, del 2002, y la única cosa especial que necesita es que se compile con la opción EXTRA_CFLAGS="-DPRISM2_DOWNLOAD_SUPPORT". O sea, que hacemos por ejemplo para una pcmcia: make pccard EXTRA_CFLAGS="-DPRISM2_DOWNLOAD_SUPPORT" * Segundo, las utilidades: Seria conveniente tener a mano el script split_combined_hex, al menos si vamos a tratar con el driver de Windows, y vamos a necesitar el prism2_srec, a ser posible la ultimisima version, ambos los podeis bajar del cvs usando la web de hostap.epitest.fi. Mi recomendación para compilar el prism2_srec de cvs es que lo copieis por encima del que viene en la version estable del driver, y luego desde el directorio de las utilidades del driver estable hagais un "make prism2_srec". Nota: igual os sirve la versión estable del prism2_srec, pero la nueva (de cvs) incluye la opcion -i que puede ser necesaria. * Tercero, la imagen del firmware o en su defecto el driver de windows: Pues nada, o bien te has hecho con el fichero .hex, o si no, puedes bajarte de www.intersil.com el driver para windows e instalarlo en windows o wine. Si has escojido la opción de bajarte e instalar el driver de windows ahora deberás extraer los ficheros .hex de su interior y escoger el adecuado para tu tarjeta. Para ello haremos lo siguiente, localizar el fichero PRISMNDS.sys que ha instalado el driver de windows (normalmente en WINDOWS/system32/drivers/PRISMNDS.sys) y hacer: strings PRISMNDS.sys | grep '^S[0-9]' | split_combined_hex Esto sacará por pantalla información reletiva a la compatibilidad de cada una de las imagenes .hex y nos dejará en un directorio llamado srec_temp.* las dichosas imagenes .hex. Asípues usaremos la salida por pantalla para buscar la imagen compatible con nuestra tarjeta, para ello usaremos la salida del hostap en la cual se lee algo como: "NIC: id=0x80?? v?.?.?" este id y la version de nuestra tarjeta los usaremos para buscandolos en la salida del split_combined_hex, localizar el fichero apropiado para nuestra tarjeta. Podemos encontrar dos tipos de ficheros en esta salida, uno para actualizar el firmware primario y otro para el firmware de la estación, las versiones que tenemos de estos las podemos ver al cargar el hostap justo debajo de la que acabamos de buscar, y son respectivamente de esta forma: "PRI: id=0x?? v?.?.?" y "STA: id=0x?? v?.?.?". Nos interesará cargar la versión ofertada para nuestra tarjeta si esta difiere de la que actualmente tenemos ya flasheada. La carga del firmware primario no está probada, ni siquiera está claro el procedimiento, si alguien la prueba y le funciona que avise, la carga del firmare de la estación se describe a continuación. Para terminar... Bien, ya tenemos un fichero .hex a cargar y el programa prism2_srec, que aunque no os lo he dicho servirá para cargar esta imagen en la tarjeta. Bueno, pues ya no nos hace falta nada más, ahora simplemente con ejecutar: prism2_srec -r wlan0 fichero.hex suponiendo que vuestra tarjeta sea la wlan0, ya tendreis la tarjeta con la ram actualizada a esta nueva versión. Si este comando fallara quizás querrais probar a añadir la opción -i (disponible en la versión cvs del prism2_srec) que ignora algunas comprobaciones, ojo con esto que os puede fastidiar la actualización. Si despues de probar la nueva versión las cosas funcionan, quizás alguno quiere probar cambiando el "-r" por un "-f" lo que escribirá la imagen an la flash en lugar de en la ram (por ahora parece ser que no funciona), pero esto podría estropear vuestra tarjeta para siempre, así que vosotros mismos. Yo en lugar de esto recomiendo que añadais la linea anterior al setup de vuestra tarjeta de red, yo por ejemplo en mi Debian tengo al principio de la definición de mi tarjeta en /etc/pcmcia/wireless.opts tengo esto: if [ "$ACTION" = "start" ] then sleep 1 /usr/local/sbin/prism2_srec -r wlan0 /lib/modules/r1010506.hex >/dev/null fi Ojo con esto, puede colgaros completamente la máquina, el sleep que le tengo yo a mi máquina es para evitar que se cuelgue, a mi me funciona, pero puede que a vosotros no. Pos nada más por ahora, da gusto poner uno su granito de arena por una vez, aunque ahora seguro que me paso por algún wiki y fijo que alguno se me había adelantado a escribir esto, en fin, que se le va a hacer, se ve que andamos todos con muchas ganas con esto. Ale, pos a seguir así con muchas ganas, que aun nos queda mucho que conectar en todo el mundo mundial ;-) Saludos desde BetaWireLess (www.betawl.net), la red inalámbrica de Betanzos Santiago García Mantiñán (Manty/BestiaTester)