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:
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ę:
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:
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:
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:
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:
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:
Po wciśnięciu [Open], powinno nastąpić połączenie z routerem:
Pierwsza komenda, jaką należy wpisać to:
mount_root
Po zatwierdzeniu komendy klawiszem [Enter], router powinien zwrócić
switching to jffs2
następnie wpisujemy instrukcję pozwalającą na przejście do folderu tmp:
cd /tmp
teraz czas na pobranie firmware, udostępnionego przez uruchomiony przed chwilą serwer ftp, wpisujemy:
wget ftp://192.168.1.2/gg.bin
Gdy plik gg.bin o rozmiarze 3840kB zostanie pobrany w 100%, można go wgrać do pamięci flash, wpisując:
mtd -r write /tmp/gg.bin firmware
Po kilku minutach router uruchomi sie ponownie. Cały wyżej opisany proces wygląda tak:
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.
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.
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
Przez pół dnia zamiast ftp wpisywałem http 😀 Wielkie dzięki, w końcu działa 🙂
@ghoes To pewnie wina Tomato ;). Ogólnie WDS to tryb bardzo wrażliwy na sprzęt i firmware i często są z nim problemy.
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
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 🙂
Nie zadziałało u mnie – router do kosza po nieudanej próbie pomimo iż wszystko było idealnie router nie chciał się zresetować.
@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.
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.
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?
Nie wiem, czy zadziała sposób, który opisałeś.
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.
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
Dzięki za dodatkowe informacje, przydatne dla innych. Pozdrawiam
Proszę o kontakt, ponieważ mam problem z wgraniem softu do whiteboxa, a dokładniej z przesłaniem pliku do routera
Opisz problem, łatwiej wtedy pomóc.
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
Też się na firewalla naciąłem… powodzenia
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?
problem rozwiazany
Zawsze warto dopisać co było przyczyną, może przyda się innym.