OpenWrt Forum Archive

Topic: [Solved] TP-LINK Archer C7 UART <> MAX3232 problem (no RX)

The content of this topic has been archived on 12 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello,

I'm trying to connect from a serial port (Avocent ACS6016 serial console server) to the serial UART of my TP-LINK Archer C7 v2.0 via a MAX3232 adapter.

TX from the router works. I can see the boot messages. RX doesn't. It doesn't receive my input.

The cabling looks like this:
ACS6016 RJ45 <> DB9 MAX3232 UART <> Archer C7 UART

I tried it with two C7 routers, with different cables and with different MAX3232 adapters. The result is always the same.

I also got an old TP-LINK TL-WR1043ND (v1.5) and a Raspery Pi 2 connected to the console server via MAX3232 adapters. They both work fine.

Any idea why the serial connection with the C7 won't work with a MAX3232 adapter? Using an USB UART cable works.


Regards,
Bernd

(Last edited by DerBernd on 24 Aug 2015, 20:20)

Long shot. How about hardware handshake?

Hi Mijzelf, thanks for the reply.

As far as I understood hardware handshake is not possible with this cabling, so I disabled flow control.

BTW, this is the port config on the applicance:

--:- / cli-> list_configuration ports/serial_ports/3/
echo off
cd /ports/serial_ports
set_cas 3
set enable_cisco_rj45_pin-out=no
set status=enabled
set speed=115200
set parity=none
set data_bits=8
set stop_bits=1
set flow_control=none
cd cas
set port_name=p3
set enable_auto_discovery=no
set enable_speed_auto_detection=no
set protocol=telnet|ssh|raw_mode
set authentication_type=none
set text_session_hot_key=^Z
set power_session_hot_key=^P
set telnet_port_alias=2303
set ssh_port_alias=2203
set raw_mode_port_alias=9903
set port_ipv4_alias=10.11.12.13
set port_ipv4_alias_interface=eth0
#set port_ipv6_alias=
set port_ipv6_alias_interface=eth0
set dcd_sensitivity=no
set enable_auto_answer=no
set dtr_mode=normal
set dtr_off_interval=100
set line_feed_suppression=disabled
set null_after_cr_suppression=disabled
set transmission_interval=20
set break_sequence=~break
set break_interval=500
set show_multi-session_menu=disabled
set log_in|out_multi_session_notification=disabled
set informational_message_notification=enabled
cd data_buffering
set status=disabled
set type=local
set time_stamp=disabled
set login|logout_message=disabled
set serial_session_logging=enabled
cd alerts
delete -
add
#set alert_string=
#set script=
next
disable_alerts
cd power
delete -
save --cancelOnError
echo on
commit

Hello,

check loop connection.
TX and RX from your DB9 uart.

Hi elektroman,

good suggestion. This way I can exclude the cabling and the console server behind the MAX3232 adapter.

I checked the connection with 'screen /dev/ttyS0' in one session and 'echo foo > /dev/ttyS0' in another.

When I connect RX-TX directly on the router board it works, when I connect the MAX3232 adapter with a loopback plug it doesn't work.

Also I checked successfully the functionality of the MAX3232/loopback with the WR1043ND.

These are the MAX3232 adapters I have:
- http://www.ebay.de/itm/111327078809
- http://www.ebay.de/itm/201006697094
- http://www.ebay.de/itm/400927383811

...just compared the voltage between some pins with the Archer C7 / WR1043ND.

C7: GND / VCC: ~3.3 V
C7: GND / TXD: ~2.5 V
C7: TXD / VCC: ~0.7 V

MAX3232 TXD / C7 GND: ~3.0V

WR: GND / VCC: ~3.3 V
WR: GND / TXD: ~3.3 V
WR: TXD / VCC: -

Some values are different, but I don't know the implications...

Normaly you don't need to connect VCC/3.3V
.

But I don't know about the MAX3232 ...

Ahh, reading the datasheet

http://pdfserv.maximintegrated.com/en/d … AX3241.pdf
remembering "old" days

This device needs VCC/3.3V for it's own power supply. 3V is min.
for generating the needed voltage levels trough the charge pump.

So for a loopback test you need to connect VCC/3.3V and GND to your router for power supply
And then connect the TX and RX cables from your MAX232 board.

i.e. with
picocom -b 115200 /dev/ttyS0
you will see your "echoed" characters as you typed them.

I took some resistors and did some trial-and-error.

After placing a 470 ohms resistor between VCC and RxD the connection started working in both ways.

I'll go on and buy some higher resistors for testing. At the moment the next higher resistor I got is 3.3k ohms, but that already seems to be too high.

...the connection works with a resistor between VCC and RxD with up to 1k ohms.

The discussion might have continued from here.