Obsługa Greencell UPS17 w NUT (Linux)

Niedawno kupiłem taki oto UPS jak na zdjęciu wyżej (fot. Media Markt): Green Cell UPS17, w celu zabezpieczenia działania domowego serwera na którym uruchomiony jest Proxmox (Debian 11). Po podłączeniu go przez dołączony kabelek USB trzeba jednak wykonać trochę czynności, aby system go widział poprawnie.

Instalacja NUT

NUT, czyli Network UPS Tools to zestaw pakietów służących do obsługi szerokiego zakresu urządzeń do podtrzymywania zasilania. Zainstalujmy metapakiet nut, który nam dociągnie wszystko co potrzebne:

apt install nut

Konfiguracja serwera NUT

Tu nie ma za dużo filozofii: musimy edytować plik /etc/nut/nut.conf, zmieniając linijkę na samym dole:

MODE=standalone

Weryfikacja połączenia z UPS

Ten krok zajął mi najwięcej czasu, ponieważ domyślny sterownik usbhid-ups nie współpracuje z tym urządzeniem – producent zastosował konwerter portu szeregowego na USB zamiast kontrolera HID. Najpierw, sprawdźmy w jaki sposób widoczny jest nasz zasilacz:

# lsusb
...

Bus 001 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port / Mobile Action MA-8910P

W moim wypadku, ten UPS pokazał się jako urządzenie 067b:2303 czyli PL2303 – konwerter portu szeregowego na USB. Sprawdźmy zatem czy w logu systemowym jest więcej informacji po podłączeniu kabelka:

# dmesg -w
...

[3299287.435928] usb 1-11: new full-speed USB device number 4 using xhci_hcd
[3299287.620919] usb 1-11: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 3.00
[3299287.622089] usb 1-11: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[3299287.623248] usb 1-11: Product: USB-Serial Controller
[3299287.624411] usb 1-11: Manufacturer: Prolific Technology Inc.
[3299287.660257] pl2303 1-11:1.0: pl2303 converter detected
[3299287.696012] usb 1-11: pl2303 converter now attached to ttyUSB0

Chyba najcenniejsza jest informacja pl2303 converter now attached to ttyUSB0. To nam mówi że od teraz mamy dostępny port szeregowy/dev/ttyUSB0, pod którym kryje się nasz nabytek.

Konfiguracja reguł udev

Ponieważ NUT pracuje domyślnie na własnym użytkowniku, musimy przyznać mu uprawnienia do korzystania z tego portu. Najprostszym wyjściem jest dodanie tego użytkownika do grupy dialout, ale ja pokusiłem się o użycie reguł udev. Zatem, tworzymy plik z regułami:

# nano /etc/udev/rules.d/90-nut-ups.rules

Zezwalamy w nim korzystanie z portów /dev/ttyUSB* dla grupy nut:

KERNEL=="ttyUSB[0-9]*", MODE="0666", GROUP="nut"

Jeszcze przeładowanie reguł:

# udevadm control --reload

Teraz musimy tylko wyjąć i włożyć wtyczkę USB.

Ustawienie NUT

Nie jest to specjalnie skomplikowana czynność. Należy zedytować plik konfiguracyjny:

# nano /etc/nut/ups.conf

i na dole wkleić blok konfiguracyjny dla naszego UPSa:

[greencellUPS17]
        driver = blazer_ser
        port = /dev/ttyUSB0

Nazwa w nawiasach kwadratowych jest dowolna, ja wybrałem taką żeby mieć gdzieś zapisane co to za model.

Większość poradników konfiguracji NUT podaje tutaj sterownik blazer_usb co niestety nie sprawdza się w przypadku Green Cell UPS17 z powodu który opisałem wyżej – używa on układu będącego adapterem portu szeregowego.

Weryfikacja działania

Nie pozostaje nic innego niż uruchomić test:

# upsdrvctl start

Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Megatec/Q1 protocol serial driver 1.57 (2.7.4)
Supported UPS detected with megatec protocol
Vendor information read in 1 tries
No values provided for battery high/low voltages in ups.conf

Using 'guestimation' (low: 20.800000, high: 26.000000)!
Battery runtime will not be calculated (runtimecal not set)

Jak widać, komunikacja została nawiązana! Możemy teraz uruchomić serwer NUT i spróbować zdobyć więcej danych:

# service nut-server start

# upsc greencellUPS17@localhost

Init SSL without certificate database
battery.charge: 100
battery.voltage: 27.36
...

Dalsze kroki

Nie chcę tutaj powielać wielu poradników dot. konfiguracji NUT, bo to zależy od docelowych potrzeb, zatem zakończę tutaj ten wpis. Mam nadzieję że okazał się pomocny przy konfiguracji tego konkretnego modelu UPSa albo innych, mających podobne połączenie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.