Como saben el meraki mini (www.meraki.com) permite extender redes mesh con “cero” configuración. Este pequeño AP esta basado en el chip AR2315 y funciona de maravilla con una diversidad de firmwares de terceros, tiene nada menos que 8MB en flash y 16MB en RAM, además soporta PoE.
En este post les mostraré como instalar el OpenWRT en el meraki-mini.
Flashear el meraki mini con open-wrt, se puede hacer utilizando una conexión serial por el jtag, pero tambien utilizando la conexión ethernet. Hoy explicaré el segundo caso, debido a que no todos tienen el conector serial a jtag.
Antes que nada, conviene tener a mano todo lo necesario para la instalación:
- Un servidor tftp corriendo, en mi caso utilizo PumpKIN
- La imagen del Kamizaque openwrt, si descargan del sitio de openwrt no tendrán la interface web y tendran que instalar luego el paquete correspondiente. Para evitar esto pueden descargar de x-wrt. De todas formas les paso los dos enlaces:
OpenWRT: http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/
X-wrt: http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/
En cualquier caso requerirán los siguientes archivos:
openwrt-atheros-2.6-vmlinux.gz
openwrt-atheros-2.6-root.jffs2-64k
- Cable de red conectado al meraki
Bien, comencemos. Lo primero es entrar al RedBoot del Meraki:
- Configurar la IP de la computadora conectada al Meraki: 192.168.84.9/24
- Abrir una terminal para hacer ping a la IP del Meraki: 192.168.84.1 (en windows seria: ping 192.168.84.1 -t)
- Tener preparado un cliente telnet en el puerto 9000, yo utilizo putty. Si usas el cliente telnet de windows deberias ejecutar telnet 192.168.84.1 9000
- Conecta el meraki al adaptador de corriente.
- Cuando veas que el meraki responde al ping (ver paso 2) lanza el cliente telnet. Debería conectarse inmediatamente y mostrate la siguiente pantalla:
== Executing boot script in 1.710 seconds - enter ^C to abort
^C
RedBoot>
Ok, ya estas en el RedBoot de Meraki, ahora verifica que las particiones: /storage, linux y rootfs no existen con el comando:
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xA8000000 0xA8000000 0×00030000 0×00000000
linux 0xA8030000 0×80041000 0×00180000 0×80041000
rootfs 0xA81B0000 0×80041000 0×00620000 0×80041000
FIS directory 0xA87D0000 0xA87D0000 0×0000F000 0×00000000
RedBoot config 0xA87DF000 0xA87DF000 0×00001000 0×00000000
Si las particiones existen puedes borrarlas con el comando:
RedBoot> fis delete <name>
Si el Meraki deja de responder, no lo reinicies, fijate simplemente la respuesta al ping en la terminal en algún momento vuelve a responder. En mi caso elimino por ejemplo la partición linux:
RedBoot> fis delete linux
Delete image ‘linux’ - continue (y/n)? y
… Erase from 0xa8030000-0xa81b0000: ……………………
… Erase from 0xa87d0000-0xa87e0000: .
… Program from 0×80ff0000-0×81000000 at 0xa87d0000: .
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xA8000000 0xA8000000 0×00030000 0×00000000
rootfs 0xA81B0000 0×80041000 0×00620000 0×80041000
FIS directory 0xA87D0000 0xA87D0000 0×0000F000 0×00000000
RedBoot config 0xA87DF000 0xA87DF000 0×00001000 0×00000000
Bien, ahora comenzamos el proceso de flashing del Meraki, basicamente tiene 3 pasos: a) definición de las particiones, b) cargar el nuevo firmware mediante tftp y c) configurar el RedBoot para el arranque con el nuevo firmware. Aquí te paso los comandos necesarios:
a) Definición de particiones:
RedBoot> fis create -b 0×80041000 -l 0×100000 -f 0xa8050000 -e 0×80041000 -r 0×80041000 -n /storage
RedBoot> fis create -b 0×80041000 -l 0×340000 -f 0xa8150000 -e 0×80041000 -r 0×80041000 -n linux
RedBoot> fis create -b 0×80041000 -l 0×340000 -f 0xa8490000 -e 0×80041000 -r 0×80041000 -n rootfs
b) Cargando el nuevo firmware mediante tftp (los archivos openwrt-atheros-2.6-vmlinux.gz y openwrt-atheros-2.6-root.jffs2-64k deben estar en el directorio raiz del servidor tftp)
RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
RedBoot> load -r -b 0×80041000 -m tftp -h 192.168.84.9 openwrt-atheros-2.6-vmlinux.gz
RedBoot> fis create -r 0×80041000 -l 0×180000 -e 0×80041000 linux
RedBoot> load -r -b 0×80041000 -m tftp -h 192.168.84.9 openwrt-atheros-2.6-root.jffs2-64k
RedBoot> fis create -r 0×80041000 -l 0×620000 rootfs
c) Configuración para el arranque:
RedBoot> fconfig -d boot_script_data
boot_script_data:
.. whatever it currently is
Enter script, terminate with empty line
>> fis load -d linux
>> exec
>>
Update RedBoot non-volatile configuration - continue (y/n)? y
… Erase from 0xa87d0000-0xa87e0000: .
… Program from 0×80ff0000-0×81000000 at 0xa87d0000: .
Reiniciar:
RedBoot> reset
En este punto debes cambiar la IP de tu maquina para poder acceder al openwrt, la IP por defecto del openwrt es 192.168.1.1
login as: root
root@192.168.1.1’s password:
BusyBox v1.4.2 (2007-10-24 12:07:44 CDT) Built-in shell (ash)
Enter ‘help’ for a list of built-in commands.
_______ ________ __
| |.—–.—–.—–.| | | |.—-.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (7.09) ———————————–
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
—————————————————
root@OpenWrt:~#
Ahora ingresa a la administración web y cambia la contraseña.