Przygotowanie i instalacja OpenWrt na RouterBOARD 912UAG 2HPnD
Ostatnia zmiana: 2019-09-15 11:57

Krótka specyfikacja:
- architektura: Atheros ar71xx
- procesor Atheros AR9342 600MHz
- flash: 128 MiB (NAND)
- RAM: 64MiB
- wlan: AR9342-BL1A 2.4GHz (802.11b/g/n), do 1000mW, złącza MMCX
- ethernet: 1x 10/100/1000 Mbps, PoE
- 1x miniPCIe (dla karty WiFi lub modemu USB)
- 1x USB 2.0 (współdzielone z miniPCIe)
- przycisk reset
- buzzer, led, slot SIM
- monitor temperatury PCB i napięcia zasilania
- zasilanie z PoE lub osobnego złącza. Szeroki zakres zasilania (8 - 30 V). Zużycie energii: ok 10-14W w zależności do napięcia zasilania
- wymiary 10.5x10.5 cm
Na płytce jest domyślnie zainstalowany RouterOS w licencją Level4. Płytkę można także znaleźć w urządzeniach BaseBox2 (moduł z radiem 2.4GHz) i BaseBox5 (jako moduł z radiem 5GHz). Do złącza miniPCIe można włożyć dodatkową kartę WiFi lub modem 3G/4G.
Stan projektu
Płytka obecnie obsługiwana jest przez OpenWrt od wersji BB. Nie należy instalować wydać wcześniejszych niż LEDE z powodu problemów z wykonaniem aktualizacji (trzeba wgrywać od nowa)
Instalacja
Chaos Calmer
Instalacja wydania Chaos Calmer przebiega dwuetapowo - najpierw wczytujemy OpenWrt do pamięci urządzenia, a następnie instalujemy pliki do pamięci NAND. Niezbędne są trzy pliki o podanych niżej nazwach:
- openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf - plik z OpenWrt służący do uruchomienia w pamięci, będzie wczytywany przez tftp do mikrotika
- openwrt-ar71xx-mikrotik-vmlinux-lzma.elf
- openwrt-ar71xx-mikrotik-rootfs.tar.gz - pliki odpowiednio z kernelem i filesystemem.
Pliki z openwrt.org z filesystemem dostępne są z oznaczeniem
Ath5k-rootfs lub
DefaultNoWiFi-rootfs w nazwie i należy wybrany plik zmienić na
openwrt-ar71xx-mikrotik-rootfs.tar.gz.
Do instalacji wymagane są jeszcze dwa serwery -
tftp oraz
ftp lub
http. W tym przykładzie serwery zostały uruchomione na adresie 192.168.1.10. Przed instalacją warto zrobić kopię certyfikatu licencji, dzięki czemu będzie możliwy bezproblemowy powrót do RouterOS w razie konieczności.
Uruchomienie w pamięci RAMUruchamiamy serwer tftp i wskazujemy pliki. Pod linuksem najprościej jest utworzyć skrypt:
#!/bin/bash
ifconfig eth0 192.168.1.10 up
dnsmasq -i eth0 --dhcp-range=192.168.1.100,192.168.1.200 \
--dhcp-boot=openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf \
--enable-tftp --tftp-root=/tmp -d -u cezary -p0 -K --log-dhcp --bootp-dynamic
Niezbędne jest zainstalowane
dnsmasq i jego wyłączenie jeżeli uruchomił się domyślnie. Plik
openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf należy umieścić w katalogu
/tmp, oczywiście zmieniamy użytkownika
cezary na takiego który jest dostępny w systemie. Uruchamiany tak stworzony skrypt.
Płytkę odłączamy od zasilania, wciskamy i trzymamy reset, podłączamy do zasilania. Urządzenie powinno migać wszystkimi ledami, wczytać obraz i po kilku sekundach poinformować sygnałem dźwiękowym o zakończeniu ładowania. Można zalogować się do urządzenia przez telnet pod adresem 192.168.1.1, nie resetujemy urządzenia bo system uruchomiony jest tylko w ramie!
Jeżeli używamy obrazów Gargoyle to nie ma możliwości zalogowania się przez telnet i używamy od razu ssh.
Instalacja do pamięci NANDNiezbędny będzie serwer ftp (nie tftp!) lub http, w którym należy umieścić pliki o nazwach
openwrt-ar71xx-mikrotik-vmlinux-lzma.elf i
openwrt-ar71xx-mikrotik-rootfs.tar.gz. Po zalogowaniu się do routera wydajemy polecenie:
# wget2nand ftp://192.168.1.10
Lub
http://192.168.1.10 jeżeli używamy serwera http. Adres 192.168.1.10 to oczywiście adres tego serwera.
Nastąpi instalacja plików:
--2015-06-25 09:50:00-- ftp://192.168.1.10/openwrt-ar71xx-mikrotik-vmlinux-lzma.elf
=> '/tmp/wget2nand/kernel'
Connecting to 192.168.1.10:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD not needed.
==> SIZE openwrt-ar71xx-mikrotik-vmlinux-lzma.elf ... 1099477
==> PASV ... done. ==> RETR openwrt-ar71xx-mikrotik-vmlinux-lzma.elf ... done.
Length: 1099477 (1.0M) (unauthoritative)
openwrt-ar71xx-mikrotik-vm 100%[========================================>] 1.05M --.-KB/s in 0.1s
2015-06-25 09:50:00 (10.6 MB/s) - '/tmp/wget2nand/kernel' saved [1099477]
--2015-06-25 09:50:01-- ftp://192.168.1.10/openwrt-ar71xx-mikrotik-rootfs.tar.gz
=> '/tmp/wget2nand/rootfs.tgz'
Connecting to 192.168.1.10:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD not needed.
==> SIZE openwrt-ar71xx-mikrotik-rootfs.tar.gz ... 4578223
==> PASV ... done. ==> RETR openwrt-ar71xx-mikrotik-rootfs.tar.gz ... done.
Length: 4578223 (4.4M) (unauthoritative)
openwrt-ar71xx-mikrotik-ro 100%[========================================>] 4.37M 9.97MB/s in 0.4s
2015-06-25 09:50:01 (9.97 MB/s) - '/tmp/wget2nand/rootfs.tgz' saved [4578223]
Erasing filesystem...
Mounting /dev/mtdblock6 as new root and /dev/mtdblock5 as kernel partition
Copying kernel...
Preparing filesystem...
....
Po udanym procesie system poinformuje o możliwości wykonania restartu co też należy wykonać.
Jeżeli proces
wget2nand nie pobiera do końca plików należy wcześniej zakończyć zbędne procesy i wyładować niektóre moduły żeby zwolnić zajętą pamięć ram.
LEDE i późniejsze wydania
Instalacja obecnych wydań przebiega dwuetapowo - najpierw wczytujemy odpowiedni plik do pamięci urządzenia, a następnie instalujemy obraz do pamięci NAND. Niezbędne są dwa pliki:
- openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf - plik służący do uruchomienia w pamięci, będzie wczytywany przez tftp do mikrotika
- openwrt-ar71xx-mikrotik-nand-large-squashfs-sysupgrade.bin - obraz systemu
Do instalacji wymagane są jeszcze dwa serwery -
tftp oraz
http. W tym przykładzie serwery zostały uruchomione na adresie 192.168.1.10. Przed instalacją warto zrobić kopię certyfikatu licencji, dzięki czemu będzie możliwy bezproblemowy powrót do RouterOS w razie konieczności.
Uruchomienie w pamięci RAMUruchamiamy serwer tftp i wskazujemy pliki. Pod linuksem najprościej jest utworzyć skrypt:
#!/bin/bash
ifconfig eth0 192.168.1.10 up
dnsmasq -i eth0 --dhcp-range=192.168.1.100,192.168.1.200 \
--dhcp-boot=openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf \
--enable-tftp --tftp-root=/tmp -d -u cezary -p0 -K --log-dhcp --bootp-dynamic
Niezbędne jest zainstalowane
dnsmasq i jego wyłączenie jeżeli uruchomił się domyślnie. Plik
openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf należy umieścić w katalogu
/tmp, oczywiście zmieniamy użytkownika
cezary na takiego który jest dostępny w systemie. Uruchamiany tak stworzony skrypt.
Dla systemu Windows można użyć programów
tftpd32 lub
tftpd64.
Płytkę odłączamy od zasilania, wciskamy i trzymamy reset, podłączamy do zasilania. Urządzenie powinno migać wszystkimi ledami, wczytać obraz i po kilku sekundach poinformować sygnałem dźwiękowym o zakończeniu ładowania. Można zalogować się do urządzenia przez ssh pod adresem 192.168.1.1, nie resetujemy urządzenia bo system uruchomiony jest tylko w ramie!
Instalacja do pamięci NANDNiezbędny będzie serwer
http, w którym należy umieścić plik z obrazem systemu np. dla ułatwienia o nazwie
openwrt.bin (zmieniamy nazwę pliku openwrt-ar71xx-mikrotik-nand-large-squashfs-sysupgrade.bin) Po zalogowaniu się do routera przez ssh wydajemy polecenie:
# cd /tmp
# wget http://192.168.1.10/openwrt.bin
# sysupgrade -n /tmp/openwrt.bin
Elementy specyficzne dla urządzenia
Aktualizacja oprogramowania
Z racji sposobu zapisu danych w nand nie ma możliwości wykonania aktualizacji oprogramowania poleceniem
sysupgrade w wydaniu Chaos Calmer. Jedyna możliwość w wydaniu CC to ponowna instalacja oprogramowania przez tftp.
W LEDE 17.01.0-rc2 i późniejszych aktualizację można wykonać w standardowy sposób przy pomocy
sysupgrade.
USB
Port USB jest współdzielony ze slotem miniPCIe. Można więc albo używać urządzenia w USB albo karty w slocie. Po restarcie domyślnie zasilane jest złącze USB, jeżeli chcemy używać karty USB w miniPCIe należy przełączyć USB na tą kartę. Oczywiście nie ma takiej potrzeby jeżeli w slocie używana jest normalna karta WiFI, przełączenie dotyczy to tylko kart pełniących rolę USB (np. modemy). Za sterowanie w obecnych firmware odpowiedzialna jest linia gpio 61:
echo 61 > /sys/class/gpio/export
Wysłanie 0 przełączy zasilanie na slot miniPCIe:
echo 0 > /sys/class/gpio/gpio61/value
Wysłanie 1 przełączy zasilanie na USB:
echo 1 > /sys/class/gpio/gpio61/value
Nie ma potrzeby wykonywania w/w czynności ręcznie, w obecnych wydaniach można to ustawić w pliku /etc/config/system.
GPIO
60 - kontrola portu USB (przełączenie USB do fizycznego portu lub miniPCIe)
61 - kontrola złącza miniPCIe (włączenie/wyłączenie)
Ustawienie parametrów sprzętu
W repozytorium OpenWrt dostępny jest program
rbcfg który pozwala na ustawienie niektórych parametrów płytki - szybkości portu szeregowego, kolejności wczytywania obrazów z interfejsów itd. Nie działa on na wszystkich płytach MikroTik, ale działa na RB912.