Przygotowanie i instalacja OpenWrt na ruterze TP-Link TL-WR1043ND
Ostatnia zmiana: 2016-01-30 10:28

TP-Link TL-WR1043ND v1 jest routerem opartym na nowszej architekturze co opisywany już wcześniej Linksys WRT160NL. Jego krótka specyfikacja:
- architektura: Atheros AP83
- bootloader: U-boot
- procesor Atheros AR9132 rev 2 400 MHz
- Flash: 8 MiB
- RAM: 32 MiB
- WLAN: Atheros AR9103 802.11b/g/n (zintegrowany) 3T3R
- chipset Ethernet: RTL8366RB 10/100/1000 Mbps
- 1x USB 2.0
- 1x rs232c (TTL)
- przyciski reset, QSS

Czyli w porównaniu do urządzenia Linksysa ma nowszy chip radiowy i gigabitowy przełącznik. Ma też inną zaletę - cena, obecnie (koniec 2009r) ok 200zł.
Wydajność USB w tym urządzeniu - przy korzystaniu z ftp i lan można osiągnąć ok 12MB/s przy gigabitowym połączeniu.
UWAGA: TL-WR1043ND v2 jest nowszym urządzeniem; ten opis dotyczy tylko wersji 1.

Stan projektu

Ruter obecnie obsługiwany jest przez OpenWrt w wersji stabilnej i rozwojowej, działa na nim także Gargoyle. Obecnie obsługiwane są wszystkie elementy rutera - interfejs sieciowy działa, działa także USB, radio w trybie N, obsługiwane są przyciski, tryb failsafe oraz diody LED.

Obsługiwane są wszystkie wersje sprzętowe: od 1.1 do 1.10.

Gotowe obrazy

UWAGA: aktualnie sprzedawane wersje mogą mieć nowy bootloader, który blokuje port WAN. OpenWrt Backfire (i Gargoyle do wersji 1.5.6 włącznie) nie są przystosowane do odblokowania portu, należy więc przed wgraniem OpenWrt wczytać starszą wersję oryginalnego oprogramowania, dostępną np. tutaj. Nowsze wersje sprzętu mogą także mieć inne rodzaje pamięci flash nie wykrywane i obsługiwane przez wydania bazujące na Backfire.

Nie ma potrzeby tego robić jeżeli wgrywamy OpenWrt w wydaniu Attitude Adjustment lub nowszym, Gargoyle >= 1.5.7

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.

Gargoyle PL

Opis polskiej wersji Gargoyle wraz ze wsparciem dla USB znajduje się tutaj: Gargoyle PL.

Instalacja przez WWW

Należy wykorzystać plik openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin.
Podany firmware można normalnie zainstalować posługując się opcją System Tools / Firmware Upgrade w oryginalnym firmware TP-Linka. Po instalacji należy zalogować się przez telnet i zmienić hasło.

Instalacja przez bootloader

Należy wykorzystać plik openwrt-ar71xx-tl-wr1043nd-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.0.5
- 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>

Najpierw sprawdzamy czy "adresy" się zgadzają - ładujemy firmware do pamięci i wyświetlamy zmienne środowiskowe:


    ar7100> tftpboot 0x81000000 code.bin
    ...
    Bytes transferred = 8126464 (7c0000 hex)
    ar7100> printenv
    ...
    bootcmd=bootm 0xbf020000
    ...

Jeżeli są takie same (te wytłuszczone) to należy już ostatecznie zaprogramować nowy firmware


    ar7100> erase 0xbf020000 +0x7c0000
    ...
    ar7100> tftpboot 0x81000000 code.bin
    ...
    ar7100> cp.b 0x81000000 0xbf020000 0x7c0000
    ...
    ar7100> bootm 0xbf020000

Instalacja przez MTD

Należy wykorzystać plik openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin
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

Należy wykorzystać plik openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin
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.

Powrót do oryginalnego firmware

