Hola de nuevo.
Estoy preparando unos BT home hub para navidad y dado que he cambiado mi sistema operativo (ahora uso windows 8.1 64 bits) y que openwrt ha publicado su versión oficial con soporte de este router, he decidido seguir el manual que en su día se publicó para ver si se ajusta a los nuevos tiempos que corren.
Me he encontrado con algunos cambios que merecen la pena ser comentados:
1. Unlock de firmware:
- El archivo "DiskImage_1_6_WinAll.exe" contenido dentro del archivo "hh2b_unlock (pass
www.psidoc.com).exe" me mostraba un error al intentar grabar la imagen "ext3.img". Por ese motivo he usado otro software:
http://sourceforge.net/projects/win32diskimager/ Recordad usarlo siguiendo las mismas precauciones que con el otro y ejecutarlo como Administrador.
2. Instalación de u-boot:
- Confirmo que el puerto SSH usado tiene que ser el 22
- El paso "Veremos como arranca el nuevo u-boot y carga la imagen de BT. Esperamos a que arranque (aunque no es totalmente obligatorio)" debería decir "Veremos como arranca el nuevo u-boot y carga la imagen de BT. Esperamos a que arranque para continuar con el resto de los pasos"
- El paso "Apagamos y encendemos el equipo y pulsamos cualquier tecla (en la venta de comandos de windows) para detener la carga en el u-boot." debe omitirse para seguir el resto del manual paso por paso
3. Instralación de openwrt
- En este caso también hay que usar el puerto 22
- El paso "Suponiendo que el pendrive lo haya montado en /mnt/fs/B/ (comprobadlo, aunque por defecto lo hace ahí), ejecutamos: dd if=/dev/mtdblock0 of=/mnt/fs/B/block0.bin" puede dejarse mejor como "Comprobamos el punto de montaje del pendrive. Para ello ejecutamos ls /mnt/fs y debe devolver la letra en la que ha montado la unidad (en mi caso 'B'). Cogiendo 'B' como montaje, ejecutamos: dd if=/dev/mtdblock0 of=/mnt/fs/B/block0.bin y esperamos unos segundos a que termine"
A partir de aquí hay que cambiar mucho texto, porque la manera de instalar instalar openwrt 14.07 barrier breaker es distinta a como se hacía anteriormente. Por tanto, y basándonos en la wiki de openwrt para este modelo de router, hay que reemplazar este texto:
Bueno, pues ahora viene lo interesante. Veréis que super sencillo. Decir que la compilación que vamos a instalar es una cocinada por ebilan del foro psidoc.com. Las gracias a él.
La imagen apunta a su repositorio ya que comenta que tuvo problemas compilando algunos paquetes y por eso no están disponibles para ser instalados.
Apuntar también que este router puede configurarse para cargar distintas imagenes cambiando el boot. Pero aquí solo se explicará como cargar OpenWRT. La original con OpenRG quedará destruida (para eso tenemos el backup que acabamos de hacer ).
- Descargamos el fichero: http://openwrt.ebilan.co.uk/34686/openwrt-lantiq-danube-BTHOMEHUBV2B-squashfs-34686-final.image
- Fijamos nuestra ip a 192.168.1.10
- Arrancamos el tftp.exe apuntando a la carpeta donde tenemos la imagen descargada
- Abrimos la linea de comandos de windows (tecla windows + r, escribimos cmd y enter), nos vamos al directorio donde está el programa nc.exe (de la instalación del u-boot) y escribimos: nc -n -u -p 6666 -v 192.168.1.11 6666
- Apagamos el equipo y lo encendemos. Paramos la ejecución en el u-boot
- Ejecutamos los siguientes comandos:
nand erase 0x004000 0x1ffC000
tftpboot 81000000 openwrt-lantiq-danube-BTHOMEHUBV2B-squashfs-34686-final.image
nand write 0x81000000 0x004000 0xe50000
bootm 0x81000000
- El ultimo comando nos nos arrancará la imagen desde esa dirección de memoria. Podremos comprobar como arranca OpenWRT sin problemas y como podemos acceder mediante telnet (para fijar la pwd de root) o via web (192.168.1.1) a luci.
- No hemos terminado aún. Seguramente, el u-boot tal cual lo hemos instaldo estará esperando cargar una imagen en una dirección de memoria que no es el inicio de la imagen. Así pues, sin apagar el router, nos conectamos vía ssh y ejecutamos:
echo /dev/mtd1 0x0 0x10000 0x10000 >/etc/fw_env.config
fw_printenv
fw_setenv nboot "nand read 0x81000000 0x004000 0xe50000; bootm 0x81000000"
fw_setenv bootcmd "run nboot"
fw_setenv bootdelay 20
fw_setenv preboot "setenv stdin nc; setenv stdout serial; setenv stderr serial"
- Ahora sí, podemos reiniciar. Ejecutad desde el ssh: reboot
Segun comenta ebilan, en esta compilación parece que deshabilito el botón de reinicio del router (implementando la funciona restaurar datos de fabrica desde el botón). Para habilitarlo, una vez arrancado OpenWRT, nos logamos vía ssh y ejecutamos:
uci add system button
uci set system.@button[-1].button=BTN_0
uci set system.@button[-1].action=pressed
uci set system.@button[-1].handler='reboot'
uci commit system
He visto que la luz de la wifi no se enciende aun teniendo la wifi funcionando, Investigaré un poco para ver como hacerla encender / parpadear.
Con esto, ya tenemos OpenWRT en nuestro BT HomeHub 2.0 B
Ahora a disfrutarlo.
Por lo siguiente:
Bueno, pues ahora viene lo interesante. Veréis que es laborioso, pero sencillo si se sigue todo paso a paso.
Apuntar también que este router puede configurarse para cargar distintas imagenes cambiando el boot. Pero aquí solo se explicará como cargar OpenWRT. La original con OpenRG quedará destruida (para eso tenemos el backup que acabamos de hacer
).
Y como último apunte decir que estas instrucciones son para LA PRIMERA INSTALACIÓN DE OPENWRT en este router. Una vez ya lo tenemos instalado podemos actualizar las versiones facilmente desde la interfaz web (LuCi) usando los archivos de tipo 'sysupgrade'.
Dicho todo esto, descargamos los siguientes ficheros:
http://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/openwrt-lantiq-xway-BTHOMEHUBV2B-uImagehttp://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/openwrt-lantiq-xway-BTHOMEHUBV2B-uImage-initramfshttp://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/openwrt-lantiq-xway-BTHOMEHUBV2B-squashfs-ubinized.binhttp://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/packages/base/uboot-envtools_2014.04-4_lantiq.ipkpscp:
http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exeY los copiamos todos en la misma carpeta en donde tenemos el tftp.exe.
Fijamos nuestra ip a 192.168.1.10
Arrancamos el tftp.exe apuntando a la carpeta donde tenemos la imagen descargada
Abrimos la linea de comandos de windows (tecla windows + r, escribimos cmd y enter), nos vamos al directorio donde está el programa nc.exe (de la instalación del u-boot) y escribimos:
nc -n -u -p 6666 -v 192.168.1.11 6666
Apagamos el equipo y lo encendemos. Paramos la ejecución en el u-boot presionando cualquier tecla durante el aviso que nos muestra
Ejecutamos los siguientes comandos:
tftpboot 81000000 openwrt-lantiq-xway-BTHOMEHUBV2B-uImage
nand erase 0x004000 0x1ffC000
nand write 81000000 0x004000 0x200000
tftpboot 81000000 openwrt-lantiq-xway-BTHOMEHUBV2B-uImage-initramfs
bootm 81000000
Así conseguiremos que arranque openwrt, pero aún quedan algunos pasos para que funcione perfectamente.
Accedemos via navegador de internet a la dirección
http://192.168.1.1 y establecemos la contraseña de administrador (
root). Para ello, en el primer mensaje que vemos introducimos cualquier contraseña para entrar y luego seguimos los pasos que nos indica un aviso de color amarillo en la parte superior. Podemos poner, por ejemplo, de contraseña root (en minusculas) y luego darle a "Save & apply".
Ahora abrimos una ventana de comandos y nos vamos a la carpeta donde esta el tftp usando 'cd', donde si antes lo hemos hecho bien, también tendremos el programa pscp.
Una vez estemos en la carpeta, ejecutamos:
pscp -scp openwrt-lantiq-xway-BTHOMEHUBV2B-squashfs-ubinized.bin root@192.168.1.1:/tmp
Nos hará una pregunta a la que tendremos que responder SI (y) y nos preguntará cual es la contraseña del administrador. En el caso de este manual la contraseña es
root, así que eso metemos.
Ahora accedemos por SSH (puerto 22) al router y ejecutamos los siguientes comandos:
ubidetach -p /dev/mtd7
ubiformat /dev/mtd7 -f /tmp/openwrt-lantiq-xway-BTHOMEHUBV2B-squashfs-ubinized.bin
reboot
Volvemos a la ventana de nc, interrumpimos el proceso de carga (presionando cualquier tecla cuando nos avise) e introducimos:
nand read 81000000 0x004000 0x200000
bootm 81000000
Volvemos a establecer, tal y como hicimos anteriomente, una contraseña de administrador (dado que al cargar esta última imagen, la habrá dejado en blanco). Para ello usaremos la interfaz web.
Una vez establecido el password, hacemos uso de nuevo de pscp de la siguiente manera:
pscp -scp uboot-envtools_2014.04-4_lantiq.ipk root@192.168.1.1:/tmp
Nos hará de nuevo la pregunta a la que tendremos que responder SI (y) y nos volverá a pedir la contraseña de administrador, así que se la introducimos.
Accedemos de nuevo por SSH (puerto 22) al router y ejecutamos los siguientes comandos:
opkg install /tmp/uboot-envtools_2014.04-4_lantiq.ipk
echo /dev/mtd1 0x0 0x10000 0x10000 >/etc/fw_env.config
fw_printenv
fw_setenv nboot "nand read 0x81000000 0x004000 0xe50000; bootm 0x81000000"
fw_setenv bootcmd "run nboot"
fw_setenv bootdelay 20
fw_setenv preboot "setenv stdin nc; setenv stdout serial; setenv stderr serial"
Ahora sí, podemos reiniciar. Ejecutad desde el ssh
reboot
Con esto, ya tenemos OpenWRT en nuestro BT HomeHub 2.0 B
Ahora a disfrutarlo.