Actualiza el firmware del Arduino YUN a la version 1.5.3

Hace meses que tengo mi arduino YUN abandonado, pero hoy he tenido un poco de tiempo para trastear de nuevo con el, y lo primero en lo que me he fijado es que en los últimos meses el firmware del arduino Yun ha sido actualizado varias veces (me refiero a la version del sistema operativo Linino del Yun).  A continuación tienes un pequeño tutorial de como actualizar el firmware del arduino YUN.

En primer lugar, un aviso: actualizar el firmware restaurará tu arduino Yun a su estado de fabrica, por lo tanto, cualquier configuración que hayas realizado o cualquier software que hayas instalado se perderá. Si utilizas una tarjeta sd externa o una memoria usb para almacenar scripts o datos, como en el proyecto Remote Heat Control, el contenido de dicha tarjeta no se perderá.

Por lo que he podido comprobar, el sketch que hayamos subido al arduino yun tampoco se pierde, lo cual tiene su lógica, ya que lo que estamos actualizando es el firmware del mini servidor Linux.

En primer lugar me propuse averiguar el numero de versión actual del firmware de mi arduino yun, para saber realmente cuan desactualizado estaba. Pero eso que a priori puede parecer una trivialidad, resultó ser mas complejo de lo que parece.

La unica información que he podido averiguar al respecto la tenemos en el panel de control web avanzado:

Arduino Yun Firmware svn-r9877

 

Como podeis ver, donde pone firmware versión, reza entre paréntesis (svn-r9877). Esto en principio no nos ayuda demasiado, ya que en la pagina web de descarga del firmware de arduino, en la fecha en la que escribo este articulo nos dice que la ultima versión del firmware es la version 1.5.2, que no es fácil de relacionar con la versión de firmware actual. En cualquier caso, vamos a suponer que tenemos instalada una versión antigua (principalmente porque nunca he actualizado mi yun desde que lo he comprado, y porque en el changelog se ve que la ultima versión es de Octubre de 2014), el primer paso que tenéis que dar es descargar el archivo con la actualización de la siguiente pagina:

http://arduino.cc/en/pmwiki.php?n=main/software

La descarga es un fichero del tipo ZIP, que deberéis descomprimir y que contiene un fichero de tipo .bin que es la imagen del firmware propiamente dicha.

Hay varios métodos de actualización, pero en mi opinión el mas sencillo es el siguiente:

1.- Una vez descargada la actualización, copia el fichero .bin a un pen drive usb.

2.- Inserta el pen drive en el arduino yun, y visita el panel de administracion web (el simplificado). Podrás ver la siguiente pantalla:

Actualizacion detectada

3.- Como veis el yun ha detectado que hemos insertado un pen drive en el puerto usb que contiene un firmware actualizado. Solo hay que pulsar el botón de reset, y comenzará el proceso de actualización. Este durará aproximadamente 3 minutos, tiempo durante el cual parpadeará el led WLAN del yun.

El proceso de actualización dura unos 3 minutos, tiempo durante el cual el led WLAN parpadeará como en la imagen.
El proceso de actualización dura unos 3 minutos, tiempo durante el cual el led WLAN parpadeará como en la imagen.

Una vez terminada la actualización, nos encontramos frente a un arduino Yun que ha perdido su configuración, y tendremos que volver a configurarlo. Esto incluye volver realizar la configuración de red, e instalar el software que necesitemos.

Como curiosidad final, aqui tenéis un pantallazo de la nueva versión que esta corriendo en nuestro yun:

Version de arduino yun despues de actualizar.

Como podreis apreciar, la estética de la interfaz de administración web ha cambiado, y en la sección de firmware esta vez podemos leer svn10537. Parece ser que efectivamente he instalado una version mas reciente del firmware, aunque resulta dificil determinar cual.

Recapitulando:

  • Antes de actualizar mi versión era la svn-r9877
  • El fichero zip descargado rezaba version 1.5.2
  • Despues de actualizar la version es la svn10537

Recursos:

Nota Final:

Como decía, al flashear el nuevo firmware, se pierde toda la configuración del Linino. Esto incluye toda la configuración de red, y todos los paquetes que hayamos descargado, etc.

Lo que hace el yun al restaurar su estado de fabrica es crear un punto de acceso wifi para que nos conectemos a el y volvamos a realizar la configuración básica. Por lo tanto tenemos que buscar una red wifi llamada Arduino Yun XXXXXX, conectarnos a ella, y configurar el Yun para que utilice nuestra wifi.

Pues bien, ya en la version anterior del Firmware, y en esta parece que no ha mejorado mucho, en mi caso este proceso no funciona todo lo bien que se podria esperar. Básicamente lo que ocurre es que después de seleccionar la red wifi a la que quiero que se conecte el Yun, introducir la contraseña, y en teoría completar el proceso correctamente, no soy capaz de conectarme al arduino Yun ni detectar su presencia en mi red wifi.

Si esto os esta pasando ahora, no desespereis, no os habeis cargado el Yun al flashear la nueva versión de Linino.  Si no ha funcionado a la primera simplemente tenéis que volverlo a hacer hasta que funcione.

La primera solución es resetar SOLO la configuración de la Wifi pulsando el botón de WLAN RST mas de cinco segundos pero menos de 30. De esta manera el yun borrara la configuración de red y volverá a crear el punto de acceso wifi cuando lo reseteemos.

Aunque en mi caso la solución anterior solo funciona de vez en cuando, y otras veces simplemente tengo que restaurar la imagen de fabrica, pulsando el botón de WLAN RST durante mas de 30 segundos y volviendo a empezar.

PS: Problemas al ejecutar opkg update

Si después de flashear el ultimo firmware, obtienes el siguiente error al instalar nuevos paquetes:

[crayon-5b75bef6a7ee2803720396/]

Me temo que no te queda mas remedio que volver a flashear la misma actualización de nuevo. Después de indagar respecto a este problema parece que no hay una solución clara, pero en mi caso repitiendo el proceso de actualización de firmware el problema desapareció.