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

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado gracasola

  • **
  • Mensajes: 11
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #40 en: 28-10-2020, 13:07 (Miércoles) »
Muy buenas.

Quería preguntar si alguien sabe si con este firmware de TP es posible usar el GPIO en el HG-532S, ya que he buscado mucho pero solo veo alguna posibilidad usando OpenWRT que en este caso, no es viable. Si alguien ha probado otro firm con el que le funcione GPIO me vale también.

Un saludo.

P.D: Le pregunto en especial a @danitool por que se que el ha estado muy metido en este tema de GPIO en routers.


Hola @gracasola. En teoría sí, es posible controlar los GPIOs con el firmware de Tplink. Si no me equivoco el firmware que adjunté debería llevar la utilidad devmem2 incorporada, con esta utilidad se pueden modificar los registros del procesador.



Entonces lo que hay que conocer es:
  • En que dirección están los registros de los GPIOs para este SoC particular, tanto para colocarlos como outputs como para modificar su valor
  • Donde hay GPIOs disponibles en la placa

No tengo respuesta respecto a estos dos puntos.

Además estaría el tema de los pinmux si los hubiese habría que colocarlos para que funcionen como GPIOs, algo improbable si está el GPIO libre en la placa. Puede que los LEDs lleven algún tipo de pinmux, pero no estoy seguro.

Añado, aquí están las posibles direcciones de los gpios que encontré en un archivo que tenía apartado (tc3162.h)

Código: [Seleccionar]
/*************************
 * GPIO Module Registers *
 *************************/
#define CR_GPIO_BASE        0xBFBF0200
#define CR_GPIO_CTRL     (CR_GPIO_BASE + 0x00)
#define CR_GPIO_DATA     (CR_GPIO_BASE + 0x04)
#define CR_GPIO_INTS      (CR_GPIO_BASE + 0x08)
#define CR_GPIO_EDET     (CR_GPIO_BASE + 0x0C)
#define CR_GPIO_LDET        (CR_GPIO_BASE + 0x10)
#define CR_GPIO_ODRAIN      (CR_GPIO_BASE + 0x14)
#define CR_GPIO_CTRL1     (CR_GPIO_BASE + 0x20)

#define GPIO_IN 0x0
#define GPIO_OUT 0x1
#define GPIO_ALT_IN 0x2
#define GPIO_ALT_OUT 0x3

#define GPIO_E_DIS 0x0
#define GPIO_E_RISE 0x1
#define GPIO_E_FALL 0x2
#define GPIO_E_BOTH 0x3

#define GPIO_L_DIS 0x0
#define GPIO_L_HIGH 0x1
#define GPIO_L_LOW 0x2
#define GPIO_L_BOTH 0x3

no sé si son los correctos para este SoC

Muchas gracias. La verdad que nunca he trabajado con este tipo de código a tan bajo nivel (ni tampoco he usado devmem2, claro) , pero agradezco tu dedicación. Aun así, he encontrado en el firmware del router asus que pasaste hace tiempo, un fichero "ledcetrl.c" https://drive.google.com/file/d/1whdKQnJOBC9M09o4oXvwjvL7FhevLGw-/view?usp=sharing que podría ser muy interesante. Este fichero usa el header tc3162.h que antes mencionaste. Lo de ubicar los pins ya sería cosa a parte, pero yo empezaría por intentar encender alguno de los led de estado que ya hay para ver si lo consigo.

Gracias @danitool por tu sabiduría.



Desconectado gracasola

  • **
  • Mensajes: 11
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #41 en: 24-11-2020, 14:41 (Martes) »
Buenas tardes compañeros,

