Admin Libre - Administración de sistemas y redes

OpenWrt en TD-W9980 por puerto serie
Por Francisco Gaitán el 1 de Abril de 2022

En este tutorial voy a instalar OpenWrt un router TP Link TD-W9980 a través de la conexión serie soldando unos pines para conectar TX, RX y GND a un adaptador USB a serie basado en el chip CP2102.

Antes de usar este método intenté instalarlo a través del exploit del archivo de configuración de la página de administración, usando tanto StatPOSTer como tpconf aunque no funcionó de ninguna manera, por lo que es posible que se trate de la versión WD-W9980B.

Referencias

Herramientas necesarias

  • Cable UTP Ethernet
  • Un ordenador con servidor TFTP
  • Prolific CP2102 USB a UART
  • Cable Dupont hembra-hembra
  • Conector de hilera de pines 4x1

Adaptador USB a puerto serie RS232

Prolific CP2102 USB a serie RS232

Usaré el adaptador USB a RS232 Prolific CP2102 que es compatible con OpenBSD, muy barato y funciona perfectamente. Es el mismo que se usa para conectarse al puerto serie de la Raspberry Pi.

De aquí conectaré TXD a TX, RXD a RX y GND a GND. Es de vital importancia no conectar ningún pin de alimentación.

Procedimiento

Conexiones RX, TX y GND del CP2102 para puerto serie en el TP Link TD-W8970 v1.2

Lo primero es abrir el router quitando los cuatro tornillos de la parte trasera y haciendo palanca con cuidado en los tres extremos de cada lateral y en el frontal para sacar la carcasa. Quitando la tuerca y la arandela de cada una de las tres antenas se puede sacar completamente la placa, aunque en la página de OpenWrt dicen que hay una versión donde lleva una parte pegada. En la foto indico donde hay que conectar los pines TX, RX y GND del CP2102; en realidad en la placa TX y RX están cambiados ya que la conexión es cruzada.

Es muy recomendable soldar una hilera de pines con separación de 2.54mm en vez de soldar cables directamente.

Conexión de los pines TX, RX y GND de la placa al CP2102

Con estos tres pines conectados usando los cables Dupont hembra-hembra y el CP2102 conectado al ordenador se enciende el router con su alimentador y, si todo es correcto, si ya estás conectado a la consola se verá arrancar u-boot.

Para ello usaré el programa cu(1) (para Linux está Minicom) de esta forma, añadiendo previamente al usuario al grupo dialer para no necesitar root:

$ cu -s 115200 -l cuaU0

Servidor TFTP

Ahora configuro un servidor TFTP en un ordenador con IP 192.168.1.2 que va conectado por cable UTP al puerto LAN1 del router. Para ello uso tftpd(8), creando previamente un directorio con la imagen que se va a enviar al router:

# mkdir /var/tftproot
# cp openwrt-21.02.2-lantiq-xrx200-tplink_tdw8980-squashfs-sysupgrade.bin /var/tftproot/openwrt-tdw8980.bin
# tftpd /var/tftproot

Instalación de OpenWrt

Con todo conectado, nada más encender el router empezará a arrancar u-boot y se verá por la consola. Hay que interrumpir el arranque pulsando la tecla \'t\'t para llegar a una línea de comandos donde, siguiendo las instrucciones de OpenWrt, hay que poner estos comandos:

VR9 # setenv ipaddr 192.168.1.1
VR9 # setenv serverip 192.168.1.2
VR9 # tftp $(loadaddr) openwrt-tdw8980.bin
VR9 # sf erase 0x20000 0x7a0000
VR9 # sf write $(loadaddr) 0x20000 0x$(filesize)
VR9 # reset

Una vez hecho esto, al cabo de unos minutos habrá arrancado OpenWrt y estará escuchando en la dirección IP 192.168.1.1.

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org