Equipos y materiales > Puntos de acceso, routers, switchs y bridges

[HG532s] Cambio a firmware Tplink con función repetidor

(1/13) > >>

danitool:
Esta es una pequeña guía para cambiar el limitado firmware con el que vienen los Huawei HG532s, a un firmware de Tplink.

Normalmente los HG532s suelen ser de algún proveedor de internet aunque eso no nos importa demasiado. En este caso el HG532s que vamos a usar uno que dispone de 8 MB de flash (del ISP con nombre de fruta), es lo único relevante en principio.

Requisitos:

* Adaptador de puerto serie TTL para conectar al router, y saber manejarlo mínimamente
* Cliente TFTP en nuestro ordenador. En esta guía usamos un ordenador con sistema operativo GNU/Linux, aunque no es obligatorio, pero es más cómodo para la guía.
El puerto serie UART dispone del siguiente pinout. Solo conectaremos TX, RX y GND, baudrate=115200:


El cambio se basa en reemplazar toda la imagen de la flash por la de un Tplink TD-W8968 v2, cuyo hardware es idéntico. Así que lo que haremos es flashear la imagen completa de la flash cuya estructura es diferente a la del HG532s. Como los datos de calibración y la MAC son únicas de cada dispositivos, lo que primero hacemos es tunear la imagen para que tenga los de nuestro dispositivo particular.


* Tunear la imagen de Tplink
* Hacemos un backup de la flash entera para lo cual ejecutamos este script de phyton rt63365tool.py con el siguiente comando:
python2 rt63365tool.py --read=hg532sfull.bin --addr=0xB0000000 --size=0x800000 --block=0x10000
encendemos el router con el puerto serie conectado, el backup debería comenzar inmediatamente. Puede tardar bastante en completarlo
* Descargar el backup de tplink TD-W8968v2-flashbackup-mod.zip. Descomprimimos y lo renombramos a tplinkfull.bin 
* Ahora insertamos los datos de calibración del wifi de nuestro router en la imagen de tplink, ejecutar:
dd if=hg532sfull.bin bs=1 skip=$((0x11000)) count=512 | dd of=tplinkfull.bin bs=1 seek=$((0x7f0000)) conv=notrunc

* Insertamos la MAC de nuestro router en la imagen tplink
echo -ne \\x00\\x11\\x22\\x33\\x44\\x55 | dd of=tplinkfull.bin bs=1 seek=$((0x7DF100)) conv=notrunc
En este caso la MAC era 00:11:22:33:44:55
* Flashear la imagen de Tplink en nuestro rotuer
* Apagar el router
* Conectar el adaptador de puerto serie al router
* Conectar el cable ethernet del ordenador al router
* Poner una IP estática en nuestro ordenador compatible con 192.168.1.1 (por ejemplo 192.168.1.33)
* Encender el router e inmediatamente pulsar una tecla en la consola serie, lo cual debería parar el arranque en la línea de comandos del bootloader con el símbolo:
bldr>
* Enviar la imagen vía TFTP. En el ordenador ejecutar:
tftp 192.168.1.1 -m binary -c put tplinkfull.bin
* Ahora flasheamos la imagen recibida. En la consola serie ejecutar:
flash 0 80020000 800000
* Una vez finalizado el flasheo, reiniciar el router desenchufando la alimentación y volviiendo a conectarla
* Listo, ya debería arrancar con el firmware Tplink
Como ejemplo una sesión de flasheo en la consola serie

--- Código: ---RT63365 at Wed Dec 12 17:15:09 CST 2012 version 0.8

Memory size 32MB

Found SPI Flash 8MiB Winbond W25Q64 at 0xb0000000

Press any key in 3 secs to enter boot command mode.
Search PHY addr and found PHY addr=0

bldr>
Starting the TFTP download...
...
Total 8388608 (0x800000) bytes received

bldr> flash 0 80020000 800000
Write to flash from 80020000 to 0 with 800000 bytes
################################################################################################################################
program from 0 to 800000
...
bldr>
--- Fin del código ---

Algunas características destacables de este firmware:

