Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Ratowanie routera

Kilkanaście dni temu stałem się właścicielem dość wiekowego modelu routera firmy Linksys WRTU-54G-TM. Urządzenie umożliwia pracę, jako most sieciowy i w tym właśnie celu miał być wykorzystywany. Ja jednak chciałem sprawdzić, do czego to urządzenie można było jeszcze zmusić. Zacząłem od zmiany softu…

I można powiedzieć, że na tym skończyła się oczekiwana kolej rzeczy. Podczas wgrywania OpenWRT do urządzenia „coś poszło nie tak”. W sumie, można było się tego spodziewać – wgrywanie nowego softu rozpocząłem w nocy z piątku na niedzielę (studenci wiedzą o co chodzi ;) ). Aktualizacja oczywiście nie powiodła się, a mój router mówił do mnie jedynie zieloną mrugającą diodą. Nie przejmując się tym jednak postanowiłem doprowadzić urządzenie do stanu używalności.

Po rozebraniu routera moją uwagę przykuły wyprowadzenia do programatora JTAG. Początkowo to z nich chciałem skorzystać. Później jednak zauważyłem piny umożliwiające wymianę danych przez łącze szeregowe. Do tego celu nie można jednak wykorzystywać zwykłego portu RS-232. Logiczna jedynka w tym standardzie definiowana jest przez napięcie -3V do -15V. „Zero” to natomiast napięcie z zakresu 3V do 15V.

Układ w WRTU-54G-TM pracuje w standardzie TTL (jak większość urządzeń tego typu). Do podłączenia do RS-232c niezbędne jest wykorzystanie układu scalonego MAX232 służącego do konwersji napięć na TTL. Dobrym pomysłem jest (ponoć) wykorzystanie kabli do telefonów Nokia (DKU-5 lub CA-42). Ja wykorzystałem układ kolegi zbudowany na podstawie schematu (sam, z lenistwa pewnie wykorzystałbym do tego kabel od Nokii):

Układ kolegi zbudowany jest miedzy innymi z… pudełka od zapałek. Zbudowany układ jest zaprezentowany na poniższych zdjęciach.

Układ jak widać banalnie prosty. Jeden scalak, 4 kondensatory i wtyk RS232, do tego kilka kabelków no i pudełko po zapałkach, jako obudowa wtyczki.

Nadszedł czas na podłączenie wszystkiego razem i skomunikowaniu się komputera z routerem. Wtyki co prawda nie były opisane, ale bez trudu udało mi się zlokalizować piny GND, TxD, RxD oraz zasilania (niewykorzystywany). Zasilanie układu MAX232 zaczerpnięte zostało z wtyczki 24 pinowej zasilacza ATX (kolor pomarańczowy to 3.3V – takiego właśnie potrzeba).

Do komunikacji potrzebujemy jeszcze programu umożliwiającego komunikacje przez port szeregowy. Użytkownicy Windows XP mogą wykorzystać HyperTerminal. Ja wykorzystywałem program putty.

Przed rozpoczęciem ratowania urządzenia warto zaopatrzyć się jeszcze w serwer tftp, wykorzystałem do tego celu program pumpkin. Do przeprowadzenia operacji jest niezbędne również posiadanie właściwego oprogramowania dla routera.

Zaczynamy część właściwą. Po podłączeniu wszystkiego uruchomiamy putty i wpisujemy niezbędne do skomunikowania dane przedstawione na kolejnym rysunku.

Po poprawnym podłączeniu i prawidłowo wpisanych danych uruchamiamy router. Dalej już z górki dla tych, którzy nie lubią grzebać w elektronice, a uwielbiają za to wszelkie terminale. Jeśli wszystko dobrze pójdzie w oknie terminala zaczną pojawiać się literki. Można poczekać i zobaczyć jaki błąd wyskakuje podczas ładowania systemu routera (u mnie był to Kernel Panic Error) lub wcisnąć dowolny przycisk gdy na ekranie pojawi się: Hit any key to stop autoboot: 1W zamian za to urządzenie przywita nas nazwą mikroprocesora, w który wyposażony jest router wraz ze znakiem zachęty ADM8668 # W terminal należy wpisać następujące polecenia: set if_tftp 'ping $(serverip)' set do_tftp 'run tftp_boot' set bootcmd 'run if_tftp do_tftp; run flash_flash' save Następnie wklepujemy kolejne komendy: ADM8668 # set netretry no ADM8668 # run bootcmd i wykonujemy restart urządzenia (poleceniem reset) i odczytujemy IP z jakim chciał połączyć się nasz router (fragment wyróżniony pogrubieniem): TX error status2 = 0x04000008 Using adm8668_net device ping failed; host 192.168.0.250 is not alive <----- ## Booting image at b0040000 ... Check vendor string... Image Name: ADM8668 Linux Kernel(2.4.31) Created: 2011-01-20 5:11:38 UTC Image Type: MIPS Linux Kernel Image (uncompressed) Data Size: 917440 Bytes = 895.9 kB Load Address: 80400000 Entry Point: 80400000 Verifying Checksum ... OK OK Odczytany adres ustawiamy jako stały adres IP naszej karty sieciowej (przewodowej oczywiście ;) ) i łączymy komputer z routerem kablem ethernetowym (koniecznie port WAN , w portach LAN niestety nie działało). Wydajemy jeszcze polecenia:resetI sprawdzamy czy router odnalazł nasz komputer. Jeśli się tak stanie w poprzednio zaznaczonym miejscu zauważymy: TFTP from server 192.168.0.250; our IP address is 192.168.0.1 Już prawie dobrnęliśmy do końca – pozostało jedynie pobranie na router oprogramowania. W tym celu odpalamy pumpkina, a w jego folderze umieszczamy soft, który chcemy umieścić na routerze z nazwą zmienioną na vmlinuz-8668 (bez żadnego rozszerzenia!). Na koniec w terminalu wydajemy komendę:

run update_kernel

Podczas tego procesu pamięć flash zostanie wyczyszczona, chwilę później nowe oprogramowanie routera zostanie zainstalowane (pumpkin zapyta się czy zezwolić na udostępnienie obrazu systemu). Po kolejnym restarcie zobaczyć możemy nasze dzieło i sprawdzić jak uruchamia się nasz router. Nie zapomnijmy zmienić adresu karty sieciowej na poprzedni i przepięciu wtyczki sieciowej do gniazda LAN routera! Następnie zalogujmy się przez telnet lub www do routera. Skończone!

W większości (jeśli nie wszystkich routerach z serii WRT) przywracanie oprogramowania wygląda tak samo (najczęściej jednak w modelach WRT54xx dostępne jest 5 pinów łącza szeregowego – jeden nie jest podłączony do układu). Pewnie wielu z Was zastanawia się po czemu wróciłem do oprogramowania producenta, a nie skorzystałem z oprogramowania alternatywnego. Z bardzo prostego powodu – autorski soft wystarcza mi w 100%.

Jest to tylko jedna z możliwości uratowania tego routera. Zależnie od uszkodzenia nieraz niezbędne jest skorzystanie z programatora JTAG. W każdym bądź razie źle wgrany soft (czy to przez własne przeoczenie czy z przyczyn losowych) nie oznacza śmierci naszego urządzenia.

Już niedługo zamierzam dokonać „drobnej” modyfikacji urządzenia wykorzystując do tego celu układ przedstawiony na zdjęciu. Oczywiście po jego wykonaniu, instrukcję jego wykonania postaram się umieścić na blogu.

PS. Po wgraniu oprogramowania kolor diody Power może zmienić się z zielonego na czerwony. Sam się początkowo zdziwiłem co jest nie tak, jednak w jednym z nowych softów zostało to zmienione ;)
PS2. Oczywiście musiałem wgrać OpenWRT raz jeszcze... dzięki czemu otrzymałem przepis na drinka ;) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M KAMIKAZE (bleeding edge, r24978) ------------------ * 10 oz Vodka Shake well with ice and strain * 10 oz Triple sec mixture into 10 shot glasses. * 10 oz lime juice Salute!  

sprzęt porady

Komentarze

0 nowych
gowain   18 #1 21.02.2012 19:37

Hehe niezły wpis. W razie czego będę wiedział gdzie szukać :)

Ja w noce z piątku na niedziele trzymałem się z dala od kompa - taki firewall naturalny mi się robił :P

  #2 21.02.2012 20:54

"AC-42" chyba CA-42

Shaki81 MODERATOR BLOGA  37 #3 21.02.2012 21:13

Sam wpis niczego sobie. Trochę musiałeś się nakombinować, ale efekt jest. Trup ożył. Tylko... na początku chciałeś zrobić aktualizację, a na koniec piszesz, że oryginalny soft Ci wystarczy. Trochę niezdecydowany jesteś :)

McDracullo   16 #4 21.02.2012 21:17

@Shaki81 - nie masz czasem tak, że chcesz sprawdzić jak działa coś innego? :D Z czystej ciekawości wynikającej z opowiadań czy hobby? :)

Shaki81 MODERATOR BLOGA  37 #5 21.02.2012 21:33

Dokładnie :) Czysta ciekawość - to chyba najważniejsza cecha dobrego komputerowca - jak ulepszyć coś co dobrze działa :) Sam nie raz tak robiłem.
Jak pisałem szacun za pracę jaką w to włożyłeś. Pozdrawiam.

sla17   7 #6 21.02.2012 21:38

Fakt, osobiście poddałbym się i wysłał router w odpowiednie miejsce ;)

olmeca   11 #7 21.02.2012 21:53

