Input from Keyboard Not Working

Hey All,

I bricked a TP LINK/Archer C60 V3.

Went in via UART/Serial and I can see the output when powering up (see below).

U-Boot 1.1.4-g402e8420-dirty (Nov 13 2020 - 10:37:28)

ap151 - Dragonfly 1.0

DRAM:  64 MB
Top of RAM usable for U-Boot at: 84000000
Reserving 120k for U-Boot at: 83fe0000
Reserving 32832k for malloc() at: 81fd0000
Reserving 44 Bytes for Board Info at: 81fcffd4
Reserving 36 Bytes for Global Data at: 81fcffb0
Reserving 128k for boot params() at: 81faffb0
Stack Pointer at: 81faff98
Now running in RAM - U-Boot at: 83fe0000
Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x17
flash size 8MB, sector count = 128
Flash:  8 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ath_gmac_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
ath_gmac_enet_initialize: reset mask:c02200
Dragonfly----> S27 PHY *
: cfg1 0x80000000 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
athrs27_phy_setup ATHR_PHY_CONTROL 4 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 4 :10
eth0 up
ATHRS27: resetting s27
ATHRS27: s27 reset done
: cfg1 0x800c0000 cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs27_phy_setup ATHR_PHY_CONTROL 0 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 0 :10
athrs27_phy_setup ATHR_PHY_CONTROL 1 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 1 :10
athrs27_phy_setup ATHR_PHY_CONTROL 2 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 2 :10
athrs27_phy_setup ATHR_PHY_CONTROL 3 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 3 :10
eth1 up
eth0, eth1
Setting 0x181162c0 to 0x82
Hit any key to stop autoboot:  0
## Booting image at 9f030000 ...
Bad Magic Number
ath>

Unfortunately, I can't send any commands to the device at this point. I've tried changing flow control settings with no luck. I'm using an FTDI USB to Serial connection.

Any advice on how to be able to send keystrokes to this would be very much appreciated.

Thank You!

  • To be clear, did you try at this point - before the countdown to 0 here?

Did you see at https://openwrt.org/toh/tp-link/archer_c60_v2#installation -

Interrupt boot during Autoboot delay. You only have 1 second to type “tpl” to get Ath> prompt. Reboot router until you get Ath> Uboot prompt.

  • Are you sure that TX is connected to the proper RX pin on the router?

Hardware too (I asked because on some serial software this is in another location)?

  • To be clear, did you try at this point - before the countdown to 0 here?

Yes

Yes -- If you look at my posted log, the Ath> prompt displays...I just can't type anything into it.

  • Are you sure that TX is connected to the proper RX pin on the router?

Yes. I'm getting output from the JTAG port, which is how I posted the log. However, I can't type anything into the Ath> prompt once it's displayed.

  • Hardware too (I asked because on some serial software this is in another location)?

Yep, Hardware too.



On the USB to Serial cable, I checked the voltage levels coming out of it and going into the JTAG interface. I also verified that there is a voltage shift on the Tx line when I press a key on my keyboard. So that seems to be working properly, but none of the characters selected on my keyboard are being displayed on the interface screen. I'm wondering if the Rx port/pin on the JTAG interface is dead...

Yes, but the instructions also say this appears after successful input, I hope you understand the confusion.

You mean Serial, correct?
(JTAG and Serial are different things)

I connected the Rx and Tx lines on the serial cable, and it's fine. When I type, it's echoed back into the SSH serial window.

Why would the JTAG on the board NOT accept input?

Thank You.

I apologize if I wasn't clear. I want to verify you're discussing the serial and not the JTAG port. You need to be connected to serial since you are using a serial cable.

If you are connected to serial properly, then the physical connection should be OK.

To be clear on the parameters, see: https://openwrt.org/toh/tp-link/archer_c60_v2#serial

I don't see an exposed JTAG anyways, so that should be OK. Otherwise, I see nothing else that could be an issue - maybe others can look.

TX<>RX
RX<>TX
Ground <> Ground

(Vcc is not usually connected. I have a similar adapter, but mine is operated by a 5 V external connector.)

You need to me running a serial terminal emulator like minicom in Linix - or PuTTY or TeraTerm in Windows, connected to the COM port your TTL Serial adapter is on. I just want to verify SSH wasn't the protocol in use - and that you are actually using a program connected to the serial line.

There a way to open two Linux terminals to:

  • look at the serial line
  • send commands to the serial line

but that's more difficult than a program like minicom.

My apologies. I used the wrong term/s.

I'm using the serial port, and using Putty. With Putty as my emulator, I connected the Rx and Tx wires of my USB to Serial cable, and it echoes my keystrokes within the Putty window. So, I know my cable and Putty are working.

When I connect the USB to Serial cable to the serial port, I'm able to get output to the Putty terminal, but I can't send commands to the serial port...again, I tested the cable in the manner above (as well as with a Multimeter), and it's working.

It seems to me that the serial Rx pin/connector isn't working.

Make sure that R9 is in place next to the serial pins. Many TP-Link have a resistor missing that breaks the circuit from the RX pin to the CPU. A resistance of zero ohms (a jumper wire) is acceptable to make it work.

2 Likes

