sábado, 15 de julio de 2017

Como instalar OpenWRT en el ZSun Wifi Card Reader y no morir en el intento

Hola de nuevo, recientemente me he podido hacer con un ZSun Wifi Card Reader para hacer experimentos, como su nombre indica, es un lector de tarjetas microSD al que te conectas vía WiFi y que tiene unas especificaciones la mar de interesantes.










Datos:
SoC: Atheros/Qualcomm AR9331WiSoC
RAM: 64MB
Flash: 16MB

Como vemos, nada envidiables a un router de verdad ;D
Para hacer operaciones con el dispositivo (subir o descargar datos) el dispositivo hace su propia red WiFi (como si fuera un AP) y con la ip por defecto (10.168.168.1) abres un portal que te da diferentes opciones:


He dividido la guía en dos puntos, hacer backup del firmware original e instalación de OpenWRT, para que quede más claro todo.

Para flashear, me decanté por la opción que veia mas viable que es la de usar el sistema oficial de actualizaciones del dispositivo para flashear el nuevo firmware.

Para ello, necesitaremos una tarjeta microSD formateada en Fat32 (128MB es suficiente, yo use una de 8GB por que era la que tenia mas a mano) Es importante que introduzcas la tarjeta antes de conectar el dispositivo y que se encienda, para asegurarnos de su correcto funcionamiento.

El siguiente paso es conectarse a la WiFi que crea el dispositivo de nombre "zsun-XXXXXXX", siendo XXXXXX cualquier combinacion de carácteres alfanumericos.

Una vez conectado a la red wifi hecha por el dispositivo, podemos conectarnos a 10.168.168.1 para ver el portal con el que podemos trabajar con el cacharro y ver si accede correctamente a la tarjeta microSD.

Backup del Firmware Original

Antes que nada procederemos a hacer una copia de seguridad del firmware original del dispositivo, para ello tenemos que conectarnos al router via telnet, el firmware original de zsun tiene unos agujeros comparables al de un queso gruyere dejando un acceso telnet en el puerto 11880, dado que el telnet normal puede no funcionar, para efectuar con éxito este punto, desde un ordenador linux podremos conectarnos con socat (aunque he leido que con Ubuntu 15.10 netkit-telnet funciona bastante bien)

socat - TCP4:10.168.168.1:11880

Pedira usuario y contraseña
user: root
password: zsun1188


 Una vez conectados, podemos listar el contenido de la memoria del dispositivo, aunque lo que nos interesa realmente está en /dev


Si os dais cuenta, hay varios archivos con nombre mtdX, siendo X cualquier numero del 0 al 9. Esto hace referencia a la partición ART, que guarda los datos referentes al firmware y opciones del dispositivo.

Para saber que comandos podemos ejecutar en este sistema (para saber que podemos usar y que no) podeis listar el directorio /bin


Realmente solo existen desde la mtd0 hasta la mtd5, las demás están listadas pero no se montan en ningún momento.

La copia de seguridad hay que hacerla de forma manual con el comando "dd", siguiendo esta sintaxis:

dd if=/dev/mtdX of=/tmp/mtdX.bin (Recordad, desde mtd0 hasta mtd5)

Para demostraros que a partir de mtd6 no funciona os dejo unos pantallazos

Hasta mtd5 va bien

 Y desde mtd6 hasta mtd9, no hay nada que se pueda copiar

Ahora, para poder acceder a los ficheros .bin que acabamos de crear como copia de seguridad del firmware original tenemos que hacer un enlace simbolico con el comando "ln" que nos permita acceder a la carpeta donde los hemos copiado (en este caso /tmp) y descargarlos desde la interfaz web que nos permite el dispositivo, llegados a este punto, decir que el lector de tarjetas monta el almacenamiento en la ruta /etc/disk.

ln -s /tmp /etc/disk 

Hecho esto, si vamos al navegador a la IP 10.168.168.1 y elegimos la opción de "Browse Files", obtendremos acceso al directorio /tmp montado, dentro de él estarán los archivos que buscamos.


