#!/bin/sh export DATE="14.9.2008";SCRIPT=${0#/rom} export TITLE="Administración: Firmware" . ${SCRIPT%/*}/cgi-bin-pre.sh cat<Administración: Firmware EOF if [ "(ro)" = "$(mount|grep " / "|if read line; then set $line;echo $6;fi)" ]; then if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ -z "$QUERY_STRING" ]; then cat<
Fichero del Firmware:
 
   

Cuidado: Si enciendes el aparato, estará escuchando en la dirección IP 192.168.1.1 por unos 5 segundos por una eventual actualización del firmware por TFTP. Si el firmware enviado fuera defectuoso, los aparatos pueden reiniciarse de esta manera. Conecta el PC al aparato utilizando uno de los puertos de red [1-4]. Puedes usar un cable cruzado o plano (no cruzado).

Windows XP

  1. Conéctate al PC como administrador.
  2. En la ventana Conexiones de red accede a la opción Propiedads de conexión de área local. Cambia los parámetros por el protocolo de Internet (TCP/IP).
  3. Cambia la dirección IP a 192.168.1.2. Accepta la máscara de red por defecto 255.255.255.0. No modifiques ninguno de los otros parámetros.
  4. Selecciona Inicio: Programas: Accesorios: Intérprete de Comandos. Navega en la carpeta que contiene el firmware que hayas elegido utilizando el comando cd. Ejemplo: Dígita cd /d x:\download\firmware y pulsa la tecla Envío.
  5. Dígita el comando TFTP sin confirmar con la tecla Envío. Ejemplo: tftp -i 192.168.1.1 put openwrt-g-freifunk-%VERSION%-es.bin

Lee el apartado Actualizar el Firmware (más abajo).

Linux

  1. Abre una consola de root.
  2. Navega al directorio que contiene el firmware que hayas elegido utilizando el comando cd. Ejemplo: Dígita cd /tmp/download/firmware y confirma con la tecla Envío.
  3. Configura la interfaz de red conectada al punto de acceso. Ejemplo: ifconfig eth0 192.168.1.2
  4. Abre el programa TFTP. Dígita tftp 192.168.1.1. Una vez dentro del programa TFTP, tienes que digitar dos comandos succesivamente. Dígita binary y rexmt 1
  5. Dígita el comando TFTP para la actualización pero no confirmes con la tecla Envío. Ejemplo: put openwrt-g-freifunk-%VERSION%-es.bin

Actualizar el Firmware

La toma de red del PC está normalmente equipada de un LED de conexión. El LED se encenderá si la conexión de red está activa. Tras encender el aparato, este LED tendría que encenderse en unos segundos. En el punto de acceso también, uno de los cuatro LEDs tendría que encenderse después de unos segundos. Puedes verificarlo desconectando y volviendo a conectar el cable de alimentación en el punto de acceso. Después de haberlo verificado, sigue estas páutas:

  1. Desconecta el cable de alimentación.
  2. Vuelve a conectar el cable de alimentación.
  3. Espera unos 2 segundos hasta que los LEDs de red se enciendan
  4. Espera 1-2 segundos más.
  5. Confirma el comando de actualización TFTP con la tecla Envío.

La carga del firmware tendría que terminar en unos 5 segundos sin errores. El punto de acceso mostrará el proceso de carga haciendo parpadear el LED de alimentación. La actualización tendría que terminar en 2 minutos como máximo. El punto de acceso reiniciará automáticamente con el nuevo firmware.

EOF elif ! ffout=$(./freifunk-upload 2>&1); then cat< $ffout

La carga del firmware ha sido interrumpida.

EOF elif [ -n "$ffout" ]; then BINMAGIC=$(dd if="$ffout" bs=4 count=1 2>/dev/null) case "$BINMAGIC" in W54G|W54S|W54A|W54s|LOAD|HDR0) cat< Escribiendo el fichero firmware $ffout a la memoria flash. Por favor espera... 170 segundos... EOF echo -n "
"
firmware-burn "$ffout"
echo "
" ;; *) rm -f "$ffout" cat< El archivo firmware tiene un encabezado corrupto.

Por favor, carga un fichero firmware dek tipo ;*.bin o *.trx .

EOF ;; esac else cat< No se ha recibido ningún fichero firmware.

La carga del firmware ha sido cancelada.

EOF fi else cat<Se puede cargar un nuevo firmware sólo en los modos failsafe o sólo lectura. En la página Reiniciar activa la opción deseada y confirma con Reiniciar. Carga el firmware en esta página después del reinicio.

Explicación: El comando OpenWRT mtd puede sobreescribir la partición de lectura y escritura OpenWrt. En modo failsafe, esta partición no es utilizada. En modo sólo lectura, esta partición será montada como sólo lectura (ro). Existen las siguientes particiones:

$(cat /proc/mtd)
EOF fi . ${SCRIPT%/*}/cgi-bin-post.sh