TP-LINK TL-MR3220 v1 naprawa uszkodzonego softu / recovery

Niedawno pisałem jak przywrócić do życia OvisLinka 5460, dziś pokażę jak „zreanimować” router TP-inka’a, konkretnie w moim przypadku naprawiałem TP-Link TL-MR3220 v1 z uszkodzonym softem. Router nie dawał znaku życia, poza jedną świecącą się kontrolką „Power”. W tym przypadku nie dało się go wprowadzić w tryb klienta tftp. Router nie reagował na wciskanie „resetu”. 

Opisałem tutaj sposób na MR3220 v1, ale podobnie robi się z v2, czy z TL-MR3420. Oczywiście, do każdego modelu potrzebujesz innego softu.

Do przywrócenia oprogramowania potrzebne będą:
komputer oczywiście :)
kabel sieciowy ethernet 
oraz
interfejs USB – > SERIAL TTL, np taki jak poniżej
usb-uart

 

 

 

 

 

 

 

Zainstalowany interfejs w systemie jest widoczny jako port COMx. W systemach Windows 7,8 i 10 w zasadzie powinien zainstalować się sam, tzn. nie są potrzebne sterowniki. Gdyby jednak ktoś  potrzebował, może je ściągnąć z mojego serwera –>> kliknij aby ściągnąć

Ja korzystałem z komputera z XP’kiem więc potrzebowałem sterowników do tego interfejsu.

Do pracy będzie nam potrzebny jeszcze program terminala, może być program Putty ale ja korzystam z Terminal v1,93b. Jest znacznie wygodniejszy niż Putty.

Będzie nam też potrzebny jakiś serwer tftp. W sieci można znaleźć wiele rozwiązań, ja używam małego programiku Pumpkin. Program na XP instaluje się w katalogu C:/Program Files/Klever/Nothing i do tego katalogu wrzucimy też plik .bin z softem routera. W Pumpkinie można zmienić ścieżkę do pliku z softem routera, ale po co – wystarczy wrzucić plik do w/w katalogu.

Jeżeli już masz zainstalowany interfejs, serwer tftp oraz terminal, czas na plik z oprogramowaniem routera. Jeśli masz router TL-MR3220 v1 możesz pobrać plik tutaj. W przypadku innych urządzeń, poszukaj w sieci. Jest wiele miejsc, skąd można pobrać odpowiedni soft do danego urządzenia.

 

Jak to wszystko podłączyć?

Na wstępie rozkręcamy router i na górnej części płyty odnajdziesz cztery punkty lutownicze. Zdjęcie poniżej przedstawia te punkty z wlutowanymi pinami do podłączenia przewodów. Fabrycznie tych pinów tam nie ma. Sam je wlutowałem aby w przyszłości nie bawić się w lutowanie kabelków za każdym razem.

serial-pinout-tl-mr3220_tp-link

 

 

 

 

 

 

 

Aby umożliwić komunikację routera z komputerem przez interfejs szeregowy, musisz je połączyć przy pomocy trzech przewodów. Pin TX routera (patrz zdjęcie powyżej) łączymy z pinem RX interfejsu, pin TX interfejsu łączymy z pinem RX routera. Piny GND łączymy ze sobą – GND routera z GND interfejsu. Piny +5V i +3V interfejsu nie podłączaj nigdzie.

Ponadto łączysz komputer z routerem kablem ethernet (kablem sieciowym).

 

20161014_161257

 

 

 

 

 

 

 

W komputerze skonfiguruj kartę sieciową z której korzystasz przy łączeniu się z routerem. W ustawieniach połączenia sieciowego wpisz adres 192.168.1.27

Jeżeli masz już przygotowany serwer tftp, masz przygotowany plik .bin w katalogu serwera i połączony komputer z routerem przez kabel sieciowy i interfejs szeregowy możesz przystąpić do działania.

Uruchom program Terminal, kliknij connect w lewym górnym rogu ekranu. Obok jest zaznaczony nr portu COM. Wcześniej ustal pod którym numerem zainstalował się nasz interfejs.

terminal_1

 

 

 

 

 

 

Na dole okna programu jest okienko w którym wpisujesz komendy. Przygotuj sobie komendę „tpl”, tak jak na zdjęciu. Po prawej stronie okna jest przycisk send. W odpowiedniej chwili klikniesz w „send” i wyślesz komendę do routera.

Teraz czas na start. Na początek włącz zasilanie routera i obserwuj duże okno terminala. Powinny się tam pojawiać wyniki działań procesora w routerze. Jeżeli nie będzie się nic pojawiać sprawdź poprawność połączenia routera z interfejsem szeregowym, jeżeli natomiast będą wyświetlać się krzaki musisz zmienić szybkość transmisji na interfejsie szeregowym. Spróbuj ustawić na 115200, a jeśli nie zadziała zmieniaj po kolei wartości w dół.

Jeśli już wszystko jest w porządku, widzisz czytelne wyniki, poszukaj takiej informacji  „Autoboot in 1…”. Właśnie w tym momencie musisz wysłać do routera komendę „tpl”.

Włączasz router czekasz na  „Autoboot in 1…” i natychmiast wysyłasz „tpl”. Jeśli Ci się nie uda popróbuj trochę wcześniej. Ja po prostu klikałem „send” kilka razy przy każdym włączeniu routera – ten sposób dobrze się sprawdza.

Kiedy uda Ci się przerwać procedurę startową komendą „tpl”, zobaczysz znak zachęty „>”.

Teraz czas na programowanie pamięci. Tam gdzie wpisywałeś tpl wpisujesz kolejne polecenia i klikasz „Send”

1)
erase 0x9f020000 +0x3c0000       kliknij „send”

kasowanie pamięci potrwa chwile, powinniśmy zobaczyć w oknie terminala odliczanie

następnie wykonujemy kolejne polecenie, za każdym razem klikamy „send”

2)
tftpboot 0x81000000 TL-MR3220-V1-FW0.0.3.bin   

Tutaj w opisie podałem oryginalną nazwę pliku, ale w rzeczywistości przed umieszczeniem pliku na serwerze tftp zmieniłem nazwę pliku .bin na krótką, pisaną małymi znakami by ułatwić wpisywanie komend w terminalu. Radzę zrobić to samo zaraz po ściągnięciu pliku z sieci.

3)
cp.b 0x81000000 0x9f020000 0x3c0000

4)
bootm 0x9f020000

 

To już tyle. Po ostatnim poleceniu router powinien ożyć. Jeżeli nie to zrestartuj go.

Jeżeli były by problemy przy pobieraniu pliku przez router z serwera tftp, wyłącz zaporę systemu windows, tak by router bez problemu łączył się z komputerem. 

Ponadto po wpisaniu (wysłaniu) polecenia nr.2, w dużym oknie terminala powinna się pojawić informacja pod jakim adresem router szuka pliku. W moim przypadku router łączył się z adresem 192.168.1.27, ale w innych modelach TP-Link’ów te adresy mogą być różne.

 

Powodzenia.