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:
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.binJeż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.binJeż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.1: 4 portowy przełącznik LAN
- wlan0: interfejs radiowy WiFi
Przełącznik można dowolnie podzielić wg własnego uznania
z powodu budowy konstrukcyjnej modelu 1043, jeżeli zmienimy adres na WAN to należy także zmienić na inny adres na LAN lub zmienić adres MAC komputera z którego został ten WAN sklonowany. W przeciwnym przypadku może być problem z połączeniem.
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.