Przygotowanie i instalacja OpenWrt na RouterBOARD 912UAG 2HPnD
Ostatnia zmiana: 2024-10-05 12:19

image

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 RAM

Uruchamiamy 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!

Instalacja do pamięci NAND

Niezbę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 RAM

Uruchamiamy 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 NAND

Niezbę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