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
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.
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).
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.
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.