Blog (11)
Komentarze (1.1k)
Recenzje (5)
@SweetDreamsTP-Link TL-MR3420 - reanimacja

TP‑Link TL‑MR3420 - reanimacja

04.05.2014 05:28

W pracy zapowiadał się nudny tydzień przed długim, majowym weekendem. W związku z czym podsunąłem koledze pomysł żeby wgrał alternatywne oprogramowanie - OpenWrt - do tytułowego routera, który łączył dwa budynki firmy z internetem. Zależało mu na utworzeniu połączenia VPN czego niestety nie obsługiwało standardowe oprogramowanie. Długo nie trzeba było go przekonywać. Znalazł krótki opis na ten temat w internecie i po kilkunastu minutach na routerze "zainstalowany" był OpenWrt z GUI Gargoyle. Niestety funkcjonalność podstawowej wersji nie była imponująca, a pamięć wewnętrzna nie pozwalała na instalację dodatkowych paczek, ale router posiada na szczęście port USB dzięki czemu można znacznie rozszerzyć jego pamięć. Kolega pomimo, że nigdy wcześniej nie miał specjalnie do czynienia z Linuksem całkiem nieźle odnajdywał się w jego konsoli. I w ten sposób zleciała większość dnia. Niestety pomimo żmudnej konfiguracji VPN nie udało się nam utworzyć połączenia z zewnątrz. Do tego mieliśmy problem z DHCP: komputery nie dostawały prawidłowych adresów a DNS'y na każdym trzeba było wpisywać ręcznie. Nie wiem czy to wina OpenWrt (używaliśmy wersji stabilnej, przy czym nie aktualnie najnowszej) i pod koniec dnia postanowiliśmy wrócić do oryginalnego firmware TP‑Linka. Bez problemu można je znaleźć na stronie domowej producenta. Kolega ściągnął soft, zalogował się do panelu, wybrał aktualizację oprogramowania i ignorując ostrzeżenie ze strony producenta:

NIE aktualizuj firmware'u poprzez połączenie bezprzewodowe.

kliknął przycisk "aktualizuj". Na ekranie pojawił się napis "Wgrywanie oprogramowania" a ja pożegnałem się i wyszedłem z firmy.

Kolejnego dnia po przyjściu zobaczyłem na swoim biurku router wraz z zasilaczem. Trochę się przestraszyłem. Szybko włączam komputer, odpalam Chrome ...i poczułem ogromną ulgę - jest internet :) Widać wymienił router na działający. Standardowo mogłem więc zacząć dzień od kubka kawy i przejrzeniu kilku serwisów informacyjnych :)

No, ale w końcu trzeba by się zająć tym routerem.

Po podłączeniu go do zasilania migała dioda Power na przemian ze wszystkimi pozostałymi.

515523

Szybka lektura internetowych forów pokazała, że wcale nie jest tak źle - procedura wgrywania oprogramowania nie udała się, ale można to łatwo naprawić instalując soft przez bootloader.

Potrzebny jest do tego konwerter USB‑RS232 taki jak np. PL‑2303, MCP2200, FT232 czy TUSB3410 lub jeśli komputer, z którego korzystamy posiada port COM można również użyć popularnego układu konwertującego napięcie - MAX232.

Najtrudniejszą rzeczą było dostanie się do wyprowadzeń portów serial, które znajdują się w śrdoku. W poprzednich wersjach routerów TP‑Link'a do zdjęcia obudowy wystarczyło wykręcenie kilku śrubek. Tutaj jest dodatkowo 6 zaczepów, z którymi miałem o wiele większy problem (4 pod nóżkami, 2 z przodu obudowy). Ostatecznie udało się a router nie doznał większych strat ;)

Podłączyłem więc "terminal" zgodnie z opisem wyprowadzeń (na zdjęciu widoczny również PL‑2303)

1 TX 2 RX 3 GND

za pomocą kabelka FTDI 232 i mogłem przejść do dalszych czynności.

515530

W pierwszej kolejności zaopatrzyłem się w serwer TFTPD32. Oprócz tego potrzebny będzie jakiś program terminalowy np PuTTy. Na co dzień korzystam z programu napisanego przez siebie, ale polecam Bray's Terminal.

Wystarczy ustawić prędkość (Baud rate) na 115200, data bits na 8, wybrać odpowiedni numer portu i wybrać połącz.