* Soporte de modems 3G
* Soporte de función repetidor
* Soporte para ethernet WAN
* Soporte multiprocesador!. El chip RT63365 sorprendentemente dispone de 4 cores. El firmware de Huawei solo usa 1 core
Además en la imagen que suministro hay unas cuantas modificaciones con añadidos interesantes en rootfs, como un acceso telnet en el puerto 2323, y algunas utilidades que el firm original de Tplink no tenía, por ejemplo la utilidad mtd, para poder reflashear rootfs personalizados de forma cómoda. Podemos instalar el firmware genuino 100 por cien de Tplink si así lo deseamos simplemente haciendo un upgrade de su firmware oficial después del flasheo descrito en la guía.

La función repetidor del firmware Tplink está en el apartado WDS, el cual no es un WDS real sino un modo AP+client_bridge de Mediatek. Este modo suele ser conocido los que ya tienen cierta experiencia en el mundo WiFi como modo repetidor universal. Aunque el inconveniente del modo repetidor universal para los que no lo sepan es la pérdida de transparencia en el flujo de datos

Para disponer de un WDS real hice una modificación con la que si introducimos en la configuración wifi, en el apartado SSID,  el nombre "WDS", entonces sí actuará como tal. Como es sabido WDS tiene una compatibilidad limitada ya que tiene que emparejarse con otro dispositivo con WDS del mismo fabricante con sus drivers propietarios (Mediatek/Ralink). La ventaja es que aquí sí que tenemos transparencia y rendimiento óptimo en todo momento.

Una captura de la página con la función Repetidor:



En el emulador de la configuración por web podemos ver todo el repertorio completo: https://emulator.tp-link.com/89680306/index.htm

Esta información la publiqué también en https://wikidevi.wi-cat.ru/Huawei_HG532s donde se pueden encontrar más detalles. Lo bueno de este dispositivo es que es virtualmente imposible de brickear, ya que la CPU dispone de un bootloader básico desde el que podemos cargar un recovery por XMODEM, y así flashear toda la imagen aunque la flash estuviese vacía totalmente.

jar229:
Como siempre, danitool, estupendo aporte  >:(

ablinux:
Hola, encontré este post al buscar si era posible activar la función de "router" al HG532s (habilitarle el puerto wan). Realmente odio preguntar esto (en general siempre trato de interiorizarme y no preguntar pavadas), pero no tengo el equipamiento ni creo que tampoco los conocimientos para seguir las instrucciones del post.

En cambio se me ocurrió si sería posible subir la imagen tplinkfull.bin como si fuera una firmware del router (en la página del router, hay una opción para flashearle un firmware). Anteriormente le puse el firmware de fábrica, ¿sería posible repetir estos pasos con "tplinkfull.bin"?

Muchas gracias y perdón por molestar. Saludos

danitool:

--- Cita de: ablinux en 10-04-2019, 09:04 (Miércoles) ---Hola, encontré este post al buscar si era posible activar la función de "router" al HG532s (habilitarle el puerto wan). Realmente odio preguntar esto (en general siempre trato de interiorizarme y no preguntar pavadas), pero no tengo el equipamiento ni creo que tampoco los conocimientos para seguir las instrucciones del post.

En cambio se me ocurrió si sería posible subir la imagen tplinkfull.bin como si fuera una firmware del router (en la página del router, hay una opción para flashearle un firmware). Anteriormente le puse el firmware de fábrica, ¿sería posible repetir estos pasos con "tplinkfull.bin"?

Muchas gracias y perdón por molestar. Saludos

--- Fin de la cita ---

No es posible, el firmware de fábrica tiene un empaquetamiento especial no compatible con la imagen de la flash. De ahí el usar un procedimiento a bajo nivel como el que describo para meter el firmware de Tplink.

En realidad solo necesitas como equipamiento especial un adaptador de puerto serie UART (3.3V), para lanzar los comandos que flashean la imagen.

Hay un post que describe en que consiste acceder por puerto serie al router:
https://foro.seguridadwireless.net/openwrt/(tutorial)-puerto-serie-como-acceder/
Que básicamente es usar el adaptador UART con el software correspondiente.

Saludos

cheche:
Danitool,
Tengo un adaptador USB, y cables para conectar, pero soy un manazas con el soldador, ¿Cual crees tu seria la mejor manera de soldar eso?

¿Recomiendas soldar este tipo de pines macho?:
https://www.ebay.es/itm/5x-TIRA-40-PINES-MACHO-simple-row-male-soldar-Arduino-pin-header-PCB/201601894577

La idea es soldar y solamente conectar con el cable al actualizar. Tengo un par de routers de estos.
Si le hace falta a alguien, que me lo diga y se los envío sin coste.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa