Autor Tema: [HG532s] Cambio a firmware Tplink con función repetidor  (Leído 3083 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado danitool

  • **
  • Mensajes: 29
[HG532s] Cambio a firmware Tplink con función repetidor
« en: 10-12-2018, 00:51 (Lunes) »
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 dispone de 8 MB de flash, 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: [Seleccionar]
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>

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. Aparentemente en el firmware  de Huawei no parece estar habilitado en el kernel el soporte multiprocesador. En el de Tplink sí.

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 usamos el nomgre "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 http://en.techinfodepot.shoutwiki.com/wiki/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.


« Última modificación: 05-12-2019, 19:51 (Jueves) por danitool »

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4586
Re:[HG532s] Cambio de firmware a Tplink con función repetidor
« Respuesta #1 en: 13-12-2018, 19:28 (Jueves) »
Como siempre, danitool, estupendo aporte  >:(
Valoraciones positivas en compra/venta:
132 en Htcmania
179 en Har2mano
20 en elchapuzasinformatico
11 en gsmspain
 ....
 
Mis equipos en venta: https://drive.google.com/open?id=1jkj-kzmCBVkVb3_at6sgKinmE7YdFeRi

Desconectado ablinux

  • **
  • Mensajes: 1
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #2 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

Desconectado danitool

  • **
  • Mensajes: 29
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #3 en: 10-04-2019, 21:08 (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

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

Desconectado cheche

  • **
  • Mensajes: 22
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #4 en: 11-04-2019, 02:25 (Jueves) »
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.

Desconectado danitool

  • **
  • Mensajes: 29
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #5 en: 12-04-2019, 18:09 (Viernes) »
Hola cheche.
La mejor forma, personalmente pienso, es dejar acceso externo al puerto serie desde fuera de la carcasa, con ella montada.

Aunque si solo tenemos pensado usar muy poco el puerto serie podemos soldar directamente el pinheader al que has hecho referencia (2.54 mm pitch). Lo de soldar un pinheader directamente a mi se me hace un poco difícil ya que hay que fundir todo el estaño que atasca los agujeros.

O bien se elimina primero el estaño de todos los agujeros con malla de desoldar para luego introducir cómodamente el pin header en frío.  O se suelda en caliente fundiendo cada agujero. Particularmente incordiante es el pin de GND si no tenemos un soldador con potencia.

En este modelo de router usé hilos rígidos de un cable de red y un pinheader hembra pegado en el conector de power. Al ser rígidos es fácil soldar uno a uno en cada agujero introduciéndolos dentro. Adjunto un par de imágenes
 

La forma más facil tal vez sea soldar un pinheader macho (o hembra), con cables flexibles y sin necesidad de pegar el conector, para un uso ocasional sería más que suficiente.

Saludos.
« Última modificación: 12-04-2019, 19:24 (Viernes) por danitool »

Desconectado gracasola

  • **
  • Mensajes: 6
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #6 en: 10-05-2019, 15:32 (Viernes) »
Hola danitool,

Me preguntaba si existe alguna forma de recibir el backup de la memoria flash via tftp (con algún comando de la consola serie como decomp), ya que empleando el puerto serie el proceso se eterniza.

Un Saludo.

Desconectado danitool

  • **
  • Mensajes: 29
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #7 en: 14-05-2019, 22:55 (Martes) »
Hola danitool,

Me preguntaba si existe alguna forma de recibir el backup de la memoria flash via tftp (con algún comando de la consola serie como decomp), ya que empleando el puerto serie el proceso se eterniza.

Un Saludo.

Para el backup no, ya qeu es imposible enviar archivos por TFTP del router al ordenador, solo recibir. O al menos eso es lo que recuerdo cuando exploré las posibilidades del bootloader.
« Última modificación: 14-05-2019, 22:56 (Martes) por danitool »

Desconectado javihijate

  • **
  • Mensajes: 12
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #8 en: 02-06-2019, 14:46 (Domingo) »
BUenas,
en primer lugar, muchas gracias por tu aporte. Resulta que he tenido un problema, al flashear, supongo que no le habra llegado la imagen por tftp y al flashear se ha borrado la memoria y ahora ek router no muestra nada por serial al iniciar. He iniciado el bootloader que trae integrado el router presionando reset al encender el router y me sale esto:
RT63365 at Tue May 8 19:47:16 CST 2012 version 0.8

Memory size 32MB

HWCONF=02007d00
DRAM Mode=00000000
MCC1=00000000

Search PHY addr and found PHY addr=0
done

Asique le he flasheado el recovery via xmodem con minicom y me sale esto:
RT63365 at Thu Apr 2 18:14:49 MSK 2015 version 1.1                             
                                                                               
Memory size 32MB                                                               
                                                                               
flash base: b0000000                                                           
Found SPI Flash 16MiB S25FL128P at 0xb0000000                                 
                                                                               
cmd > help                                                                     
                                                                             
?                                   Print out help messages.                   
help                                Print out help messages.                 
memrl <addr>                        Read a word from addr.                     
memwl <addr> <value>                Write a word to addr.                       
dump <addr> <len>                   Dump memory content.                       
jump <addr>                         Jump to addr.                               
flash <dst> <src> <len>             Write to flash from src to dst.             
xmdm <addr> <len>                   Xmodem receive to addr.                     

Ahora le envio por tftp la imagen del firm y nada, tampoco la lee, tengo puesta IP fija 192.168.1.33 y por supuesto tengo conectado el router al pc por ethernet y el wifi deshabilitado, pero no hay manera, no sale el "Starting the TFTP download..." por lo que al flashear no hace nada, se queda sin boot y tengo que volver a cargarle el recovery y vuelta a empezar. Llegados a este punto me pregunto, ¿como puedo cargarle la imagen por xmodem en lugar de por tftp para flashearla? UN saludo y gracias

Desconectado danitool

  • **
  • Mensajes: 29
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #9 en: 05-06-2019, 17:22 (Miércoles) »
BUenas,
en primer lugar, muchas gracias por tu aporte. Resulta que he tenido un problema, al flashear, supongo que no le habra llegado la imagen por tftp y al flashear se ha borrado la memoria y ahora ek router no muestra nada por serial al iniciar. He iniciado el bootloader que trae integrado el router presionando reset al encender el router y me sale esto:
RT63365 at Tue May 8 19:47:16 CST 2012 version 0.8

Memory size 32MB

HWCONF=02007d00
DRAM Mode=00000000
MCC1=00000000

Search PHY addr and found PHY addr=0
done

Asique le he flasheado el recovery via xmodem con minicom y me sale esto:
RT63365 at Thu Apr 2 18:14:49 MSK 2015 version 1.1                             
                                                                               
Memory size 32MB                                                               
                                                                               
flash base: b0000000                                                           
Found SPI Flash 16MiB S25FL128P at 0xb0000000                                 
                                                                               
cmd > help                                                                     
                                                                             
?                                   Print out help messages.                   
help                                Print out help messages.                 
memrl <addr>                        Read a word from addr.                     
memwl <addr> <value>                Write a word to addr.                       
dump <addr> <len>                   Dump memory content.                       
jump <addr>                         Jump to addr.                               
flash <dst> <src> <len>             Write to flash from src to dst.             
xmdm <addr> <len>                   Xmodem receive to addr.                     

Ahora le envio por tftp la imagen del firm y nada, tampoco la lee, tengo puesta IP fija 192.168.1.33 y por supuesto tengo conectado el router al pc por ethernet y el wifi deshabilitado, pero no hay manera, no sale el "Starting the TFTP download..." por lo que al flashear no hace nada, se queda sin boot y tengo que volver a cargarle el recovery y vuelta a empezar. Llegados a este punto me pregunto, ¿como puedo cargarle la imagen por xmodem en lugar de por tftp para flashearla? UN saludo y gracias

Hola, no te preocupes porque es sencillo recuperar este router con el recovery.

Una vez has iniciado el recovery, puedes enviarle la imagen completa por xmodem. Únicamente necesitas inicar la bajada del xmodem desde el recovery
Código: [Seleccionar]
xmdm 80020000 800000Ahora subimos nuestro backup de 8 MB desde el ordenador mediante el programa de consola serie que usemos
Tardará bastante porque xmodem es lento. (Para acelerarlo se podría solo subir el bootloader para luego una vez flasheado usarlo con TFTP)

Y luego flashea lo que ha bajado el recovery
Código: [Seleccionar]
flash 0 80020000 800000



Desconectado javihijate

  • **
  • Mensajes: 12
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #10 en: 22-06-2019, 01:34 (Sábado) »
Buenas,
he hecho lo que tu me dices pero se me para la transferencia de xmodem cuando ya lleva casi 100kb subidos, en la consola me sale esto:


CCCn=8000b2cc
CP0_BADVADDR=800394bb

 lo=4350305f hi=43415553
 cp0_epc=453d2578 cp0_badvaddr=a000000
 cp0_status=4350305f cp0_cause=4550433d
pad0

 0x206c6f3d 0x25782068 0x693d2578 0xa000000
 0x20637030 0x5f657063
regs

 3d257820 6370305f 62616476 61646472
 3d25780a 0 20637030 5f737461
 7475733d 25782063 70305f63 61757365
 3d25780a 0 70616430 a000000
 20307825 78000000 a726567 730a0000
 20257800 556e6465 66696e65 64204578
 63657074 696f6e20 68617070 656e2e00
 4350305f 53544154 55533d25 780a0000Cn=8000b2cc
CP0_BADVADDR=800394bb

 lo=4350305f hi=43415553
 cp0_epc=453d2578 cp0_badvaddr=a000000
 cp0_status=4350305f cp0_cause=4550433d
pad0

 0x206c6f3d 0x25782068 0x693d2578 0xa000000
 0x20637030 0x5f657063
regs

 3d257820 6370305f 62616476 61646472
 3d25780a 0 20637030 5f737461
 7475733d 25782063 70305f63 61757365
 3d25780a 0 70616430 a000000
 20307825 78000000 a726567 730a0000
 20257800 556e6465 66696e65 64204578
 63657074 696f6e20 68617070 656e2e00
 4350305f 53544154 55533d25 780a0000

Desconectado javihijate

  • **
  • Mensajes: 12
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #11 en: 22-06-2019, 01:35 (Sábado) »
he probado a subir directamente el de tplink y la copia de seguridad del firm original y me da el mismo error

Desconectado danitool

  • **
  • Mensajes: 29
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #12 en: 22-06-2019, 21:58 (Sábado) »
he probado a subir directamente el de tplink y la copia de seguridad del firm original y me da el mismo error

Prueba subiendo la imagen a otra dirección de memoria diferente, por ejemplo 80120000
Código: [Seleccionar]
xmdm 80120000 800000
flash 0 80120000 800000

Desconectado RonAshman

  • **
  • Mensajes: 1
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #13 en: 26-09-2019, 13:26 (Jueves) »
Hola,

Llegué aquí desde wikidevi y google luego de mucho tiempo de buscar opciones para este router.

Sinceramente, el único motivo por el cual lo quiero hacer es para usar el print server (que parece no funcionar con el firmware que trae)

Quería saber si alguien lo pudo utilizar y le funcionó. Voy a conectar este router a mi red y usarlo como repetidor wifi, tal como estoy haciendo ahora, pero quisiera también usar el puerto usb para conectar una vieja impresora usb y acceder a ella desde Windows, Linux y quizá Android.

¿A alguien le funcionó para eso?

No tengo un adaptador de puerto serie UART y nunca lo hice pero no tengo problema en conseguir uno e intentarlo, pero quisiera saber antes si a alguien le funcionó el servidor de impresión para no hacer todo en vano.

Gracias!
« Última modificación: 27-09-2019, 04:53 (Viernes) por RonAshman »

Desconectado gracasola

  • **
  • Mensajes: 6
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #14 en: 27-10-2019, 23:36 (Domingo) »
Hola,

Llegué aquí desde wikidevi y google luego de mucho tiempo de buscar opciones para este router.

Sinceramente, el único motivo por el cual lo quiero hacer es para usar el print server (que parece no funcionar con el firmware que trae)

Quería saber si alguien lo pudo utilizar y le funcionó. Voy a conectar este router a mi red y usarlo como repetidor wifi, tal como estoy haciendo ahora, pero quisiera también usar el puerto usb para conectar una vieja impresora usb y acceder a ella desde Windows, Linux y quizá Android.

¿A alguien le funcionó para eso?

No tengo un adaptador de puerto serie UART y nunca lo hice pero no tengo problema en conseguir uno e intentarlo, pero quisiera saber antes si a alguien le funcionó el servidor de impresión para no hacer todo en vano.

Gracias!
Yo te puedo decir que en su día use el print server del firmware original (Orange ISP) y me funcionó correctamente. Respecto al firmware de TPLink, lo bueno es que puedes usar la función repetidor de WiFi a WiFi. Además puedes tener varios puntos de acceso funcionando simultáneamente (cada uno con su nombre de red y respectiva contraseña), aunque no he probado el print ser ver, que me imagino que funcionará. Un Saludo.

Desconectado gracasola

  • **
  • Mensajes: 6
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #15 en: 24-11-2019, 19:04 (Domingo) »
Muy buenas. He estado trasteando el puerto serie del HG532s, y me llamó la atención la consola Linux. Me gustaría saber cómo se podría modificar ficheros usando el editor vi, ya que me ha sido imposible. En un principio lo más sencillo para probar fue editar un archivo html, pero era imposible, porque saltaba el aviso de partición de solo lectura. Personalmente aún no he trabajado con montaje de particiones (Estudio Ing informática), pero siguiente algún tutorial, hice un remount para que todas fueran de lectura y escritura. Luego me permitió hacer un chmod 777 sobre el fichero(haciendo la -la salen todos los permisos para todos), pero aún así salta un error con otro texto, pero que viene a decir lo mismo, que no tengo permisos. Espero me podáis ilustrar. P.D: Hablas brevemente de mtd para modificar rootfs, pero ni idea de cómo usarlo. Saludos.
« Última modificación: 24-11-2019, 19:06 (Domingo) por gracasola »

Desconectado danitool

  • **
  • Mensajes: 29
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #16 en: 25-11-2019, 11:07 (Lunes) »
Muy buenas. He estado trasteando el puerto serie del HG532s, y me llamó la atención la consola Linux. Me gustaría saber cómo se podría modificar ficheros usando el editor vi, ya que me ha sido imposible. En un principio lo más sencillo para probar fue editar un archivo html, pero era imposible, porque saltaba el aviso de partición de solo lectura. Personalmente aún no he trabajado con montaje de particiones (Estudio Ing informática), pero siguiente algún tutorial, hice un remount para que todas fueran de lectura y escritura. Luego me permitió hacer un chmod 777 sobre el fichero(haciendo la -la salen todos los permisos para todos), pero aún así salta un error con otro texto, pero que viene a decir lo mismo, que no tengo permisos. Espero me podáis ilustrar. P.D: Hablas brevemente de mtd para modificar rootfs, pero ni idea de cómo usarlo. Saludos.

Hola gracasola. En firmwares empotrados como es este caso casi siempre todo el sistema es de solo lectura, por lo que es imposible realizar modificaciones al firmware. En firmwares de fabricante solo hay un archivo que es modificable, y este es el archivo de configuración que suele hallarse al final de la memoria flash. Ni siquiera podría llamarse archivo, solo datos en bruto en la flash.

Esto es así porque el directorio root es un sistema de archivo comprimido tipo squashfs, debido al limitado tamaño disponible en la memoria flash. Además siendo de solo lectura proporciona la ventaja de tener un firmware "incorrompible" instalado. Cuando se inicia el sistema, lo que necesite linux para poder funcionar con archivos de escritura, estos simplemente se llevan o se montan en un directorio localizado en la RAM y por tanto serán datos volátiles, podremos escribir y efectuar cambios ahí pero no se conservarán.

En Openwrt también ocurre algo parecido, solo que actúa de forma más versátil, root sigue siendo de solo lectura, pero se combina con otra partición que sí es escribible "rootfs_data", y a ojos del kernel root acaba comportándose como una partición de "lectura/escritura". En este caso podemos "modificar" cualquier fichero, y los cambios se conservan en los reinicios porque la capa de montaje por encima de root así lo permite. Pero si hacemos un reset de fábrica, root vuelve al estado original ya que en realidad no se produjo ningún cambio. Esta forma de funcionar es una de las grandes ventajas de OpenWrt sobre el resto de firmwares.

Obviamente es imposible que consigamos que este firmware se parezca a OpenWrt. Y por tanto la única forma de hacer modificaciones es extraer rootfs de la flash del router en nuestro ordenador personal, hacer allí las modificaciones oportunas, volver a comprimir root en un archivo "squashfs" y finalmente flashearlo en el router.

En su día hice varias modificaciones en la partición root para el HG532s, que es la que se usa en este tutorial, entre esas modificaciones lo que hice fue incluir la utilidad mtd, para flahear root de forma cómoda desde el propio router.

Espero haber aclarado un poco del como funcionan los sistemas de archivos de estos routers, y por qué son de solo lectura.

Saludos

Desconectado gracasola

  • **
  • Mensajes: 6
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #17 en: 25-11-2019, 23:52 (Lunes) »
Muy buenas. He estado trasteando el puerto serie del HG532s, y me llamó la atención la consola Linux. Me gustaría saber cómo se podría modificar ficheros usando el editor vi, ya que me ha sido imposible. En un principio lo más sencillo para probar fue editar un archivo html, pero era imposible, porque saltaba el aviso de partición de solo lectura. Personalmente aún no he trabajado con montaje de particiones (Estudio Ing informática), pero siguiente algún tutorial, hice un remount para que todas fueran de lectura y escritura. Luego me permitió hacer un chmod 777 sobre el fichero(haciendo la -la salen todos los permisos para todos), pero aún así salta un error con otro texto, pero que viene a decir lo mismo, que no tengo permisos. Espero me podáis ilustrar. P.D: Hablas brevemente de mtd para modificar rootfs, pero ni idea de cómo usarlo. Saludos.

Hola gracasola. En firmwares empotrados como es este caso casi siempre todo el sistema es de solo lectura, por lo que es imposible realizar modificaciones al firmware. En firmwares de fabricante solo hay un archivo que es modificable, y este es el archivo de configuración que suele hallarse al final de la memoria flash. Ni siquiera podría llamarse archivo, solo datos en bruto en la flash.

Esto es así porque el directorio root es un sistema de archivo comprimido tipo squashfs, debido al limitado tamaño disponible en la memoria flash. Además siendo de solo lectura proporciona la ventaja de tener un firmware "incorrompible" instalado. Cuando se inicia el sistema, lo que necesite linux para poder funcionar con archivos de escritura, estos simplemente se llevan o se montan en un directorio localizado en la RAM y por tanto serán datos volátiles, podremos escribir y efectuar cambios ahí pero no se conservarán.

En Openwrt también ocurre algo parecido, solo que actúa de forma más versátil, root sigue siendo de solo lectura, pero se combina con otra partición que sí es escribible "rootfs_data", y a ojos del kernel root acaba comportándose como una partición de "lectura/escritura". En este caso podemos "modificar" cualquier fichero, y los cambios se conservan en los reinicios porque la capa de montaje por encima de root así lo permite. Pero si hacemos un reset de fábrica, root vuelve al estado original ya que en realidad no se produjo ningún cambio. Esta forma de funcionar es una de las grandes ventajas de OpenWrt sobre el resto de firmwares.

Obviamente es imposible que consigamos que este firmware se parezca a OpenWrt. Y por tanto la única forma de hacer modificaciones es extraer rootfs de la flash del router en nuestro ordenador personal, hacer allí las modificaciones oportunas, volver a comprimir root en un archivo "squashfs" y finalmente flashearlo en el router.

En su día hice varias modificaciones en la partición root para el HG532s, que es la que se usa en este tutorial, entre esas modificaciones lo que hice fue incluir la utilidad mtd, para flahear root de forma cómoda desde el propio router.

Espero haber aclarado un poco del como funcionan los sistemas de archivos de estos routers, y por qué son de solo lectura.

Saludos
Buenas danitool.
La verdad me aclaraste bastante. He extraido la parte de rootfs del firmware, y despues de varios intentos la consegui descomprimir con sasquatch. El problema está en que despues de la modificación no he conseguido volver a comprimirla correctamente. Usando la version 3.0 de squashfs (que es la que tu usaste entonces), el problema es que la compresion lzma no viene por defecto como opcion. Aunque me descargue algunas utilidades con lzma https://github.com/mirror/firmware-mod-kit, ninguna me sirvió. Probe el "squashfs-3.2-r2-hg612-lzma" entre otros, obteniendo un archivo con las siguientes caracteristicas (en esta prueba solo descomprimí y volví a comprimir el mismo contenido):
"Squashfs filesystem, big endian, version 3.0, size: 5920862 bytes, 559 inodes, blocksize: 65536 bytes, created: 2019-11-25 21:53:08", en comparación con el tuyo:
"Squashfs filesystem, big endian, version 3.0, size: 5917513 bytes, 559 inodes, blocksize: 65536 bytes, created: 2018-12-04 20:15:22"
Aun así flasheandolo con la utilidad mtd, provoca errores de descompresión, teniendo que flashear de nuevo desde el bootloader. Espero me puedas ayudar, en este tema que considero interesante.
Un saludo.
EDITO: Ya consegui comprimir rootfs, miré en todas las carpetas menos en la mas obvia.
« Última modificación: 26-11-2019, 10:52 (Martes) por gracasola »

Desconectado pajarraco

  • **
  • Mensajes: 3
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #18 en: 01-12-2019, 21:08 (Domingo) »
Buenas y santas Danitool
Que magnifico aporte, no puedo creer haberle dado una segunda vida a este router que estaba juntando polvo en un cajón.
Tengo una duda... es posible conectar este router (ahora tplink) como cliente, a un AP con internet (cuya IP sea 192.168.0.1, por ej) y "rutear" a los puertos ethernet, para conectar mediante red cableada una computadora por ej.

Se que esto es muy fácil con Openwrt, pero no lo he conseguido con este router activando WDS.
Tal vez mediante comandos Telnet o modificando el rootfs se pueda lograr, pero no se ni como buscar la respuesta en google.
Saludos.

Desconectado danitool

  • **
  • Mensajes: 29
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #19 en: 02-12-2019, 00:28 (Lunes) »
Buenas y santas Danitool
Que magnifico aporte, no puedo creer haberle dado una segunda vida a este router que estaba juntando polvo en un cajón.
Tengo una duda... es posible conectar este router (ahora tplink) como cliente, a un AP con internet (cuya IP sea 192.168.0.1, por ej) y "rutear" a los puertos ethernet, para conectar mediante red cableada una computadora por ej.

Se que esto es muy fácil con Openwrt, pero no lo he conseguido con este router activando WDS.
Tal vez mediante comandos Telnet o modificando el rootfs se pueda lograr, pero no se ni como buscar la respuesta en google.
Saludos.

Tengo anotado algún experimento de este tipo. Asumiendo que usamos el falso WDS de tplink (en realidad modo bridged client de ralink).
Código: [Seleccionar]
brctl delif br0 apcli0

iptables -t nat -A POSTROUTING -o apcli0 -j MASQUERADE
ifconfig apcli0 192.168.0.253
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1
echo 1 > /proc/sys/net/ipv4/ip_forward
no sé si funciona, lo pongo simplemente como referencia