Hace tiempo que venía buscando un router con soporte Openwrt con ADSL funcional. Había probado el SMC-7908-ISP (Arcadyan ARV4518PW) donde conseguí echar a andar la adsl pero no con una buena estabilidad (cortes, etc.) adicionalmente no conseguí hacer que la wifi funcionara del todo bien ese ruoter. También tengo un Buffalo que parece tener soporte para adsl el cual no estoy dispuesto a flashear.
Después de buscar modelos de router con precio asequible, soporte OpenWrt y wifi y adsl funcional, encontré el BT HomeHub 2.0 TypeB. Este cacharro lo ponía BT en Inglaterra a sus clientes. Así que me fuí e ebay y encontré uno de segunda mano en subasta el cual me costó 4.32 libras (más 6 de gastos de envío). Creo que un precio inmejorable

Me puse a investigar y no encontré un sitio concreto donde toda la información y pasos necesarios para instalarle OpenWRT estuvieran escritos. Así que he recopilado toda la información que he encontrado y más abajo os la presento. He de decir que llevo unas 24 horas con el cacharro y estoy realmente sorprendido de su potencial con OpenWRT: Alta estabilidad, señal wifi inmejorable, adsl de lujo... (justo lo que buscaba para casa). No quería que hiciera nada más puesto que el resto de cosas para las que uso openwrt (openvpn server, transmission, ddns, samba, tareas
programadas, etc.) las tengo centralizadas en otro router de casa (un Huawei HG553).
Las características del aparato son (Extraído de la wiki de OpenWRT):
Architecture | MIPS |
Vendor | Lantiq |
Bootloader | U-Boot |
System-On-Chip | Lantiq Danube-S PSB 50712 @ 333MHz |
CPU/Speed | MIPS 24KEc@333 MHz |
NOR Flash | Spansion S29AL004D 4MiB |
NAND Flash | Samsung K9F5608U0D-JIB0 32MiB |
RAM Chip | Samsung K4H511638F |
Wireless | Atheros 9160-BC1A 802.11b/g/n, pci, 0x18000000, irq 22 |
Ethernet | Infineon AD9669I |
USB | Yes |
Slic | Teridian 73m1966, Infineon Vinetic PEF4268F 'Ringing SLIC with Integrated DC/DC Converter' |
Serial | Yes |
Se que habrá poco seguimiento de este hilo por tratarse de un router "difícil" de conseguir en España, pero creo que es un equipo que merece la pena y me hacia ilusión postear este tutorial.

Antes de comenzar: No me hago responsable de cualquier daño que pudierais causar en el router. Seguid las instrucciones bajo vuestra propia responsabilidad.
Requisitos- El router en sí. Tiene que ser la versión 2.0 modelo B (el modelo A tiene soc broadcom)
- Un cable de red
- Algunos ficheros (Cada uno estará en su sección correspondiente)
- Putty o algún otro cliente ssh
- Corriente eléctrica en casa

