Przygotowanie i instalacja OpenWrt na TP-Link TL-MR3420/TL-MR3220
Ostatnia zmiana: 2013-11-26 18:43

Są to tanie (ok 100zł) routery wyposażone w radio w standardzie 802.11n oraz port USB. Oryginalne oprogramowanie umożliwia zastosowanie ich do modemów USB - GPRS/UMTS/HSPA. To samo można wykonać posługując się OpenWrt - patrz: Router 3G, wysyłanie i odbieranie wiadomości SMS, status połączenia 3G oraz inne.

Router oznaczony TL-MR3420 ma radio pracujący z prędkością do 300Mbps, natomiast TL-MR3220 - do 150Mbps (tzw. N Lite). Po za tym to praktycznie identyczne konstrukcje. W dalszej części poradnika będzie omawiany MR3420, ale wszystkie zagadnienia są też identyczne dla MR3220 (należy oczywiście pamiętać o pobraniu odpowiednich obrazów dla MR3220).

Krótka specyfikacja

- procesor Atheros AR7241 rev 1 400MHz
- Flash: 4 MiB
- RAM: 32MiB
- WLAN: Atheros
- chipset Ethernet: 5x 10/100 Mbps (1xwan + 4xlan)
- 1x USB 2.0
- przycisk reset, qss
- diody LED

Aktualizacja: Na rynku można spotkać także wersję V2 modeli TL-MR3420/TL-MR3220. O ile mają one zmienioną obudowę (i usb z boku), TL-MR3420v2 parametrami przypomina V1, o tyle TL-MR3420v2 ma silniejszy procesor AR9341 taktowany 535MHz.

Stan projektu

Rutery są obecnie obsługiwane przez OpenWrt w wersji rozwojowej (trunk) oraz stabilnej (Backfire i Attitude Adjustment).

Instalacja

Metody instalacji opisane są poniżej. UWAGA: nie należy instalować wersji Backfire (do wersji 10.03.1) na MR3420 w wersji 1.3 i późniejsze. Zawierają one pamięci flash nie obsługiwane przez Backfire, dopiero przez Attitude Adjustment i Trunka.

OpenWrt

Zawartość i funkcjonowanie opisane jest w osobnym dokumencie.

Po starcie systemu dioda SYS sygnalizuje stan rutera - jeżeli miga, ruter nadal jest w stanie uruchamiania, jeżeli świeci na stałe - ruter jest gotowy do pracy.

Dodatkowo możliwe jest sterowanie zasilaniem (włacz/wyłącz) złącza USB. Zasilanie portu jest domyślnie włączone. Jego wyłączenie:


    # echo 0 > /sys/devices/virtual/gpio/gpio6/value

Ponowne włączenie


    # echo 1 > /sys/devices/virtual/gpio/gpio6/value

Powyższe rozwiązanie może być przydatne do np. resetowania sprzętowego modemu USB.
UWAGA: Wyłączenie zasilania przy zamontowanym dysku lub włączonym swapie jest bardzo złym pomysłem.

GargoylePL

Dostępny jest także mój port Gargoyle PL dla tych urządzeń.

Przez WWW/oryginalny firmware

Należy posłużyć się plikiem openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin. Po prostu trzeba go wgrać przez oryginalną stronę tak jak by się wykonywało aktualizację oprogramowania.

Przez WWW/Luci - OpenWrt

Należy posłużyć się plikiem openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-sysupgrade.bin

Instalacja przez bootloader

