Przygotowanie i instalacja OpenWrt na RouterBOARD 912UAG 2HPnD
Ostatnia zmiana: 2024-10-05 12:19
Krótka specyfikacja:
- architektura: Atheros ath79
- 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 (sygnały USB 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) oraz BaseBox5 (jako moduł z radiem 5GHz), jest także osobna wersja oznaczona jako 912UAG-5HPnD z interfejsem radiowym 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 14.07. 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, jeżeli używamy innego wydania nazwa pliku może być inna - w sumie może być dowolna, byle by sam plik był obrazem
initramfs oraz 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 prostej 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 z USB 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 3G/4G). Za sterowanie przełączaniem odpowiedzialna jest jedna z linii gpio, we współczesnym OpenWrt są one już automatycznie eksportowane. Przełączenie USB na slot minipcie:
# echo 0 > /sys/class/gpio/power-usb/value
# echo 1 > /sys/class/gpio/power-pcie/value