NUT soros támogatás OpenWrt-n

2018. november 24, 12:32 | Molnár Péter

Az Eaton 5P szünetmentesem USB és soros portos csatlakozású. Mivel a legtöbb kiskategóriás OpenWrt útválasztó inkább USB port-al szerelt, mint sorossal, egyszerűbb a szünetmentest USB port-on csatlakoztatni.

Tapasztalatom szerint ha az Eaton 5P szünetmentes viszonylag gyakran vált az akkumulátor és a betáp között, az USB kapcsolat megszakadhat. A soros kapcsolat megbízhatóbbnak bizonyult.

Hardver

Szükséged lesz:

  1. Soros portos, NUT kompatíbilis szünetmentes.
  2. Jó minőségű USB-soros átalakító (FTDI vagy CP210X chip-készlet javasolt).
  3. OpenWrt útválasztó USB port-al.
  4. Kábelek.

Az én cuccaim: Eaton 5P szünetmentes, FTDI alapú USB-soros átalakító és egy öreg Asus WL-500G Premium V2 útválasztó. Alapvetően használhatod a saját USB képes OpenWrt útválasztódat és USB-soros átalakítódat.

|...................... Én megoldásom ......................|
|                                                           |
| OpenWrt <---- USB ----> USB-serial <---- serial ----> UPS |
| router                   adapter                          |


|.......................... Csak USB .......................|
|                                                           |
| OpenWrt <------------------ USB --------------------> UPS |
| router                     cable                          |

FONTOS! Ne használd egyidőben az Eaton 5P szünetmentes USB és soros portját.

Szoftver

A NUT az usbhid-ups meghajtót használja az USB kapcsolathoz és az mge-shut meghajtót a soros kapcsolathoz.

Alapértelmezetten az OpenWrt 18.06-hoz csomagolt NUT nem tartalmaz soros támogatást és újra kell fordítani. Ezután a NUT csomagok átmásolhatók az OpenWrt útválasztóra és kézzel telepíthetők.

Töltsd le a forrást. Az OpenWrt/Lede verziódnak megfelelő ágat válaszd.

git clone -b openwrt-18.06 https://github.com/openwrt/openwrt.git
cd openwrt

Töltsd le és készítsd elő a feed-eket.

scripts/feeds update -a
scripts/feeds install -a

Keresd meg a LEDE_BOARD és LEDE_ARCH változókat az /etc/os-release állományban. Ezek az OpenWrt target és subtarget nálad.

...
LEDE_BOARD="brcm47xx/legacy" # Példa board.
LEDE_ARCH="mipsel_mips32"    # Példa arch.
...

Indítsd el az OpenWrt Configurator-t.

make menuconfig

Válaszd ki a megfelelő beállításokat az OpenWrt Configurator-ban. Válaszd ki a target, subtarget és profile értékeket az OpenWrt útválasztódnak megfelelően.

Target System -> Broadcom BCM47xx/53xx (MIPS) # Válassz target-et.
Subtarget -> Legacy (BMIPS3300)               # Válassz subtarget-et.
Target Profile -> Asus WL-500gP v2            # Válassz target profile-t.
...
[*] Advanced configuration options (for developers)
...
[*] Build the OpenWrt SDK
...
Kernel modules --->
 USB Support --->
  <M> kmod-usb-serial
...
Libraries --->
 ...
 <M> libusb-1.0
 <M> libusb-compat
...
Network --->
 ...
 <M> nut --->
  ...
  [*]   Build with support for USB drivers
  ...
  [*]   Build with support for serial drivers
  ...
  <M> nut-driver-mge-shut
  ...
  <M> nut-driver-usbhid-ups
  ...
  <M> nut-server
  <M> nut-upsc
  <M> nut-upscmd
  <M> nut-upslog
  ...
  <M> nut-upsrw
  <M> nut-upssched
Megjegyzés: a target, subtarget és target profile csak példák.

Fordítsd le az alaprendszert. Ez eltart egy darabig.

make

Fordítsd le a NUT csomagokat.

make package/nut/download V=99
make package/nut/prepare V=99
make package/nut/compile V=99
make package/index

A lefordított csomagok a bin/packages/<ARCH>/packages/ könyvtárban vannak.

Másold a csomagokat az útválasztódra scp-vel.

Telepítsd fel az USB-soros átalakító kernel modulokat. FTDI, CP210X, PL2303 gyakori USB-soros átalakító chip-ek.

opkg install kmod-usb-serial-<ftdi|pl2303|cp210x>.

Telepítsd fel a NUT összetevőit.

opkg install nut_2.7.4-7_mipsel_mips32.ipk
opkg install nut-common_2.7.4-7_mipsel_mips32.ipk
opkg install nut-driver-mge-shut_2.7.4-7_mipsel_mips32.ipk
opkg install nut-driver-usbhid-ups_2.7.4-7_mipsel_mips32.ipk
opkg install nut-server_2.7.4-7_mipsel_mips32.ipk
opkg install nut-upsc_2.7.4-7_mipsel_mips32.ipk
opkg install nut-upscmd_2.7.4-7_mipsel_mips32.ipk
opkg install nut-upslog_2.7.4-7_mipsel_mips32.ipk
opkg install nut-upsmon_2.7.4-7_mipsel_mips32.ipk

Mostmár a NUT beállítható, hogy soros portot használjon a /dev/ttyUSBX eszközzel.