Quería saber si alguien ha intentado correr OpenVPN (como cliente) en este router (con el firmware de Tplink). Tengo una versión compilada (2.3.2) que es la que incluyen los fuentes del router asus que tiene el mismo procesador (y que ha sido anteriormente mencionado en el hilo). El caso es que consigo arrancar OpenVPN, meter el archivo de configuración y todo ok. Me sale un aviso de que la configuración se aplicó correctamente, y seguidamente el router se reinicia abruptamente. Revisando la consola serie, antes de reiniciarse se da un aviso de que se intenta acceder a la dirección virtual de memoria 0x000000 (todo 0's). He probado también con otra versión más reciente (2.4 aprox) y pasa lo mismo. Si alguien tiene algo probado, sea con este vpn u otro agradecería su ayuda.

Un saludo.

P.D: OpenVPN (2.3.2) compilado y el modulo tun.ko necesario https://drive.google.com/drive/folders/1QKqXMUkVCH7behYqMLq8gcsi-aGcrCpn?usp=sharing

Desconectado Tki2000

  • *******
  • Mensajes: 2203
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #42 en: 27-11-2020, 07:48 (Viernes) »
Si el kernel no ha sido compilado con la opción de inyectar el módulo, por mucho que lo intentes no va a funcionar.
Para inyectar un módulo en el kernel, éste tiene que haber sido compilado con esa opción a priori.
Y dudo que el kernel de TP-Link haya sido compilado con esa opción...

Desconectado gracasola

  • **
  • Mensajes: 11
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #43 en: 30-11-2020, 20:41 (Lunes) »
No había considerado esa opción, pero el caso es que busybox si que contiene insmod y no reporta ningún error al insertar el módulo. Entiendo que si el kernel no soportase esta operación, sería aquí donde se lanzase el fallo. Además en openvpn sin el módulo se avisa de que falta dicho componente, y una vez insertado, se ejecuta hasta el final correctamente (justo después casca).

Edito:Los modulos de kernel se pueden insertar perfectamente y funcionan
« Última modificación: 07-12-2020, 00:02 (Lunes) por gracasola »

Desconectado chonanaraul

  • **
  • Mensajes: 1
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #44 en: 13-01-2021, 18:50 (Miércoles) »
 :-\ Hola a todos una búsqueda incansable me trajo aquí, de hecho he estoy intentando realizar el tutorial tanto en Windows como en Ubuntu y no doy con el ripeo del backup, alguien me puede ayudar con un tutorial sobre eso. Estaría muy agradecido

Desconectado AGRESSOR-22

  • **
  • Mensajes: 1
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #45 en: 27-08-2021, 06:29 (Viernes) »
saludos alguien me ayuda mes sale esto en la consola
Traceback (most recent call last):
  File "rt63365tool.py", line 27, in <module>
    import serial
tras ejeutar el primer comando gracias de antemano

Desconectado shareator

  • **
  • Mensajes: 7
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #46 en: 22-10-2021, 15:03 (Viernes) »
Hola buen dia, antes q nada "tremendo" tutorial muchicimas gracias por compartir.
Tengo 2 HG532s de Movistar Argentina (ex Telefonica) y no hay caso, supongo que
el firm capado es el culpable (no permite borrar desde el menu admin las interfaces WAN).
Tengo un cpu con W7x64 , la interface q uso es CH341A en TTL y probe con
Putty, Teraterm & Hyperterminal y con los tres llego hasta el boot menu
pero no logro hacer el backup, llego hasta bldr>

RT63365 at Tue Aug  7 00:24:30 CST 2012 version 0.8

Memory size 32MB

Found SPI Flash 8MiB S25FL064A at 0xb0000000

Press any key in 3 secs to enter boot command mode.
Search PHY addr and found PHY addr=0
..........................................................
bldr> python2 rt63365tool.py --read=hg532sfull.bin --addr=0xB0000000 --size=0x800000 --block=0x10000
Undefined Exception happen.CP0_STATUS=1000ff03
CP0_CAUSE=40001808
CP0_EPC=81fb0400
CP0_BADVADDR=0

Undefined Exception happen.CP0_STATUS=1000ff03
CP0_CAUSE=40001810
CP0_EPC=81fb0400
CP0_BADVADDR=81fc7ec1

 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

El archivo rt63365tool.py lo situe dentro de las carpetas respectivas de putty, tera & hyper, a su ves
doy por sentado que tendria que recibir la imagen del firm con el nombre hg532sfull.bin dentro de la misma
para poder continuar con el tuto.
Leyendo los comandos dentro de bldr> help probe con
"memr --addr=0xB0000000 --size=0x800000 --block=0x10000" y tambien se queda en
Undefined Exception happen.CP0_STATUS=1000ff03
CP0_CAUSE=40001808
CP0_EPC=81fb0400
CP0_BADVADDR=0

Undefined Exception happen.CP0_STATUS=1000ff03
CP0_CAUSE=40001810
CP0_EPC=81fb0400
CP0_BADVADDR=81fc7ec1

 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

Mil gracias de antemano por su ayuda



Desconectado shareator

  • **
  • Mensajes: 7
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #47 en: 22-10-2021, 15:07 (Viernes) »
Existe un comando simple para hacer la imagen del firm (backup)? sin cargar el rt63365tool.py? Gracias!!!
Lectura si dejo q bootee

RT63365 at Tue Aug  7 00:24:30 CST 2012 version 0.8

Memory size 32MB

Found SPI Flash 8MiB S25FL064A at 0xb0000000

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

Dual image enable=0
Booting kernel..
kernel check pass
Decompress from flash B0030100 to memory 80002000
Uncompressing [LZMA] ... LzmaDecode eee ...  done.
decompress ok!
Linux version 2.6.21.5 (shupingfen@whg) (gcc version 4.3.4 (GCC) ) #12 Tue Aug 7                                                              00:27:11 CST 2012
ISPRAM0: PA=00250000,Size=00008000,enabled
Enable SRAM=1c000001
Config7: 0x80080500
Ralink RT63365 SOC prom init
CPU revision is: 00019555
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
Built 1 zonelists.  Total pages: 8128
Kernel command line: console=ttyS0 rootfstype=squashfs panic=1 es=1
1 MIPSR2 register sets available
Primary instruction cache 64kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, linesize 32 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
Cache parity protection disabled
PID hash table entries: 128 (order: 7, 512 bytes)
CPU frequency 498.00 MHz
Using 250.000 MHz high precision timer.
Linux version 2.6.21.5 (shupingfen@whg) (gcc version 4.3.4 (GCC) ) #12 Tue Aug 7                                                              00:27:11 CST 2012
ISPRAM0: PA=00250000,Size=00008000,enabled
Enable SRAM=1c000001
Config7: 0x80080500
Ralink RT63365 SOC prom init
CPU revision is: 00019555
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
Built 1 zonelists.  Total pages: 8128
Kernel command line: console=ttyS0 rootfstype=squashfs panic=1 es=1
1 MIPSR2 register sets available
Primary instruction cache 64kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, linesize 32 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
Cache parity protection disabled
PID hash table entries: 128 (order: 7, 512 bytes)
CPU frequency 498.00 MHz
Using 250.000 MHz high precision timer.
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 29104k/32768k available (2388k kernel code, 3664k reserved, 683k data, 1                                                             40k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
RT63365_pcie_init
registering PCI controller with io_map_base unset
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Bridge: 0000:00:00.0
  IO window: disabled.
  MEM window: 20000000-200fffff
  PREFETCH window: disabled.
Sangoma WANPIPE Router v1.1 (c) 1995-2000 Sangoma Technologies Inc.
NET: Registered protocol family 8
NET: Registered protocol family 20
NET: Registered protocol family 2
Time: MIPS clocksource has been installed.
IP route cache hash table entries: 128 (order: -3, 512 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
TC3162 hardware watchdog module loaded.
squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher
squashfs: LZMA suppport for slax.org by jro
fuse init (API version 7.8)
io scheduler noop registered (default)
ttyS0 at I/O 0xbfbf0003 (irq = 1) is a TC3162
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
PPP generic driver version 2.4.2
NET: Registered protocol family 24
IMQ starting with 3 devices...
IMQ driver loaded successfully.
        Hooking IMQ before NAT on PREROUTING.
        Hooking IMQ after NAT on POSTROUTING.
tc3162: Found SPIFLASH 8MiB S25FL064A
Creating 4 MTD partitions on "tc3162":
0x00000000-0x00010000 : "boot"
0x00010000-0x00011000 : "flag"
mtd: partition "flag" doesn't end on an erase block -- force read-only
0x00030000-0x0014011e : "main"
mtd: partition "main" doesn't end on an erase block -- force read-only
0x0014011e-0x0050d11e : "mainfs"
mtd: partition "mainfs" doesn't start on an erase block boundary -- force read-o                                                             nly
RT3xxx EHCI/OHCI init.
rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 1
rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x1fbb0000
rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice

etc... Existe un comando simple para hacer la imagen del firm (backup)? sin cargar el rt63365tool.py? Gracias!!!

Desconectado danitool

  • ****
  • Mensajes: 66
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #48 en: 25-10-2021, 11:24 (Lunes) »
bldr> python2 rt63365tool.py --read=hg532sfull.bin --addr=0xB0000000 --size=0x800000 --block=0x10000

El comando hay que ejecutarlo desde una máquina con linux donde conectas el adaptador serie al router, no desde el propio router

Desconectado shareator

  • **
  • Mensajes: 7
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #49 en: 25-10-2021, 17:03 (Lunes) »
Muchas gracias por la pronta respuesta, voy a intentar probar con archlinux en un pendrive Current Release: 2021.10.01
Included Kernel: 5.14.8 (lei q lo ultizaste para el bc de orange), putty-0.76.tar.gz y estoy buscando
como utilizar el CH341a en TTL para linux (no se si lo toma automaticamente o tengo q descargar un driver)
pero creo q esto me supera ampliamente linux hace años q ni lo miro...
¿Desolando la flash S25FL064A y haciendo el back up directamente; obtengo el mismo resultado que ejecutando el
rt63365tool.py bajo linux por interface TTL(el mismo archivo .bin)? O necesita si o si estar en la placa junto SoC RT63365?
Me estoy imaginado que seria mas simple desoldar la memo, q usar linux; Salu2! desde Argentina y nuevamente muchas gracias
por su tiempo y cualquier tipo de ayuda. 

Desconectado danitool

  • ****
  • Mensajes: 66
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #50 en: 25-10-2021, 20:03 (Lunes) »
Muchas gracias por la pronta respuesta, voy a intentar probar con archlinux en un pendrive Current Release: 2021.10.01
Included Kernel: 5.14.8 (lei q lo ultizaste para el bc de orange), putty-0.76.tar.gz y estoy buscando
como utilizar el CH341a en TTL para linux (no se si lo toma automaticamente o tengo q descargar un driver)
pero creo q esto me supera ampliamente linux hace años q ni lo miro...
¿Desolando la flash S25FL064A y haciendo el back up directamente; obtengo el mismo resultado que ejecutando el
rt63365tool.py bajo linux por interface TTL(el mismo archivo .bin)? O necesita si o si estar en la placa junto SoC RT63365?
Me estoy imaginado que seria mas simple desoldar la memo, q usar linux; Salu2! desde Argentina y nuevamente muchas gracias
por su tiempo y cualquier tipo de ayuda.

Desoldar la flash y hacer un backup obtienes el mismo resultado.

Aconsejo hacerlo sin desoldar. es menos engorroso y más limpio. Cualquier distro linux debería reconocer tu adaptador automáticamente, el único requisito es que venga con python2, cosa bastante habitual. El comando necesita privilegios de root, así que o bien te logueas como root o usas el comando sudo. Además no hay que conectar ningún otro software serie, ni putty ni similares, ya que el script requiere uso exclusivo.

Desconectado shareator

  • **
  • Mensajes: 7
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #51 en: 02-11-2021, 00:29 (Martes) »
Logre instalar y hacer correr Antix en VirtualBox y copie el archivo rt63365tool.py en el escritorio de antix,
tambien me toma el CH341a como "1A86:5523 [0304]"
Q programa o consola o cosa (perdon lo ignorante pero 0 linux); tengo q ejecutar para usar el rt63365tool.py?
y q sentencia tendria q poner, seria por ejemplo:
"sudo python2 rt63365tool.py --read=hg532sfull.bin --addr=0xB0000000 --size=0x800000 --block=0x10000"?
Salul2! y muchas gracias nuevamente por el apoyo

Desconectado shareator

  • **
  • Mensajes: 7
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #52 en: 05-11-2021, 15:50 (Viernes) »
Muchas gracias "danitool" finalmente logre hacer el backup!!! se puede cambiar la direccion MAC WIFI? es la misma de la WAN solo cambian los dos ultimos digitos, MAC ROUTER xx:xx:xx:xx:xx:1B ; MAC WIFI xx:xx:xx:xx:xx:24. Salu2! y muchisimas gracias nuevamente.

Desconectado danitool

  • ****
  • Mensajes: 66
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #53 en: 07-11-2021, 17:19 (Domingo) »
Muchas gracias "danitool" finalmente logre hacer el backup!!! se puede cambiar la direccion MAC WIFI? es la misma de la WAN solo cambian los dos ultimos digitos, MAC ROUTER xx:xx:xx:xx:xx:1B ; MAC WIFI xx:xx:xx:xx:xx:24. Salu2! y muchisimas gracias nuevamente.

Si quieres hacerlo de forma permanente en el paso 4:
Citar
4. 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

Aquí colocas la MAC que quieras.

Ignoro si existe otra forma de hacerlo mediante el firmware original. Con línea de comandos también se podría pero se perdería en cada reinicio.

Desconectado shareator

  • **
  • Mensajes: 7
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #54 en: 08-11-2021, 00:17 (Lunes) »
Tambien cambia la MAC WIFI?" echo -ne \\x00\\x11\\x22\\x33\\x44\\x55 | dd of=tplinkfull.bin bs=1 seek=$((0x7DF100)) conv=notrunc"
Compare con WinMergeU los firmware resultantes con la MAC editada original y poniendo otra,  y la unica diferencia esta en la MAC WAN y cambia "P>ªp.v" por "4kÓ.q." (con ese valor distinto cambia la MAC WIFI?)
En donde esta la direccion MAC WIFI se ven los mismos valores WIFI. Salu2! y gracias de antemano.

Desconectado shareator

  • **
  • Mensajes: 7
Re:[HG532s] Cambio a firmware Tplink con función repetidor
« Respuesta #55 en: 17-11-2021, 13:14 (Miércoles) »
Alguien tiene idea si cambia la MAC inalambrica, o si se puede cambiar??? Aguardo hace rato ansiosamente respuesta para grabar el firmware. Salu2! y muchas gracias de antemano por su tiempo.