Vypnutí pípání UPS v Linuxu
Pokud máte UPS zařízení, které při výpadku napájení neustále nepříjemně pípá a výrobce tvrdí, že “zvuk nelze vypnout”, ve skutečnosti to ve většině případů vypnout lze. Zabere to asi 3–5 minut a potřebujete k tomu Linux s nainstalovaným balíčkem nut (Network UPS Tools). Na konci použijeme příkaz upscmd, ale než se k tomu dostaneme, projdeme pár kroků.
1. Instalace balíčku NUT
sudo apt install nut
2. Konfigurace UPS v /etc/nut/ups.conf
Podle svého UPS zařízení přidejte následující řádky (název sekce si můžete zvolit libovolně; zde používáme eaton):
[eaton]
driver = usbhid-ups
port = auto
desc = "Eaton 5E"
3. Spuštění ovladače UPS
sudo upsdrvctl start
Pokud se objeví chyba typu:
Can't claim USB device [0463:ffff]: could not detach kernel driver from interface 0: Operation not permitted
Driver failed to start (exit status=1)
Znamená to, že proces NUT nemá přístup k USB zařízení. Musíme nastavit správná práva.
4. Nastavení udev pravidel
Nejdřív zjisti vendor ID a product ID svého UPS:
lsusb | grep UPS
Například výstup může vypadat takto:
Bus 003 Device 005: ID 0463:ffff MGE UPS Systems UPS
Tedy vendor id = 0x0463 a product id = 0xffff.
Vytvořte soubor /etc/udev/rules.d/90-ups.rules a vložte do něj:
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0463", ATTR{idProduct}=="ffff", MODE="0660", GROUP="nut"
Poté restartujte udev a odpojte/připojte USB kabel UPS:
sudo service udev restart
5. Znovu spusťte ovladač
sudo upsdrvctl start
Teď už by měl start projít bez chyb.
6. Zprovoznění NUT serveru (upsd)
Pokud při dotazu (upsc eaton) dostanete:
Error: Connection failure: Connection refused
Ještě neběží proces upsd.
Upravte soubor /etc/nut/nut.conf:
MODE=standalone
V souboru /etc/nut/upsd.conf odkomentujte řádek:
LISTEN 127.0.0.1 3493
A restartujte server:
sudo systemctl reload nut-server.service
7. Zjištění stavu pípání
upsc eaton ups.beeper.status
Mělo by se zobrazit enabled.
8. Nastavení přístupu pro změnu konfigurace
Do souboru /etc/nut/upsd.users přidejte:
[admin]
password = "test1337"
actions = SET
instcmds = ALL
A znovu načti konfiguraci:
sudo upsd -c reload
9. Výpis podporovaných příkazů UPS
upscmd -l eaton
Mimo jiné uvidíte:
beeper.disable - Disable the UPS beeper
beeper.enable - Enable the UPS beeper
beeper.mute - Temporarily mute the UPS beeper
10. Vypnutí pípání
Teď už stačí použít příkaz:
upscmd eaton beeper.disable
Zadejte přihlašovací údaje:
Username (greg): admin
Password:
OK
Ověření, že je pípání skutečně vypnuté:
upsc eaton ups.beeper.status
Výstup:
disabled
A je hotovo – UPS už nebude otravně pípat při výpadku proudu.