Powiedzmy, ze raz mialem podobna sytuacje z WRT-54GL, gdzie przy wgrywaniu Tomato router tez odmowil wspolpracy, ale po poszperaniu po kilku forach wystarczyl zwykly kabel sieciowy i oprogramowanie dalo sie wgrac normalnie bez koniecznosci rozbrajania urzadzenia i wspomagania sie pomocnymy narzedziami kolegow. Wpis zapewne sie przyda na przyszlosc jak najprostrze rozwiazania juz zawioda.

DjLeo MODERATOR BLOGA  17 #8 21.02.2012 22:27

Ostatnio zrobiłem coś podobnego z moim linksysem. Ale krócej to trwało. Operacja trwała 10 sekund. Podłączyłem po prostu niewłaściwy zasilacz. Nie uwierzycie jak linksys fajnie świeci w ciemności. Ale to trwa tylko chwile bo potem się zaczyna palić. Przez pierwsze kilka sekund jest nawet zabawnie. Później już nie koniecznie. A smród wietrzyć trzeba 2 dni.

  #9 21.02.2012 23:42

Miło wiedzieć, że są jeszcze na świecie inni tacy dziwacy :D
Mam Asus'a wl500gp, który jest 'klonem' WRT54G. Też padł podczas wgrywania OpenWRT i też wszystkie proste metody zawiodły. A Asus ma ich więcej, bo ma (teoretycznie) opcję przywracania oryginalnego firmwaru. Oczywiście nie zadziałało. Uziemianie odpowiedniego PINu, zalecane przez ludzi wtajemniczonych, również nie przynosiło rezultatu. Skończyło się na wlutowaniu RS-232.

BTW - Asus ma całkiem ciekawą możliwość na custom sofcie - jako, że posiada 2xUSB można podłączyć modem 3G na USB i rozdzielać go (mimo, że nie ma tego wiele :D).

kamil_w   10 #10 22.02.2012 09:48

Ja miałem do dyspozycje 3 routery Linksys WAG200EU. W efekcie eksperymentów ostał mi się tylko jeden. Strata żadna, bo i tak były przeznaczone do utylizacji, ale co się z nimi pobawiłem to moje. :D Ostatni z nich pracuje pod kontrolą softu OpenWAG200, ale coś krucho ze stabilnością i w zasadzie nie wiem czy to wina samego routera, softu, czy linii. Przyjdzie i czas na to, że to sprawdzę. Co do WRT to soft openWRT daje niesamowicie dużo nowych możliwości.

Przykład:
http://lifehacker.com/5631984/how-to-make-an-inexpensive-wi+fi-radio-with-an-asu...

McDracullo   16 #11 22.02.2012 20:48

@mmmmi (niezalogowany) - poprawione, zwykła literówka - dzięki za uwagę ;)

  #12 23.02.2012 22:05

Ja używam byłego kabla od noki z konwerterem usb - uart na 3.3v na układzie ark3116.
Bardziej popularne są układy konwerterów usb - uart firmy ftdi.

  #13 07.01.2014 23:22

Witam,

W związku z moją popyrtaną naturą uszkodziłem router. W czasie upgrade wyłączyłem go twierdząc, że już jest po...

Teraz próbuje się dostać do niego poprzez RS232. Kabel USB wykorzystując kabel DKU-6). Problem w tym, że nie wiem co mogę z nim dalej zrobić ponieważ się zawiesił. Poniżej przedstawiam kopie z konsoli terminalowej:



˙ŕ˙
ROM VER: 1.2.0
CFG 04
EEPROM Data OK


U-Boot 1.1.5-2.2 (Sep 25 2009 - 22:20:42)

DRAM: 16 MB

relocate_code start
relocate_code finish.
Now running in RAM - U-Boot at: 80fc0000
Flash: 4 MB
using default environment

In: serial
Out: serial
Err: serial
Net: External Clock
Selected EPHY_MODE
AMAZON_SE Switch
mac = c4:3d:c7:ba:a5:d4
AMAZON_SE_GPIO_P0_IN = 0xa9ee..
AMAZON_SE_GPIO_P1_IN = 0x2908..
## Starting application at 0x80500000 ...
entry download..
enter download.

read ok..!!
MAC:
c4:3d:c7:ba:a5:d4
Download mode ...
NetLoop_download init..


Bardzo proszę o poradę co mogę w takiej sytuacji zrobić.

  #14 08.01.2014 21:02

Witam! Ja ostatnio wgrałem do swojego tl-wr841nd open-wrt i chciałem wrócić do oryginalnego softu no i przy wgrywaniu obrazu przez www coś sie z nim stało. Dioda power świeci a reszta mruga.
kupiłem kabelek ca42 odciąłem końcówke i dolutowałem wtyczkę pasującą do dziurek w routerze czyli tx, rx, gnd. niestety putty nie może sie z routerkiem połączyć, próbowałem na różnych komputerach i wszędzie to samo ... nie wiem czemu nie chce się połączyć, połączenie przewodów na 100% jest prawidłowe...