ResumenDe forma general vamos a tener que realizar los siguientes pasos:
- 0. Downgrade del firmwarare (Solo en los casos que sea necesario)
- 1. Unlock del firmware: Para tener acceso SSH al equipo
- 2. Instalación del U-boot: Aunque este modelo trae u-boot vamos a instalarle el nuestro
- 3. Instalación de Openwrt
0. Downgrade del firmwarareEsto solo será necesario hacerlo si nuestro modelo tiene una versión del firmware 4.7.5.1.83.3.18 o superior. En caso contrario continuar con el paso siguiente.
Podremos comprobar la versión del firmware instalado entrando en la configuración avanzada. (No recuerdo el menú exacto, pero es fácil de localizar).
En caso de tener la versión 4.7.5.1.83.3.18 o superior (mi caso fue ese). Haced lo siguiente:
- Descargar los siguientes ficheros: 4.7.5.1.83.3.17 y 4.7.5.1.83.3.18. Realmente solo usaremos el primero, pero no está de más tener el otro en caso de querer volver a la versión que teniamos.
- Descomprimimos el archivo HUB20B_4.7.5.1.83.3.17_PROD.exe (password: www.psidoc.com)
- Conectar el equipo vía cable de red (Vamos a flashear, así que no nos arriesgaremos a hacerlo con la wifi)
- Desde el navegador ir a la URL: http://192.168.1.254/firmware_upgrade
- Introducir vuestra password (Viene detrás del router escrita si no la habeis cambiado)
- clickamos en browse y seleccionamos el archivo HUB20B_4.7.5.1.83.3.17_PROD.rms (descomprimido anteriormente)
- Hacemos click en Ok. Aceptaremos los mensajes de aviso diciéndonos que vamos a flashear
- Esperamos unos 10-30 segundos donde veremos que la luz de update del router empieza a parpadear.
- Nos aparecerá una confirmación de que vamos a pasar de la versión X a la 4.7.5.1.83.3.17 y bla bla bla. Aceptamos.
- El equipo se reiniciará y tardará mas de lo normal en arrancar. Oiremos 3 veces el relé de arranque que tiene dentro. Una vez arrancado, podremos comprobar que nuestra versión es ahora la 4.7.5.1.83.3.17
1. Unlock del firmware.
Traducción de Tki2000AVISO: Para realizar el unlock es necesario tener la versión 4.7.5.1.83.3.17 o inferior. En caso contrario lee el paso anterior.Prerrequisitos:- Un PC con Windows - Necesitamos el hecho de que Windows es un poco inútil e intrusivo a la hora de manejar redes (por decirlo finamente). Linux es demasiado "educado" en cuanto a redes se refiere.
- Una unidad de 32mb como mínimo
que funcione con el HomeHub 2.0B - Revisar que funcione antes de empezar ya que el 2.0B es un poco "melindre" con las unidades USB.
- Los ficheros para trabajar con el BT Home Hub v2 Type B : (
https://dl.dropboxusercontent.com/u/87693821/hh2b_unlock%20(pass%20www.psidoc.com).exe) Password:www.psidoc.com
Preparación:- Descargar el fichero anterior y extraerlo. Password:www.psidoc.com
- Pinchar el USB en el PC
- Ejecutar "DiskImage_1_6_WinAll.exe" y contestar que sí a la licencia Freeware. ¡Si se ejecuta bajo Windows Vista ó 7 hay que ejecutarlo como administrador!
- Seleccionar
EL DISCO FISICO (no la letra de la unidad) que se corresponda con el pincho USB.
¡¡VERIFICA ESTO POR DUPLICADO porque hay riesgo de mandar a hacer gárgagas el disco duro si te equivocas!!- Pincha en el botón "Browse" (Buscar) y selecciona "ext3.img"
- Pincha en el botón "Start". La escritura tardará entre 3 - 7 seg. y se verá una barra de progreso.
Control de Tierra, ¡estamos preparados para el despegue!.Hacerse root:- Resetear el router con los parámetros por defecto y dejar que se reinicie.
- Pinchar el USB en el HH 2.0B
- En el PC, abrir "Mi PC" y teclear "\\192.168.1.254\". Cuando se nos pregunte por usuario y contraseña contestaremos admin:[el password está en la parte de atrás del router]. Deberías encontrar un directorio de red que se llama USB1.
- Haz doble click en USB1 y selecciona los ficheros "utelnetd" y "smb.conf", click derecho y selecciona "Copiar"
- Vete al directorio "SYS" y de ahí al "ETC".
- Pega los ficheros antes copiados ahí, sobreescribiendo lo que haya.
- Cierra la ventana de "Mi PC" en la que hemos estado trabajando.
- Abre una nueva ventana de "Mi PC" y teclea "\\192.168.1.254\" de nuevo y vete al directorio USB1 -> SYS. Navega por un par de directorios desde ahí, en teoría cualquiera del sistema de archivos, pero no se te ocurra borrar nada. Esto es simplemente para disparar el demonio telnet en el router y que se ponga a funcionar.
- Ejecuta "Kitty" y selecciona el botón "Telnet", IP:192.168.1.254, Port:4002, y pincha en "Open". Si no funciona a la primera, espera unos 15 seg. y vuelve a intentarlo, si no lo hace a la segunda vuelve a intentarlo,... y así hasta que lo haga... Samba no se actualiza tan rápido como el 2A, pero debieras estar dentro en menos de un minuto y tener acceso root.
¡Tenemos acceso root!¡Hackeemos el bicho! Por fin un unlock después de todas la peripecias anteriores.En la línea del telnet teclear los siguientes comandos, uno cada vez (lo que hay antes de ":<---" es el comando y lo que hay después es la explicación de lo que hace)
ssh_cli :<--- Esto ejecuta la interfaz de openrg y el prompt cambia a "BT Home Hub 2.0B"
conf print persistent/bt/domain_locking/enabled :<--- Esto es el lock del dominio. Contestará (enabled(1))
conf set persistent/bt/domain_locking/enabled 0 :<--- Lo desactivamos
conf print persistent/bt/domain_locking/enabled :<--- Comprobamos que realmente lo hemos desactivado. Contestará (enabled(0)). ¡HURRA!
conf del fw/policy/0/chain/fw_br0_in :<--- Habilitamos el SSH borrando la regla drop del firewall (ethernet)
conf del fw/policy/0/chain/fw_br1_in :<--- Habilitamos el SSH borrando la regla drop del firewall (WiFi)
conf reconf 1 :<--- Grabamos los cambios en la flash y recargamos la configuración automáticamente.
Siemens hizo alguna que otra previsión y quitó el ejecutable del telnet, así que no tenemos telnet de forma permanente aunque sí que dejaron el SSH y se está ejecutando por defecto. Podemos pues usarlo para acceder en lugar de telnet. Con el borrado de las reglas del firewall que nos impedían acceder al SSH, tenemos el acceso garantizado a posteriori. Para entrar por SSH, usar Kitty y seleccionar la IP:192.168.1.254 por el puerto 22, usuario : contraseña es admin : [la contraseña de detrás del router]. Se te preguntará por el certificado de seguridad cuando conectes. Acéptalo y guárdalo.
El unlock es permanente al reseteo y reinicio tanto utilizando la interfaz GUI como el botón de reset.
El unlock de SSH no es permanente y no aguanta el reseteo, así que haz un backup de la configuración cuando termines. De esta forma cuando se haga un reseteo, al restaurar la configuración se tendrá acceso otra vez por SSH.
Nota final: En el fichero de texto del unlock hay un error tipográfico en los comandos para hacer un unlock. La palabra "persistant" debe ser "persistent".Nota del traductor: Supongo que para conectar el HH 2.0 el PC debe estar conectado por cable y tener una IP en la misma subred que el router. El programa Kitty al que hace referencia supongo que se podrá intercambiar por cualquier otro con opciones de telnet y SSH como PuTTY.
La página la podéis encontrar en archive.org :
https://web.archive.org/web/20130529064943/http://www.psidoc.com/showthread.php/249-Unlocking-the-Home-Hub-2.0B-With-full-CLI-access.2. Instalación del U-boot- Descargar el fichero http://sourceforge.net/projects/hh2b4ever/files/ubootmod_bthhv2b_v2.zip/download. Descomprimidlo
- Poner la ip de nuestro equipo (conectar siempre mediante cable de red) a 192.168.1.10
- ejecutad tftp32.exe y seleccionar como directorio el que contiene los ficheros u-boot-lzma.bin y ubootconfig.bin
- Acceder vía ssh al router (no recuerdo bien si era mediante el puerto 22 o 4002)
- Escribir los comandos:
flash
load -u tftp://192.168.1.10/u-boot-lzma.bin -s 0
load -u tftp://192.168.1.10/ubootconfig.bin -s 1
exit
- Esto flasheará el nuevo u-boot en el segmento 0 de la flash y el ubootconfig en el segmento 1.
- Sin cerrar la venta de ssh abrimos la linea de comandos de windows (tecla windows + r, escribimos cmd y enter), nos vamos al directorio donde hemos descomprimido lo anterior y donde está el programa nc.exe y escribimos: nc -n -u -p 6666 -v 192.168.1.11 6666
- Después, rápidamente, en la ventana de la consola del ssh ejecutamos: system reboot
- Veremos como arranca el nuevo u-boot y carga la imagen de BT. Esperamos a que arranque (aunque no es totalmente obligatorio)
- Apagamos y encendemos el equipo y pulsamos cualquier tecla (en la venta de comandos de windows) para detener la carga en el u-boot.
3. Instalación de OpenwrtAntes de nada vamos a realizar un backup completo de la nand. Por si las flies...:
- Con el router encendido y la imagen de BT cargada (OpenRG), accedemos vía ssh (como dije antes, no recuerdo bien si era mediante el puerto 22 o 4002)
- Ejecutamos: system shell
- Conectamos un pendrive al puerto usb del router y comprobamos que lo ha montado correctamente. Lo podemos hacer escribiendo en la barra de direcciones del explorador: \\192.168.1.254 Ahí veremos, tras logarnos, que debe de haber una carpeta Usb1
- 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
- Adicionalmente vamos a sacar una copia de las macs de las interfaces del equipo (he leido que es posible que se pongan a unas por defecto después de la instalación y como el que avisa no es traidor, nos curamos en salud). Para ello ejecutamos: ifconfig > /mnt/fs/B/interfaces.txt
- Con esto ya tenemos lo necesario para tirarnos al barro e instalar OpenWRT.

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.
Cualquier comentario, sugerencia o pregunta será bienvenido/a.
Fuenteshttp://wiki.openwrt.org/toh/bt/homehub_v2bhttp://www.psidoc.com/showthread.php/495-OpenWRT-on-HHV2Bhttp://www.psidoc.com/showthread.php/448-Easily-amp-safely-downgrade-your-Hub-2B-from-4.7.5.1.83.3.18-so-you-can-unlock-it.http://www.psidoc.com/showthread.php/249-Unlocking-the-Home-Hub-2.0B-With-full-CLI-access.http://sourceforge.net/projects/hh2b4ever/files/?source=navbar