WRT54GL |
Hace días me realizaron una consulta sobre conectar un router mediante un adaptador serial, en el post de PL-2303HX USB-to-Serial Comm Port así que decidí hacer la prueba, desempolve el WRT54GL para validar el adaptador.
Luego de abrir el router y adicionarle unos pines para poderlo conectar, tal como lo indica la wiki de DD-WRT (WRT54GL MAX232 Serial).
Pines - WRT54GL |
Realice la conexión con este adaptador PL-2303HX, pero NO ME FUNCIONO, por suerte tenia otro adaptador el CH340 y con este funciono de forma parcial ver imagen mas adelante. Encontré que el adaptador debe necesitar ser TTL a 3.3V o en ingles: "You NEED a level shifting 3.3v TTL serial adapter." ya que la conexión serial es TTL a 3.3V y al parecer el otro adaptador no puede "leer" este tipo de señales. El adaptador PL-2303HX solo me ha funcionado para programar Arduino-Compatible como el ESP8266.
- Adaptador USB - GND a GND router
- Adaptador USB - TX a RX router
- Adaptador USB - RX a TX router
Conexión - CH340 |
Conexión - CH340 |
La conexión se realizo con Putty usando Windows 7:
Administrador de dispositivos |
Consola de Putty |
Aunque el texto no es entendible, el adaptador funciona de forma parcial, lo que he encontrado, es que se debe usar un mejor adaptador, por el momento no tengo otro.
Adaptador CH340:
Update - 2020-03-10
Se ha logrado ver la consola:
Arranque WRT54GL |
Dado que no he conseguido un adaptador que funcione bien, decidi hacer un puente con un NodeMCU - esp8266, el cual usa una libreria SoftwareSerial para usar dos pinout de la placa para tener el Rx y Tx.
Puente PC-WRT54GL |
Codigo usado en la prueba: adaptadorSerial.ino
#include
SoftwareSerial softSerial(13, 15);
void setup() {
// put your setup code here, to run once:
// start the serial connection
Serial.begin(115200);
// wait for serial monitor to open
while (! Serial);
Serial.println();
Serial.print("[AdpatadorSerial] ");
Serial.print("Iniciando softSerial ");
softSerial.begin(115200, SWSERIAL_8N1);
Serial.println();
}
void loop() {
// put your main code here, to run repeatedly:
if (softSerial.available() > 0) {
Serial.write(softSerial.read());
}
if (Serial.available()) {
softSerial.write(Serial.read());
}
}
Notas y referencias:
- https://wiki.dd-wrt.com/wiki/index.php/Serial_Recovery
- https://wiki.dd-wrt.com/wiki/index.php/WRT54GL_MAX232_Serial
- https://andrexweb.blogspot.com/2016/11/pl-2303hx-usb-to-serial-comm-port.html
- Firmware: DD-WRT v24-sp2 (08/12/10) std
- ESP8266 two serial ports with SoftwareSerial library
No hay comentarios:
Publicar un comentario