Odblokowanie Whitebox’a, czyli darmowy router z SamKnows

Od dwóch lat na stronie cyklicznie publikowałem wpisy dotyczące programu SamKnows. Już w pierwszym z nich Zmierz swój internet czyli SamKnows pisałem o 2-letnim okresie trwania badań i routerze TP-Link, który po tym czasie staje się naszą własnością. W międzyczasie projekt został przedłużony, bez określenia daty zakończenia, ale wolontariusze z 24 miesięcznym stażem mogą wycofać swój udział i zatrzymać router TL-WR741ND lub TL-WR1043ND, co również opisałem tutaj Zakończenie projektu SamKnows po 2 latach. Sprzęt zawiera specjalnie dostosowane oprogramowanie openWRT bazujące na Linuksie i nie da się w prosty sposób korzystać z niego jak z typowego routera. Support SamKnows nie pomaga byłym wolontariuszom we wgraniu oprogramowania, więc postanowiłem dokładnie opisać cały proces na przykładzie TL-WR741ND.

Przygotowanie do wgrania nowego oprogramowania do TL-WR741N

Przeróbkę whiteboxa w pełnowartościowy router warto zacząć od przygotowania niezbędnych narzędzi. Potrzebne będzie oprogramowanie zgodne z posiadanym sprzętem.

UWAGA!!! Wgranie nieprawidłowego pliku BIN do whiteboxa spowoduje brak komunikacji przez port LAN, a cofnięcie pomyłki będzie dosyć trudne dla przeciętnego użytkownika komputera!

Nim ściągniemy firmware, proponuję dokładnie sprawdzić model i wersję sprzętową (hardware) posiadanego tp-linka. W moim przypadku jest to TL-WR741ND i ver. 2.4, a informację taką można znaleźć na etykiecie przyklejonej do spodu obudowy:

Wersja sprzętowa tp-link

Zdecydowałem się wgrać bardzo dobre i stabilne moim zdaniem oprogramowanie Gargoyle by obsy (modyfikowane przez Cezarego Jackiewicza). Z dostępnych na stronie obrazów, interesuje nas wersja factory, czyli pełna, przewidziana do aktualizacji z oryginalnego firmware. Ściągnąłem ze strony http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/ najnowszą, dostępną wersję:

pobieranie_openwrt

Następny etap, to aplikacja umożliwiająca zestawienie połączenia telnet. Można wykorzystać wbudowany klient w Windows 7 (najczęściej trzeba go doinstalować z poziomu Programy i Funkcje), lub posłużyć się niezawodnym putty, do pobrania stąd http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Potrzebny jest jeszcze lokalny serwer www lub ftp, gdyż z niego router pobierze oprogramowanie. Można skorzystać z apache, czy windowsowego IIS. Ja pobrałem FileZilla Server, która po instalacji wymaga kilku zmian w konfiguracji. Po zainstalowaniu i uruchomieniu panelu administracyjnego, należy wejść w ustawienia serwera (ikonka z kołem zębatym, trzecia od lewej), wybrać zakładkę Security Setting i odznaczyć dwie opcje, by okno wyglądało jak niżej:

Security Setting w FileZilla

Pozwoli nam to na łączenie się z dowolnego IP do serwera, co znacznie ułatwi nam proces aktualizacji. Następnie przechodzimy do ustawień Users (czwarta ikonka od lewej z jedną głową), w okienku Users po prawej wciskamy [Add] i dodajemy użytkownika o nazwie anonymous z pustym hasłem, upewniamy się, że opcja Eneble account jest zaznaczona:

Users w FileZilla Server

Przechodzimy do zakładki Shared folders i mając zaznaczonego użytkownika anonymous, wciskamy [Add] w części Shared folders i wskazujemy katalog na dysku komputera, do którego połączy się klient ftp, ja założyłem wcześniej folder c:\temp, upewniamy się, że przed ścieżką pojawi się literka H, jeśli jej nie ma, podświetlamy ścieżkę i wciskamy [Set as home dir]. Dzięki temu będzie to domyślny katalog użytkownika:

FileZilla Server - Shared Folders

Do wskazanego folderu wrzucamy plik z firmware, zmieniając jego długą nazwę na krótką, prostą, z rozszerzeniem bin, np. u mnie było to gg.bin zamiast gargoyle-1.6.0.1-ar71xx-tl-wr741nd-v2-squashfs-factory.bin. Na koniec trzeba wyłączyć firewalla (zapora systemu Windows, inna, np. wbudowana w antywirusa) lub dodać wyjątek na port 21. Ja zrobiłem test utworzonego serwera ftp – podłączyłem się programem FileZilla Client. Połączenie zakończyło się sukcesem, a w okienku po prawej ujrzałem plik gg.bin, czyli wszystko w porządku:

Serwer FTP - test połączenia

Zamiast FileZilla Client, można wpisać w przeglądarkę ftp://localhost lub ftp://nasze_ip.

Kolejny etap to wyłączenie innych kart sieciowych z TCP/IP (np. wifi), a połączenie przewodowe musi mieć ustawiony statyczny adres 192.168.1.2 oraz maskę 255.255.255.0, brama 192.168.1.1, DNSy nie są potrzebne.

Wszystkie wyżej wymienione programy oraz firmware do TL-WR741ND ver. 2 można pobrać tutaj: >> Narzędzia do odblokowania whitebox WR741ND v2 <<

Odblokowanie Whiteboxa TP-LINK

Komunikacja z Whiteboxem jest możliwa, po wprowadzeniu go w specjalny tryb. W tym celu należy włączyć zasilanie routera i wciskać przycisk QSS do momentu, aż kontrolka z ikoną słoneczka zacznie szybko migać. Wygląda to tak:

Teraz można podłączyć whiteboxa do komputera, wtykając patchcord (kabel sieciowy) do jednego z portów LAN i karty sieciowej. Na komputerze uruchamiamy putty i uzupełniamy pola jak na poniższym screenie:

Whitebox - komunikacja telnet

Po wciśnięciu [Open], powinno nastąpić połączenie z routerem:

Połączenie telnet z routerem z SamKnows

Pierwsza komenda, jaką należy wpisać to:

Po zatwierdzeniu komendy klawiszem [Enter], router powinien zwrócić

następnie wpisujemy instrukcję pozwalającą na przejście do folderu tmp:

teraz czas na pobranie firmware, udostępnionego przez uruchomiony przed chwilą serwer ftp, wpisujemy:

Gdy plik gg.bin o rozmiarze 3840kB zostanie pobrany w 100%, można go wgrać do pamięci flash, wpisując:

Po kilku minutach router uruchomi sie ponownie. Cały wyżej opisany proces wygląda tak:

telnet_whitebox_wgrywanie_firmware1

Whitebox jako zwykły router

Po restarcie urządzenia, na karcie sieciowej komputera można ustawić pobieranie adresu z DHCP. Po wpisaniu w przeglądarce adresu 192.168.1.1 uzyskamy dostęp do panelu administracyjnego nowego oprogramowania, domyślne hasło to password.

Oprogramowanie gargoyle whitebox

Po zalogowaniu otrzymujemy mnóstwo różnych możliwości ustawień, których próżno szukać w „fabrycznym” oprogramowaniu wgrywanym przez TP-Link. Tym samym cały proces hackowania routera TP-WR741ND można uznać za zakończony.

Decydując się na wgranie innej wersji oprogramowania, upewnij się trzy razy, czy na pewno jest ona kompatybilna z posiadanym routerem. W sieci można znaleźć mnóstwo informacji o uszkodzeniu tp-linka przez wgranie niewłaściwego oprogramowania.

Jeśli uważasz, że nie poradzisz sobie samodzielnie z załadowaniem Gargoyle do Twojego routera z programu SamKnows, napisz do mnie maila (kontakt ze mną), a postaram się pomóc.