The instructions imply you had to solder this yourself. Have you rechecked and made sure the RX solder/connection doesn't touch TX or ground?

Note that in this photo, there is a header soldered to the PCB to facilitate serial connection. Factory units do not have this header installed.

Be sure to check the RX circuit is intact as noted too.

The R9 is in place. However, I believe it's completely open. I jumped from the Rx port to the PCB side of R9 and I'm able to type.

Next up is figuring out how to install functional firmware.

Thanks All!

1 Like

It's hard to see; but that means R9 grounds RX, you short circuited it...

Interesting.

R9 looks empty to me, those are just receivers for a mini-size resistor or jumper...but the wiring in the circuit also differs from the Wiki (a grey wire covers it, but I don't see PCB "wiring" between R9 and R10 in the Wiki as your pic displays - additionally, the Vcc lead comes from another angle as well).

Glad you got it working, keep it there!

EDIT: assuming the same orientation

I can't seem to figure out the network piece. There are inconsistencies on the eth1 status between u-boot and when I run the tftpboot command.

You can see in the snippet that eth1 is "up" when u-boot runs, but when I execute tftpboot, it says eth1 is down.

Here's the snippet:



athrs27_phy_setup ATHR_PHY_CONTROL 0 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 0 :10
athrs27_phy_setup ATHR_PHY_CONTROL 1 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 1 :10
athrs27_phy_setup ATHR_PHY_CONTROL 2 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 2 :10
athrs27_phy_setup ATHR_PHY_CONTROL 3 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 3 :10
eth1 up
eth0, eth1
Setting 0x181162c0 to 0x82
Hit any key to stop autoboot: 0

Booting image at 9f030000 ...

Bad Magic Number
ath>
ath> tftpboot
Trying eth0
eth0 link down
FAIL
Trying eth1
eth1 link down
FAIL
*** Warning: no boot file name; using '0100A8C0.img'
Using eth1 device
TFTP from server 192.168.0.10; our IP address is 192.168.0.1
Filename '0100A8C0.img'.
Load address: 0x81000000
Loading: T T T T T



Any thoughts on why I'm seeing the inconsistencies, and how to get the networking link connected?

Thanks!

What inconsistencies?

  • What device is your TFTP server connected to (eth0 or 1)?
  • What device does the instructions say to use?

???

I don't see that. In any case, the boot parameters likely use 1 - I'm not sure what your concern is.

Did you remember to turn off the firewall on the device running the TFTP server?

OK. I need to take a step back.

I'm trying to do a TFTP recovery at this point.

A) I've tried launching TFTPboot from OPENWRT U-BOOT.

B) I've also tried and holding down the reset button and powering the router on.

Neither option has been successful.

Here's my setup:
I'm going direct from the PC to Router (No switch between).
I'm in eth0 (Port 1).
My PC firewall is open.

For Option A, here's the output:



ath> tftpboot
Trying eth0
eth0 link down
FAIL
Trying eth1
eth1 link down
FAIL
*** Warning: no boot file name; using '0100A8C0.img'
Using eth1 device
TFTP from server 192.168.0.10; our IP address is 192.168.0.1
Filename '0100A8C0.img'.
Load address: 0x81000000
Loading: T



For Option B, here's the output:



Trying eth0
eth0 link down
FAIL
Trying eth1
eth1 link down
FAIL
Using eth1 device
TFTP from server 192.168.0.66; our IP address is 192.168.0.86
Filename 'tp_recovery.bin'.
Load address: 0x80800000
Loading: T T ## Starting application at 0x80010000 ...

U-Boot 1.1.4-gd490e1c1-dirty (Aug 21 2019 - 18:44:04)

ap151 - Dragonfly 1.0

DRAM: 0 kB
Top of RAM usable for U-Boot at: 80000000
Reserving 402k for U-Boot at: 7ff98000
Reserving 32832k for malloc() at: 7df88000
Reserving 44 Bytes for Board Info at: 7df87fd4
Reserving 36 Bytes for Global Data at: 7df87fb0
Reserving 128k for boot params() at: 7df67fb0
Stack Pointer at: 7df67f98



In both cases, you can see links to eth0 are down. Is that because of the lack of a switch between?

Thanks!

I got it.

I needed a switch between the pc and router. Then I restarted the router while holding in the reset button.

Next issue I'm running into is space to install the openvpn client:

This is using the stock build of openwrt.

Any advice on how I can get around this and install the openvpn client?

Thanks!

Well, another snag.

I'm getting this error when openwrt boots:

"Your JFFS2-partition seems full and overlayfs is mounted read-only.
Please try to remove files from /overlay/upper/... and reboot!"

I found this because I could change the root password. When I installed openwrt on this router the first time...I had no issues changing passwords.

Any idea why this happened and what I need to do to fix?

I'll certainly keep looking through the forums.

Thanks!

OK.

Went into failsafe mode and did a soft factory reset.

That correct the following error:
"Your JFFS2-partition seems full and overlayfs is mounted read-only.
Please try to remove files from /overlay/upper/... and reboot!"

Now, I need to figure out how to install the openvpn client...

Since your initial problem seems to be solved, please open a new topic for any questuons not related to this topic. Thanks!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.