Następnie dla karty sieciowej ustawiamy stały adres: 192.168.1.100 i odpowiednią maskę podsieci.

515534

Następnie przechodzimy do konfiguracji serwera TFTDP. Ściągamy plik ze softem, który zamierzamy wgrać na dysk. Nadajemu mu (najlepiej) jakąś krótką/łatwą do zapamiętania nazwę i w ustawieniach TFTDP wskazujemy katalog, w którym się znajduje. Oprócz tego należy wybrać odpowiedni interfej i gdyby program wywalał błąd o braku ustawień z DHCP odznaczyć opcję "DHCP Server".

515536

Jeśli wszystko działa a kabel sieciowy jest podłączony wystarczy włączyć zasilanie routera a na ekranie powinno pojawić się:

U‑Boot 1.1.4 (Dec 6 2012 - 16:31:39) U‑boot AP123 DRAM: 32 MB id read 0x100000ff Flash: 4 MB Using default environment In: serial Out: serial Err: serial Net: ag934x_enet_initialize... wasp reset mask:c03300 WASP ---‑> S27 PHY file: ag934x.c,line: 179==: set LAN&WAN SWAP. -‑debug by HouXB GMAC: cfg1 0x5 cfg2 0x7114 eth0: ba:be:fa:ce:08:41 s27 reg init athrs27_phy_setup ATHR_PHY_CONTROL 4: 0x1000 athrs27_phy_setup ATHR_PHY_SPEC_STAUS 4: 0x10 eth0 up  WASP ---‑> S27 PHY file: ag934x.c,line: 179==: set LAN&WAN SWAP. -‑debug by HouXB GMAC: cfg1 0xf cfg2 0x7214 eth1: ba:be:fa:ce:08:41 s27 reg init lan ATHRS27: resetting s27 ATHRS27: s27 reset done athrs27_phy_setup ATHR_PHY_CONTROL 0: 0x1000 athrs27_phy_setup ATHR_PHY_SPEC_STAUS 0: 0x10 athrs27_phy_setup ATHR_PHY_CONTROL 1: 0x1000 athrs27_phy_setup ATHR_PHY_SPEC_STAUS 1: 0x10 athrs27_phy_setup ATHR_PHY_CONTROL 2: 0x1000 athrs27_phy_setup ATHR_PHY_SPEC_STAUS 2: 0x10 athrs27_phy_setup ATHR_PHY_CONTROL 3: 0x1000 athrs27_phy_setup ATHR_PHY_SPEC_STAUS 3: 0x10 eth1 up  eth0, eth1 Autobooting in 1 seconds

Należy wtedy szybko wpisać polecenie tpl. Jeśli nie uda się za pierwszym razem nic się nie stało. Jeśli zrobimy to w odpowiednim czasie na ekranie pojawi się znak zachęty:

wasp>

Wpisujemy erase 0x9f020000 +0x3c0000

wasp> erase 0x9f020000 +0x3c0000 First 0x2 last 0x3d sector size 0x10000 61 Erased 60 sectors

Następnie tftpboot 0x81000000 code.bin (lub zamiast code.bin nazwa jaką nadaliśmy ściągniętemu oprogramowaniu)

wasp> tftpboot 0x81000000 gargoyle.bin enet1 port1 up  dup 1 speed 1000 Using eth1 device TFTP from server 192.168.1.100; our IP address is 192.168.1.111 Filename 'gargoyle.bin'. Load address: 0x81000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ###################################################### done Bytes transferred = 3932160 (3c0000 hex)

W tym momencie w serwerze TFTDP pojawi się małe okienko symbolizujące postęp transferu.

515546

Może to potrwać ze dwie minuty :)

Pozostaje jeszcze tylko wpisać komendę cp.b 0x81000000 0x9f020000 0x3c0000

wasp> cp.b 0x81000000 0x9f020000 0x3c0000 Copy to Flash... write addr: 9f020000 done

a później bootm 0x9f020000

wasp> bootm 0x9f020000 ## Booting image at 9f020000 ... Uncompressing Kernel Image ... OK Starting kernel ... [ 0.000000] Linux version 3.3.8 (cezary@eko.one.pl) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6‑2012.02) ) #29 Fri Apr 25 10:27:16 CEST 2014

(...)

Cały log dostępny tutaj

Po restarcie router ponownie żył :)

Wybrane dla Ciebie
Komentarze (41)