Wpis “Odblokowanie Whitebox’a, czyli darmowy router z SamKnows” komentowano 24 razy

  1. u mnie gargoyle niestety nie chciało gadać z RT-N16 z Tomato na pokładzie, w trybie klienta WDS, a próbowałem różnych wersji, za to na oryginalnym, TP-Linkowym firmware działa pięknie… obsługuje w tej chwili 1 komputer stacjonarny, 3 tablety i smartfon

  2. Przez pół dnia zamiast ftp wpisywałem http 😀 Wielkie dzięki, w końcu działa 🙂

  3. Wgranie softu banalne jednak z moim Tp-linkiem td-w8961nd w żaden sposób nie idzie na wds ani na oficjalnym ani na gargoileu, a szkoda… chyba, że źle konfiguruje, natomiast Airlive 5460ap i td-8961nd wds działa bez problemów już od dłuższego czasu

  4. Gdyby ktoś miał Windows 8.1 i wyłączył zaporę w Antywirusie, trzeba pamiętać żeby też w panelu sterowania wyłączyć zaporę systemową. Po tym zabiegu wszystko poszło jak spłatka.
    Ja wgrałem do swojeg TP-Linka WRT741ND DDWRT. Najnowszego z tej strony http://dd-wrt.com/site/support/other-downloads?path=others%2Feko%2FBrainSlayer-V24-preSP2%2F

    Do naszego TP-linka jeśli chodzi o DDWRT zawsze wgrywamy (tplink_tl-wr741ndv1) jeszcze raz podkreślę v1 🙂

  5. Nie zadziałało u mnie – router do kosza po nieudanej próbie pomimo iż wszystko było idealnie router nie chciał się zresetować.

  6. @anonymous Być może firmware był nieodpowiedni do sprzętu lub jakieś zakłócenia przy wgrywaniu. Taki router można naprawić, ale jeśli nie czujesz się na siłach i chcesz go wyrzucić, lepiej wyślij go do Cezara z eko.one.pl, który ma bardzo duży wkład w rozwój openwrt.

  7. Wszystko dokładnie podane za jednym wyjątkiem – ustawienia Putty. Brak informacji o konieczności zamiany domyślnych ustawień w:
    Connection–>Telnet–>Telnet negotiation Mode na Passive (jest Active) .
    Bez tego nie dało się zalogować na ruter. Potem operacja przebiegła bezbłędnie i wgrałem oryginalne firmware TP-Linka. Ruter OK.

    • Sprawdzałem teraz i faktycznie domyślnie jest to ustawione na active, ale w moim przypadku nie musiałem tego zmieniać. (odblokowałem ok. 8 routerów). Dzięki za dodatkowe info.

  8. Czy wystarczy przenieść skrypty na inny router z OpenWRT aby symulował działanie Whiteboxa? Mam stary router którego już nie używam (tylko 100Mb, WiFi tylko 2.4GHz) i zastanawiam się czy nie zrobić „podmiany” sprzętowej, bo jestem w programie tylko rok. Masz z tym jakieś doswiadczenie?

  9. Witam. Próbowałem odblokować tą metodą WDR3600 (N600). Na początku szło dobrze. Wgrałem plik .bin do katalogu tmp. Niestety ostania komenda mtd -r write /tmp/gg.bin firmware nie poszła.
    Nie rozpoznaje „firmware” i klops, nie wiem co tam wpisać????
    A w programie byłem tylko 1,5 roku. Jak podniesiono mi prędkośc downloadu do 200Mbit/s pomiary pokazywały dziwne wyniki (od 30 do 190Mbit/s). Konsultant SamKnows po paru miesiącach przyznał, że nie mają dla mnie wystarczająco szybkiego serwera i wyłączyli mnie z badań…

    • Gratuluję i zazdroszczę szybkiego netu. Nie znam tego routera. Zakładam, że ściągasz plik jakas_tam_ nazwa.bin, zmieniasz mu nazwę na gg.bin, wgrywasz plik gg.bin do tmp i później robisz mtd -r write /tmp/gg.bin. Chodzi o to, że plik który wgrywasz i ten który później wywołujesz w ostatniej komendzie ma taką samą nazwę. Ja wpisałem dla przykładu gg.bin, bo trudniej zrobić literówkę w tak krótkiej nazwie.

  10. Dzięki, taki się trafił. W końcu udało się. Wygląda na to, że oryginalny plik TPlinka był nieco za duży (8001kB). Wgrałem openwrt (7936kB) i …poszło. Nazwę pliku .bin oczywiście zmieniłem na krótszą, ale może dowolna. I jeszcze jedna uwaga: Jeżeli przechodzę do katalogu tmp (komenda cd /tmp) to powinienem wpisać komendę
    mtd -r write gg.bin firmware
    tu /tmp/ jest zbędne bo jestem już w katalogu tmp . No i komunikaty po próbie wgrania zbyt dużego pliku *.bin są mylące… No ale taki mamy system… 😉
    Faktem jest jednak, że metoda działa i na innych routerach tplinka

    • Proszę o kontakt, ponieważ mam problem z wgraniem softu do whiteboxa, a dokładniej z przesłaniem pliku do routera

      • Jak już będziesz w katalogu tmp (komenda: cd /tmp) możesz sprawdzić co się tam znajduje komendą ls -a (komenda vdir tu jakoś nie działa). Jeżeli coś się źle się ściągnęło to po wyłączeniu zasilania wgrany plik ulega skasowaniu. Ja nie miałem z tym problemu, oczywiście trzeba odpowiednio ustawić opcje serwera ftp, jak to wyżej opisał autor

        • Problemem był firewall który blokował połączenie. Wyglądało to tak, że FileZilla łączyła się z serwerem, ale router już nie był w stanie tego zrobić. Wyłączyłem wi-fi, następnie firewall i już działa.
          PS. OpenWRT siadło po godzinie i nie dało się zalogować do panelu, teraz jest Gargoyle i działa już kilka dni

  11. Cześć, dzieki za poradnik, uktnalem w momencie kiedy z putty router ma sciagnac plik z komputera. wifi wylaczone, inne karty sieciowe tez poza ethernet, firewall wylaczony. Router sypie błąd „wget: can’t connect to remote host (127.0.0.1): Connection timed out.” jakies wskazówki?

Dodaj komentarz