Oryginalne oprogramowanie można wgrać tak po prostu przez www lub jedną z metod w/w aby je przywrócić. Można je pobrać z z oficjalnej witryny producenta. Pobrane oprogramowanie *nie może* mieć w nazwie słowa boot, jeżeli tak jest, należy najpierw wgrać jedną z wcześniejszych wersji bez bootloadera.

Dodatkowa konfiguracja

Do uzupełnienia w odpowiednich plikach. Inne aspekty konfiguracyjne opisane są na http://eko.one.pl#openwrt .

Interfejsy

Domyślna konfiguracja interfejsów

  • eth0.2: port WAN
  • eth0.1: 4 portowy przełącznik LAN
  • wlan0: interfejs radiowy WiFi
Przełącznik można dowolnie podzielić wg własnego uznania

WLAN

Po zainstalowaniu interfejs radiowy zostanie wykryty i skonfigurowany domyślnie. W standardowym obrazie należy go włączyć, wystarczy wydać polecenia


    # uci set wireless.@wifi-device[0].disabled=0
    # uci set wireless.@wifi-iface[0].ssid=moja_siec
    # uci set wireless.@wifi-iface[0].encryption=psk2
    # uci set wireless.@wifi-iface[0].key=super_tajne_haslo
    # uci commit wireless
    # wifi

Wszystkie działające tryby pracy radia opisano w tym dokumencie.
Pełna konfiguracja radia:


    # uci set wireless.radio0.country=PL
    # uci set wireless.radio0.hwmode=11ng
    # uci set wireless.radio0.htmode=HT20
    # uci add_list wireless.radio0.ht_capab="SHORT-GI-40 DSSS_CCK-40 HT40+ HT40-"
    # uci commit wireless

Jeżeli nie chcemy używać trybu IEEE802.11n to opcję option hwmode 11ng zamieniamy na option hwmode 11g.

Obsługa LED

Opis dostępny w osobnym dokumencie.

Obsługa przycisków

Opis dostępny w osobnym dokumencie.

Tryb failsafe

Najczęściej na forum wątki wyglądają następująco: "Zrobiłem coś w luci i teraz nie działa. Co robić". Więc po w ogóle grzebiecie w LuCI?
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.

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.

Kompilacja

Należy użyć i skompilować aktualną wersję OpenWrt Kamikaze pobraną z svn. Jako platformę należy wybrać Atheros AR71xx/AT7240/AR913x, target profile - TP-LINK TL-WR1043ND V1, target image - squashfs. W Kernel modules -> Wireless drivers powinna zaznaczyć się opcja kmod-ath9k. Z kolei w Kernel modules -> USB Support należy zaznaczyć kmod-usb-core oraz kmod-usb2. Należy upewnić się także że w Network jest zaznaczony program wpad-mini. Przydatne będzie także zaznaczenia pakietów crda oraz niezbędnego iw. Inne pakiety można zaznaczyć wg potrzeb.
Firmware należy skompilować w standardowy sposób (make). Plik wynikowy dla tego routera to:

  • openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin. Plik zawsze ma 8126464 bajtów (7,8MB) i wynika to z budowy obrazu a nie faktycznej zajętości przez dane. Przeznaczony jest do instalacji przez oryginalne firmware lub mtd.
  • openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin. Przeznaczony jest do instalacji przez sysupgrade lub mtd.

Modyfikacje sprzętowe

USB

W środku jest dosyć miejsca aby wbudować dodatkowe urządzenia USB. Nie ma w środku dodatkowego wyjścia USB, należy więc przeciąć i wykorzystać oryginalne wyprowadzenia interfejsu. Można wbudować huba USB, dodatkowy pendrive, dysk 1,8" czy kartę dźwiękową. Można także wyświetlacz LCD.

Pamięć

Możliwa jest wymiana kości pamięci RAM w tym ruterze na większą, dzięki czemu można uzyskać 64MB. Bez problemu jest ona widziana zarówno przez bootloader jak i system, więc nie ma z tym żadnych problemów. Doskonale sprawdza się chip HYNIX HY5DU121622CTP-J.