Ahora solo queda copiar esos archivos en un lugar seguro. Para descargarlos solo hace falta un doble clic, no os preocupeis si veis otros archivos aparte de los que hemos copiado nosotros, no nos hacen falta.



Una vez hecho esto podemos empezar con la segunda parte del tutorial.

Instalación de OpenWRT

Llegados a este punto, lo unico que necesitaremos será un navegador, un ordenador Windows (ya que para mi ha sido más fácil conectarme desde este sistema operativo) y un archivo de actualización que contenga el firmware OpenWRT diseñado para este dispositivo.

Hay varios metodos para hacerle un flasheo, pero me he decantado por el que he visto más cómodo y con menos riesgo a mi parecer.

Conectados a la WiFi del zsun, con el navegador, vamos a esta URL:

http://10.168.168.1:8080/goform/Setcardworkmode?workmode=0
 

El acceder a esta dirección web, ocasiona que el dispositivo deshabilite la funcionalidad del lector de tarjetas, veras una pagina como esta.

Si sale esto vas por el buen camino

Ahora que hemos "perdido" la capacidad de leer tarjets directamente, el dispositivo solo nos deja un  acceso por SMB a la tarjeta microSD.

Por que otra "funcionalidad" añadida del dispositivo es que levanta cada vez que se enciende un servidor SMB Windows Shared Folders (de ahí que para esto haya usado un PC con Windows), cosa que podemos comprobar con un smbclient desde linux, tanto el usuario como la contraseña del servidor SMB son "admin".


Una vez descubierto esto, es coser y cantar copiar el archivo necesario via SMB (ya que si lo copias de forma externa y luego enciendes el dispositivo, el propio dispositivo borra el archivo necesario para no crear conflictos con su sistema)

Para ello, ahora nos vamos al ordenador con Windows y desde el explorador de archivos del sistema ponemos en la dirección \\10.168.168.1


Una vez le demos a la tecla enter, nos saldrá una ventana pidiendo usuario y contraseña... Creo que ya sabéis cual es (por que la he puesto antes) pero por si se os ha olvidado user: "admin" / password:"admin". Nos da igual recordar las credenciales, le vamos a cambiar el firmware y "perderemos" el acceso SMB.


Una vez dentro, aparecera un directorio llamado "public", abrelo.


En public, crea un directorio llamado ".update.", este directorio al crearlo desaparecerá así que no te alarmes, no te olvides de los puntos del principio y del final.


No te alarmes por lo que va a suceder, el directorio cambiará a un nombre extraño (UPDAT~WY.__) y desaparecerá, puedes acceder a el añadiendo en la dirección del directorio \.update


Accede al directorio y copia el archivo "SD100-openwrt.tar.gz" previamente descargado.


Hecho esto, puedes cerrar el explorador de Windows y acceder a cualquier navegador y entrar a esta URL:

http://10.168.168.1:8080/goform/upFirmWare

Al acceder a esa dirección estas forzando al dispositivo a actualizar su firmware desde la ruta que hemos creado. Despues de ejecutarlo se pueden dar dos casos, -2 que significa que algo hemos hecho mal, y 2 que significa que ha comenzado el proceso.


Algo hemos hecho mal, vuelta al principio, lo más probable sea que has hecho mal la carpeta .update.
Buen trabajo, comienza el flasheo
El led del dispositivo puede seguir apagandose y encendiendose normal, pero llegará a un punto en el que habra un parpadeo largo, hay que esperar a ese parpadeo, despues de ese, habrá multiples encendidos y apagados, estos seran bastante rapidos.

El dispositivo se reiniciará y notarás que la red "zsun-XXXXXX" ha desaparecido y aparece otra nueva llamada "OpenWRT". Conectate a ella y en el navegador accede a la IP 192.168.1.1




Puedes entrar como root y sin contraseña, es recomendable poner una, pero puedes hacerlo luego, dale al boton de login y disfruta de la magia...



Créditos a Warsaw Hackerspace, que sin su página dedicada al Zsun esto no hubiera sido posible.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...