Należy wykorzystać plik openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin.
Po kolei należy:
- wyłączyć zasilanie rutera
- podłączyć kabel szeregowy do rutera i komputera (oczywiście wyposażony w konwerter napięć!)
- podłączyć kabel ethernet do rutera i komputera
- ustawić adres IP karty sieciowej w komputerze na stałe na 192.168.1.27
- uruchomić serwer tftpd (polecam dla windows: http://tftpd32.jounin.net/, dla linuksa: atftpd, powinien być standardowo w pakietach danej dystrybucji), a następnie do głównego katalogu tego serwera skopiować plik firmware (pod nazwą code.bin)
- uruchomić terminal (może być putty) - ustawić parametry 115200 8n1
- włączyć zasilanie rutera
- kiedy wyświetli się napis "Autoboot in 1..." szybko wpisać tpl - proces startu zostanie przerwany
- powinien się wyświetlić znak zachęty:


    ar7100>

a następnie programujemy nowy obraz:


    ar7100> erase 0x9f020000 +0x3c0000
    ...
    ar7100> tftpboot 0x81000000 code.bin
    ...
    ar7100> cp.b 0x81000000 0x9f020000 0x3c0000
    ...
    ar7100> bootm 0x9f020000

Instalacja przez MTD

Jeżeli już mamy działające OpenWrt - należy przesłać obraz do katalogu /tmp (np. przy pomocy scp czy winscp) pod nazwą code.bin, a następnie zalogować się na router i wykonać


    # cd /tmp
    # mtd -e firmware -r write code.bin firmware

Instalacja przez sysupgrade

Jeżeli już mamy działające OpenWrt - należy przesłać obraz do katalogu /tmp (np. przy pomocy scp czy winscp) pod nazwą code.bin, a następnie zalogować się na router i wykonać


    # sysupgrade -n /tmp/code.bin

Jeżeli chcemy zachować pliki konfiguracyjne należy pominąć opcję -n. Ale ostrożnie z tym - z wersji na wersje format plików może się zmienić, więc może się zdarzyć, że coś po instalacji nowego firmware może nie działać tak jak powinno.

Sam proces trwa kilka minut; router samodzielnie się zrestartuje, więc należy być cierpliwym.

VLAN

Istnieje możliwość podziału 4 portowego switcha na vlany. Niezbędne jest zainstalowanie w systemie swconfig. Poniżej przedstawiono przykładową konfigurację z wykorzystaniem port 1 jako port wan:


    config 'interface' 'loopback'
        option 'ifname' 'lo'
        option 'proto' 'static'
        option 'ipaddr' '127.0.0.1'
        option 'netmask' '255.0.0.0'

    config 'interface' 'lan'
        option 'ifname' 'eth0.1'
        option 'type' 'bridge'
        option 'proto' 'static'
        option 'ipaddr' '192.168.1.1'
        option 'netmask' '255.255.255.0'

    config 'interface' 'wan'
        option 'ifname' 'eth0.2'
        option 'proto' 'dhcp'

    config 'switch' 'eth0'
        option 'enable_vlan' '1'

    config 'switch_vlan'
        option 'device' 'eth0'
        option 'vlan' '1'
        option 'ports' '0t 2 3 4'

    config 'switch_vlan'
        option 'device' 'eth0'
        option 'ports' '0t 1'
        option 'vlan' '2'

Obsługa LED

Opis dostępny w osobnym dokumencie.

Obsługa przycisków

Opis dostępny w osobnym dokumencie.

Tryb failsafe

Wyjściem jest uruchomienie rutera w trybie failsafe. Dla tego tplinka wskaźnikiem trybu jest szybko migająca dioda "SYS".

External root

Istnieje możliwość "zwiększenia" ilości pamięci flash przez przeniesienie części systemu na zewnętrzny nośnik, np podłączony pendrive. Opisane jest to w osobnym dokumencie. Aby przekształcić w/w instalacja w extroot wystarczy tylko zainstalować ode mnie pakiet block-extroot.

Port szeregowy

Dostępny jest na płytce, złącze P1, 115200 8N1.


pin	sygnał

1	TX
2	RX
3	GND
4	VCC

Pin 1 to ten po wewnętrznej stronie płytki, wyraźnie oznaczony. Nie ma wlutowanych goldpinów, należy więc samodzielnie albo wlutować albo dołączyć kabel od konwertera.