Instalacja OpenWrt
Ostatnia zmiana: 2020-05-21 18:58

ZyXEL NSA-310 jest (był) dość popularnym urządzeniem NAS. Jest dość tanie i posiada duże możliwości - istnieje możliwość instalacji dodatkowego oprogramowania przy zachowaniu oryginalnego lub instalacji linuksa (Arch, Debian) z różnymi środowiskami, np. webmin czy openmediavault. Ten opis dotyczy instalacji i konfiguracji OpenWrt 19.07.

Dane techniczne

Istnieje kilka wersji tego urządzenia oznaczonych jako NSA-310, NSA-310a, NSA-310b, NSA-310s. Różnią się one ilością dostępnych diod LED, obecnością czujnika temperatury czy chipu od ethernetu. Poniższe zestawienie dotyczy modelu NSA-310b:

  • SOC: Feroceon 88F6281 A1 (DDR2) 1,2GHz, rdzeń ARM926EJ-S rev 1
  • RAM: 256 MiB DRAM
  • Flash: 128 MiB NAND (Samsung)
  • 1x Ethernet: Realtek r8169 Gigabit ethernet, 10/100/1000Mbps ze wsparciem dla jumboframe
  • 2x USB 2.0
  • wbudowane złącze SATA na dysk 3.5"
  • zewnętrzny port eSATA
  • trzy programowane przyciski
  • pięć programowanych diod LED (dwukolorowych, zielono-czerwonych)
  • RTC (zegar czasu rzeczywistego)
  • czujnik temperatury LM85 (na magistrali i2c)
  • wentylator z regulacją obrotów (sterowany z PWM)
  • wsparcie dla WoL

Instalacja

- dowolny nośnik (pendrive) należy przeformatować na system plików fat z jedną partycją
- skopiować na nośnik pliki: u-boot.kwb (bootloader, do pobrania z witryny OpenWrt) oraz nsa310.bin - plik factory dla NSA-310 (np. openwrt-kirkwood-zyxel_nsa310b-squashfs-factory.bin) któremu trzeba zmienić nazwę na krótszą, np. na nsa310.bin
- nośnik podłączyć do portu USB NSA310
- do płytki podłączyć interfejs szeregowy (parametry transmisji: 115200 8n1)

W urządzeniu będzie zmieniony bootloader. Należy podłączyć się konsolą szeregową, uruchomić urządzenie, przerwać uruchamianie i kolejno:


    NSA310> usb reset
    ...
    NSA310> fatload usb 0 0x1000000 u-boot.kwb
    ...
    NSA310> nand erase 0x0 0x100000
    ...
    NSA310> nand write 0x1000000 0x00000 0x100000
    ...
    NSA310> reboot

Po restarcie ponownie przerywamy bootloader. Uboot z OpenWrt sam ustawi większość wymaganych zmiennych środowiskowych, wprowadzamy tylko poprawny adres MAC urządzenia który można znaleźć na obudowie:


    NSA310> setenv ethaddr AB:CD:EF:00:00:00
    NSA310> saveenv

Na następnie można zainstalować obraz we flash:


    NSA310> usb reset
    ...
    NSA310> fatload usb 0 0x2000000 nsa310.bin
    ...
    NSA310> nand erase.part ubi
    ...
    NSA310> nand write 0x2000000 ubi 0x1000000
    ...
    NSA310> reset

(jeżeli wgrywany obraz jest większy od 16MB to należy stosowanie zmienić wielkość obrazu - 0x1000000 na odpowiednio większy)

Elementy specyficzne dla urządzenia

Czujniki temperatury

Sensorem temperatury jest chip LM85, który wymaga instalacji sterownika (jeżeli nie został wcześniej zainstalowany):


    # opkg update
    # opkg install kmod-hwmon-lm85

Do odczytu służy program sensors ze pakietu lm-sensors:


    # opkg install lm-sensors
    # sensors
    lm85-i2c-0-2e
    Adapter: mv64xxx_i2c adapter
    in0: 1.81 V (min = +0.00 V, max = +3.32 V)
    in1: 1.08 V (min = +0.00 V, max = +2.99 V)
    in2: 3.21 V (min = +0.00 V, max = +4.38 V)
    in3: 5.03 V (min = +0.00 V, max = +6.64 V)
    in4: 12.06 V (min = +0.00 V, max = +15.94 V)
    fan1: 4112 RPM (min = 0 RPM)
    fan2: 0 RPM (min = 0 RPM)
    fan3: 0 RPM (min = 0 RPM)
    fan4: 0 RPM (min = 0 RPM)
    temp1: +34.0°C (low = -127.0°C, high = +127.0°C)
    temp2: +35.0°C (low = -127.0°C, high = +127.0°C)
    temp3: +40.0°C (low = -127.0°C, high = +127.0°C)
    cpu0_vid: +0.000 V

temp3 to temperatura CPU.
Oprócz tego możliwy jest odczyt temperatury dysku twardego przez SMART (oczywiście jeżeli dysk ma czujnik temperatury), po instalacji pakietu smartmontools:


    # smartctl -A /dev/sda | awk '/^194/ {print $10}'

(o ile dysk SATA mamy jako sda)

Wentylator

Odczyt prędkości obrotowej możliwy jest przy pomocy programu sensors (fan1 - patrz wyżej). W OpenWrt dostarczany jest standardowo skrypt ustawiający obroty wentylatora w zależności od temperatury (patrz plik /etc/init.d/hwmon_fancontrol).
Wentylator w NSA310 nie jest wysokiej jakości, w związku z tym prędkość obrotowa potrafi "pływać" z różnicą nawet 200 obrotów na minutę.

WoL

Urządzenie wspiera Wake-on-LAN, jednakże należy pamiętać, że sygnał wybudzenia musi być wysłany na adres MAC 00:00:00:00:00:30 a nie taki jaki fabrycznie ma urządzenie.
W niektórych przypadkach trzeba WoL najpierw włączyć:


    # opkg update
    # opkg install ethtool
    # ethtool -s eth0 wol g

Konsola szeregowa

Parametry transmisji: 115200 8n1


    1 GND
    2 - (nie podłączony, brak pinu)
    3 TX
    4 RX
    5 VCC