Po nieudanym wgraniu firmware migają wszystkie diody. Router TL-MR3020

Podczas zmiany firmware wypiął mi się kabel zasilający.
Znalazłem na anglojęzycznym forum jak go naprawić:


Kupiłem konweter USB UART:

Rx konwertera do Tx routera i Tx konwertera do Rx routera.
Pomiędzy VCC a Tx wlutowany jest rezystor 10 000 Ohm
Po skonfigurowaniu Putty i podłączeniu routera otrzymuje log, który jest zniekształcony:

U-Boot 1.1.4 (Mâ–’r 26 2013 - 16:03:16)
â–’â–’â–’21 (ar9330) U-coot
DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flâ–’â–’â–’ size 4194304,!sector count = 64
Flash:  4 MB
Usingâ–’â–’efcult eâ–’â–’ironment
â–’n:    serial
Out: â–’â–’â–’erial
Err:   â–’erial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address iâ–’ Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0â–’â–’00:03:7f:09:0b:ad
ag7244_phy_setup
ethp up
: cng1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_râ–’g_init_lan
ATHRS26: â–’esetting s26
ATHRS26: s26 â–’eset done
ag7240_phy_setuâ–’
â–’eth0, eth1
Aâ–’tobooâ–’â–’ng inâ–’â–’ seconds

Ten log cały czas się zapętla, zniekształcenia występują w losowych miejscach.
Gdy próbuję wpisać komendę "tpl" otrzymuję "â–’â–’â–’"
(na wyłączonym routerze mogę wpisywać normalne znaki)
Co mogłem zrobić nie tak, że log wychodzi zniekształcony i nie mogę wprowadzić komendy "tpl"
Proszę o pomoc

Odepnij rezystor, i sprawdź czy pomogło. Zamieniałeś Tx z Rx.

Odlutowałem rezystor niestety nie pomogło nadal log jest zniekształcony i nie mogę nic wpisać. Gdy zamieniam Rx i Tx nie otrzymuje żadnych danych.

Po zwarciu pinów Rx i Tx możesz pisać. Pamiętaj że masz tylko sekundę na wpisanie polecenia tpl.

Gdy zwieram Tx i Rx faktycznie mogę wpisać tpl, ale router nie reaguje. Czy przypadkiem przy zwarciu sygnał nie powraca i widoczny jest tylko w putty a dla mikro kontrolera w routerze po prostu nie jest widoczny? Co może być przyczyną błędów w logu? Obawiam się że nawet jeśli uda mi się przejść krok dalej to firmware zostanie przeniesiony z błędami i po prostu nie zadziała.

przyczyną może być niewłaściwa prędkość portu (jeśli się nie mylę powinna być 115200bps)

Dokładnie z takiej prędkości korzystam.

to jest chyba oczywiste, że nie reaguje - przecież to tylko test adaptera
w rzeczywistym połączeniu dobrze mieć to "tpl" w schowku (i wkopiować do konsoli np. przez RMB)

najwyżej nie zadziała, wgrywasz bez bootloadera, więc możesz tą czynność powtórzyć wielokrotnie w wypadku niepowodzenia

To get a reliable serial connection, you might have to connect a 10k pullup resistor between TX and VCC. This is because the TX pin is connected to a voltage divider (2x5.6k) and a capacitor is put between the real pin and the TX connector. Some serial adaptors might work without the pullup resistor (confirmed for one ST3232-based adaptor), but others definitely require it
https://wiki.openwrt.org/toh/tp-link/tl-mr3020

Z wlutowanym rezystorem identyczny skutek.

I nie zważając na nic zapętla się.
Gdy odłączę zasilanie mogę wpisywać normalne litery. Czy powinno tak być? (czy to jakieś niepożądane zwarcie)

Jeżeli zasilanie routera, to tak. Czy podczas pracy konwertera zapalają się diody Tx Rx? Nie wykluczam uszkodzenia elementu smd np: rezystor w gałęzi Tx routera podczas lutowania goldpinów.

Rx świeci się w rytm pojawiania się kodu, a Tx gdy coś piszę. Czyli tutaj wszystko jest dobrze.

Z tego co pamiętam to przy wlutowywaniu goldpinów mogłem trochę za długo przytrzymać lutownicę przy nóżce od Tx, więc najbardziej mógł chyba ucierpieć kondensator C10
Czy opłacalna byłaby próba wlutowania zamiennika?

Trzeba pomierzyć przejścia ścieżek od Tx.

Spód płytki

Wierzch płytki

Dalej nie wiem jak sprawdzić. Po drodze nie ma żadnego rezystora ani kondensatora. Od ścieżki nic nie odchodzi.

Olej Tx. Wgraj na czuja. Najlepiej będzie wklejać komendy PPM i wciskać enter.
Wklejaj po jednej komendzie:
Ustaw IP routera:

setenv ipaddr 192.168.1.1

IP serwera TFTP ( Jeśli to komputer to ustaw te IP na karcie sieciowej)

setenv serverip 192.168.1.2

Pobieranie firmware z serwera TFTP do pamięci RAM routera: ( trwa do 10 sekund) jeśli dostajesz jakiś znak co sekundę to znaczy że nie jest poprawnie nawiązane połączenie - jeśli występują błędy to posprawdzaj firewall oraz log serwera TFTP. Jeśli będzie OK to naraz wyleci dość spora ilość znaków)

tftpboot 0x80800000 factory.bin
Kasowanie pamięci flash: ( trwa do minuty, w tym czasie powinieneś dostawać co chwilę jakiś znak - odliczanie od 2 do 61)

erase 0x9f020000 +0x3c0000

Przekopiowanie pobranego firmware z ram do flash: ( tutaj nic się nie dzieje a trwa to do minuty)

cp.b 0x80800000 0x9f020000 0x3c0000

Gotowe. Firmware przekopiuje się bez błędów bo transmitowane jest przez kabel LAN.

Dziękuję za komendy i opis do nich, ale ja nadal nie mogę wpisać tpl (w moim przypadku mam "â–’â–’â–’") i nie mam możliwości użycia ich.

pomysł jeszcze jakiś jest:

  • sprawdź pozostałe połączenia (w szczególności masę)
  • użyj innego adaptera
  • zmień szybkość portu (np. 57600 czy 38400, choć jestem prawie pewien że jednak powinno być 115200bps)
  1. Połączenia wydają się być ok. Jedyne co mnie zastanawia to to że od masy nie odchodzi żadna ścieżka.
  2. Jeśli uda mi się jakiś szybko zdobyć to sprawdzę.
  3. Szybkość chyba musi być 115200 bo inaczej już nic normalnego nie wychodzi.

jeśli przerywa botowanie po wklejeniu tpl to znaczy że jest OK. wpisuj dalsze komendy.

A co jeżeli ten log cały czas się zapętla, bynajmniej tak wynika z pierwszego postu? Też ma olać?

Nie przerywa bootowania pisałem o tym na początku i pod obrazkiem z konsolą. I właśnie dlatego zacząłem drążyć temat sprawności routera (fizycznie) i głównie pinu Tx.
Gdyby bootowanie przerywało się po wpisaniu tpl, tego wątku w ogóle bym nie zakładał.