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

TP-Link TL-MR3420 - reanimacja

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 :)

r   e   k   l   a   m   a

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.

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.

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.

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".

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.

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ł :)  

sprzęt oprogramowanie internet

Komentarze