firmware de gsf en una RouterStation

Pues tras este post con un nodo mesh con la placa Alix, ahora vamos a hacer lo mismo pero para una RouterStation y compilando el firmware, ya que no está disponible en la web de gsf :(

Primero será necesario instalar algunas dependencias:

# apt-get install git-core
# apt-get install subversion
# apt-get install build-essential
# apt-get install libncurses5-dev zlib1g-dev gawk flex bison libssl-dev


A continuación nos descargamos el fichero de generación de firmware y le damos permisos de ejecución:

$ wget -O fwgen http://gsf.guifi.net/repository/source/fwgen?download
$ chmod +x fwgen

Ahora tendremos que indicarle algunos parámetros, para más información y hardware disponible ./fwgen -h (importante, no ejecutar el generador de firmware como root).

$ ./fwgen -d -w "routerstation" -a "41.393309" -o "2.158253" -n "BCNRossello208c" -i "10.139.68.36"

El firmware con una conexión ADSL de 6 megas y 2 procesadores a 1,6GHz ha tardado 2 horas.

Ahora nos ha generado un fichero llamado:

gsffirm-0.2.5.20110224.1.0-routerstation-i10.139.68.36-a41.393309-o2.158253-r10.139.68.0-openwrt-10.03-r20742-openwrt-ar71xx-ubnt-rs-squashfs-sysupgrade.bin

El siguiente paso es cargar este firmware en la routerstation, pero primero la tenemos que poner en modo “reflash”, para hacerlo mantenemos pulsado el botón de reset, enchufamos el cable de alimentación y esperamos unos 10 segundos, hasta que la luz de “RF” esté encendida.

Para cargar el firmware necesitaremos el tftp, lo instalamos si no lo tenemos instalado:

# apt-get install tftp

configuramos una ip del rango 192.168.1.0/24 en nuestra máquina

# ifconfig eth0 192.168.1.2 netmask 255.255.255.0

y cargamos el firmware

$ tftp 192.168.1.20
mode octet
trace on
put gsffirm-0.2.5.20110224.1.0-routerstation-i10.139.68.36-a41.393309-o2.158253-r10.139.68.0-openwrt-10.03-r20742-openwrt-ar71xx-ubnt-rs-squashfs-sysupgrade.bin

Nota: todo esto es la teoría, pero generando el fichero de firmware al cargarlo dice que firmware inválido

Link a un firmware ya compilado pero una versión antigua: http://guifisants.net/files/manet/guifisants_routerstation254.bin

Una vez cargado el firmware apagamos la routerstation y dejamos que el ordenador coja IP por DHCP.

Si el DHCP no nos da IP, la IP que tiene que tener la routerstation es la 172.28.254.65/28.

Ahora accedemos por HTTP a la routerstation y si el firmware compilado no ha funcionado y estamos usando el precompilado tenemos que ir a Config y cambiar las configuraciones por las de nuestro nodo mesh.

El nombre de usuario y contraseña por defecto són root/guifi

A continuación si queremos que dispositivos móviles puedan conectarse a la red mesh podemos crear un virtual AP en Virtual AP y si todo va ok, nos asociaríamos y podríamos acceder a la red mesh.

Una pequeña problematica que me he encontrado con el Virtual AP es que cuando el nodo mesh se queda sin electricidad, el virtual AP deja de existir una vez levantado :( queda mirar si accediendo al nodo mesh se puede dejar el virtual AP levantado al reiniciarse la routerstation.

4 Comments

  1. Primero de todo decirte que el ancho fijo de tu blog no permite que salgan las líneas enteras de comandos. Yo pondría un ancho variable.

    Luego:

    “todo esto es la teoría, pero generando el fichero de firmware al cargarlo dice que firmware inválido”

    Pues vaya, ¿y alguien sabe cuál es el error y cómo se podría solucionar?

    También:
    “El firmware con una conexión ADSL de 6 megas y 2 procesadores a 1,6GHz ha tardado 2 horas”.

    ¿Qué es lo que hace que tenga que ver la conexión a internet con la velocidad en ejecutar fwgen? ¿Tal vez se pueda acelerar el proceso sin pasar por internet? Ir directamente por guifi, por ejemplo

    Respon
  2. @Al
    “El firmware con una conexión ADSL de 6 megas y 2 procesadores a 1,6GHz ha tardado 2 horas”.

    fwgen es un fichero (un script), ¿Como puede ser que el solito gener una imagen de todo un sistema operativo?

    Pues porque descarga todo el código necesario:

    – openwrt
    – feeds de openwrt
    – los paquetes de gsf
    – kernel linux y el resto de paquetes necesarios

    El código fuente siempre pesa mucho más que los binarios. Si haces un “du -sh” en el directorio creado por fwgen verás que es más de 1GB de datos.

    Por eso depende de la velocidad de internet. Y mientras no haya un mirror de openwrt, kernel linux y los otros 500 paquetes necesarios en guifi.net no es posible “no pasar por internet”.

    No obstante, la segunda vez que compiles el firmware será como 100 veces más rápido (no necesita descargar los paquetes)

    Saludos

    Respon
  3. Gracias p4u. En Marsupi haremos lo posible para tener todas las dependencias en red cercana.

    En cuanto a la primera pregunta:

    “todo esto es la teoría, pero generando el fichero de firmware al cargarlo dice que firmware inválido”

    Pues vaya, ¿y alguien sabe cuál es el error y cómo se podría solucionar?

    Gracias.

    Respon
  4. Gracias p4u. En Marsupi haremos lo posible para tener todas las dependencias en red cercana.

    En cuanto a la primera pregunta:

    “todo esto es la teoría, pero generando el fichero de firmware al cargarlo dice que firmware inválido”

    Pues vaya, ¿y alguien sabe cuál es el error y cómo se podría solucionar?

    Gracias.

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.