Tag Archives: tp-link

TP-Link naprawa bootloadera, uboot

TP-Link: Naprawa Bootloadera i Instalacja Alternatywnego Oprogramowania (U-Boot)

Wszystkie opisane poniżej operacje zostały przetestowane i wykonane. Nie daję jednak żadnej gwarancji ich skuteczności. Wykonujesz je na własną odpowiedzialność. Autor nie ponosi odpowiedzialności za uszkodzony sprzęt, utratę danych czy przypalone kotlety.

Problemy z routerem TP-Link?

Jeśli masz jeden z poniższych problemów:

  • Router TP-Link TP-XXXXX miga diodą YYYY i nie uruchamia się.
  • Nie możesz połączyć się z routerem, nawet po przywróceniu ustawień fabrycznych.
  • Router nie jest widoczny w sieci.
  • Albo... brzydko pachnie. 😉

Nie martw się (no, poza tym ostatnim przypadkiem). Większość problemów można rozwiązać przez nadpisanie oprogramowania routera. Ale co zrobić, jeśli router nie odpowiada na żadne połączenia?

Rozwiązaniem jest konsola szeregowa. W tym artykule pokażę, jak z niej skorzystać, bazując na przykładzie routera TP-Link MR3020.


Krok po kroku: Plan działania

  1. Rozbieramy router.
  2. Lokalizujemy złącza konsoli szeregowej.
  3. Lutujemy goldpiny.
  4. Nawiązujemy połączenie z routerem.
  5. Wgrywamy nowe oprogramowanie:
    • Za pomocą serwera TFTP.
    • Opcjonalnie wgrywamy zmodyfikowany bootloader.
  6. Profit!

Rozbieranie routera TP-Link MR3020

Najpierw musimy dostać się do wnętrza urządzenia. W przypadku MR3020 należy delikatnie podważyć obudowę od strony przeciwnej do diod sygnalizacyjnych. Uważaj, by nie uszkodzić plastikowych zatrzasków. Po zdjęciu obudowy zobaczysz płytę główną:

Płyta główna MR3020

Na płytce znajdują się złącza konsoli szeregowej, które wyglądają tak:

Złącza konsoli szeregowej

Lutowanie goldpinów

Goldpiny można przylutować za pomocą standardowej lutownicy. Ważne: pady lutownicze na MR3020 mogą mieć problem z przyjmowaniem spoiwa. Przed lutowaniem odtłuść powierzchnię zarówno goldpinów, jak i padów.

Wlutowane goldpiny


Połączenie z konsolą szeregową

Aby nawiązać połączenie z routerem, potrzebujesz konwertera USB → RS232, obsługującego poziomy napięć TTL (np. z układem MAX232). Możesz kupić taki adapter za kilkanaście złotych. Oto przykład:

Adapter USB → RS232

Podłączanie kabli

Podłącz przewody w następujący sposób:

  • RX routeraTX adaptera
  • TX routeraRX adaptera
  • GND routeraGND adaptera

Uwaga: Aby połączenie było stabilne, podłącz rezystor 10 kΩ pomiędzy portem TX i VCC na routerze.

Podłączanie rezystora


Konfiguracja programu do konsoli

Dane z konsoli możesz odczytać za pomocą programów takich jak screen lub Putty. W tym artykule użyjemy Putty, ponieważ jest prosty w konfiguracji i dostępny na wielu platformach.

Ustawienia Putty

  1. Port szeregowy: Sprawdź numer portu, wykonując polecenie dmesg. Najczęściej będzie to /dev/ttyUSBX lub /dev/ttySX.
  2. Prędkość transmisji: Ustaw 115200 bps.
  3. Kontrola przepływu: Wyłącz kontrolę parzystości i płynności przepływu.

Twoje ustawienia powinny wyglądać tak:

Konfiguracja Putty - krok 1
Konfiguracja Putty - krok 2


Wgrywanie bootloadera przez TFTP

Konfiguracja serwera TFTP

Najprostszym narzędziem do tego celu jest dnsmasq. Zainstaluj go na swoim komputerze:

sudo apt-get install dnsmasq

Skonfiguruj dnsmasq:

port=0
interface=eth0
bind-interfaces
enable-tftp
tftp-root=/tmp/tftp

Skopiuj plik bootloadera (np. uboot.bin) do katalogu /tmp/tftp.

Ustawienia sieciowe

Przypisz adresy IP ręcznie:

ip link set eth0 up
ip addr add 192.168.1.2/24 dev eth0

Na routerze ustaw IP w konsoli:

hornet> setenv ipaddr 192.168.1.1
hornet> setenv serverip 192.168.1.2
hornet> printenv

Pobranie i zapis nowego bootloadera

Pobierz bootloader z serwera TFTP:

hornet> tftpboot 0x80800000 uboot.bin

Usuń stary bootloader (uważaj, nie odłączaj zasilania!):

hornet> erase 0x9F000000 +0x10000

Zapisz nowy bootloader:

hornet> cp.b 0x80800000 0x9F000000 0x10000

Testowanie nowego bootloadera

Zrestartuj router:

hornet> reset

Jeśli bootloader działa poprawnie, powinieneś zobaczyć następujący komunikat w konsoli:

HTTP server is starting for firmware update...

Przejdź do interfejsu WWW routera, aby wgrać nowe oprogramowanie:

Interfejs aktualizacji firmware


Uwaga końcowa

Jeśli zdecydujesz się na modyfikowany bootloader, pamiętaj, że nie wspiera on oryginalnego oprogramowania TP-Link. Musisz używać alternatywnego firmware, np. OpenWRT, Gargoyle, czy DD-WRT.


Przydatne linki


Gratulacje! Twój router znów działa. Jeśli masz pytania, zostaw komentarz poniżej. 😊