История изменений
Исправление roiman, (текущая версия) :
Добрался до стац. компа. Прочитал нормально логи.
Сайт говорит, что драйвер usbhid-ups
. Подключаешь ты UPS по USB.
И, судя по тому логу, когда ты его запускала от рута, драйвер работает.
Но, ещё раз, от рута не нужно его использовать.
В общем, на стадии драйвера какие затыки в CentOS.
1. Драйверу нужно, чтобы группа usb-устройства была nut, а по умолчанию она прописывается как dialout. Поэтому нужно поправить и подключить правила udev, чтобы при каждом подключении выставлялась нужная группа. Для этого:
1.1 Копируешь правила из пакета nut в рабочу папку udev:
cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/
1.2 Правишь этот файл (/etc/udev/rules.d/62-nut-usbups.rules
). Находишь строчку своего устройства по idVendor и idProduct. У тебя это:
ATTR{idVendor}=="0d9f", ATTR{idProduct}=="00a4", MODE="664", GROUP="dialout"
И меняешь dialout на nut
1.3 Перетыкаешь кабель, чтобы переподключить и выставилась нормальная группа. Дальше она будет автоматом нормально выставляться при каждой загрузке. Проверяешь, чтобы у устройства /dev/bus/usb/004/002
была группа nut
ls -la /dev/bus/usb/004/
crw-rw-r--. 1 root nut 189, 385 июл 17 09:54 002
2. Драйвер запускается не просто командой upsdrvctl start
. Для него еще предварительно нужно создать временную папку /var/run/nut
, чтобы он записывал туда свои pid-файлы. Для этого был создан юнит systemd. В нём предварительно создается эта временная папка и только потом запускается драйвер. Но мейнтейнеры положили файл, где прописана эта папка, не в то место, которое прописано в юните. Поэтому:
2.1 Открываешь файл:
/usr/lib/tmpfiles.d/nut-run.conf
И правишь его содержимое на:
D /var/run/nut 0750 nut nut -
F /var/run/nut/upsd.pid 0750 nut nut - 12220
F /var/run/nut/upsmon.pid 0750 nut nut - 12221
2.2 Правишь путь к этому файлу в юните nut-server. Открываешь файл:
/usr/lib/systemd/system/nut-server.service
И меняешь --create /etc/tmpfiles.d/nut-run.conf
на --create /usr/lib/tmpfiles.d/nut-run.conf
2.3 Перезагружаешь systemd:
systemctl daemon-reload
2.4 Драйвер запускается командой запуска этого юнита:
systemctl start nut-server
2.5 Команда systemctl status nut-server
должна выдывать успешный репорт:
● nut-server.service - Network UPS Tools - power devices information server
Loaded: loaded (/usr/lib/systemd/system/nut-server.service; enabled; vendor preset: disabled)
Active: active (running) since Пн 2018-07-16 14:32:12 +05; 19h ago
Main PID: 1639 (upsd)
CGroup: /system.slice/nut-server.service
└─1639 /usr/sbin/upsd -F -u nut
июл 16 14:32:13 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:32:13 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 15:04:59 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 15:04:59 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 15:05:48 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 15:05:48 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
А команда upsc ups
что-то вроде этого:
battery.charge: 100
battery.voltage: 13.60
battery.voltage.high: 13.60
battery.voltage.low: 11.7
battery.voltage.nominal: 12.0
device.type: ups
driver.name: blazer_usb
driver.parameter.offdelay: 300
driver.parameter.ondelay: 60
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.7.2
driver.version.internal: 0.11
input.current.nominal: 3.0
input.frequency: 49.9
input.frequency.nominal: 50
input.voltage: 235.2
input.voltage.fault: 234.7
input.voltage.nominal: 220
output.voltage: 235.2
ups.beeper.status: enabled
ups.delay.shutdown: 300
ups.delay.start: 3600
ups.load: 2
ups.productid: 5161
ups.status: OL
ups.temperature: 25.0
ups.type: offline / line interactive
ups.vendorid: 0665
Дальше, если вся эта «готовка» сработает, по обстоятельствам. Смотря, что ты хочешь от NUT и UPS. Будем разбираться. И статьи тоже могут помочь. В этом их рекомендации одинаковы для всех дистрибутивов.
Исправление roiman, :
Добрался до стац. компа. Прочитал нормально логи.
Сайт говорит, что драйвер usbhid-ups
. Подключаешь ты UPS по USB.
И, судя по тому логу, когда ты его запускала от рута, драйвер работает.
Но, ещё раз, от рута не нужно его использовать.
В общем, на стадии драйвера какие затыки в CentOS.
1. Драйверу нужно, чтобы группа usb-устройства была nut, а по умолчанию она прописывается как dialout. Поэтому нужно поправить и подключить правила udev, чтобы при каждом подключении выставлялась нужная группа. Для этого:
1.1 Копируешь правила из пакета nut в рабочу папку udev:
cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/
1.2 Правишь этот файл (/etc/udev/rules.d/62-nut-usbups.rules
). Находишь строчку своего устройства по idVendor и idProduct. У тебя это:
ATTR{idVendor}=="0d9f", ATTR{idProduct}=="00a4", MODE="664", GROUP="dialout"
И меняешь dialout на nut
1.3 Перетыкаешь кабель, чтобы переподключить и выставилась нормальная группа. Дальше она будет автоматом нормально выставляться при каждой загрузке. Проверяешь, чтобы у устройства /dev/bus/usb/004/002
была группа nut
ls -la /dev/bus/usb/004/
crw-rw-r--. 1 root nut 189, 385 июл 17 09:54 002
2. Драйвер запускается не просто командой upsdrvctl start
. Для него еще предварительно нужно создать временную папку /var/run/nut
, чтобы он записывал туда свои pid-файлы. Для этого был создан юнит systemd. В нём предварительно создается эта временная папка и только потом запускается драйвер. Но мейнтейнеры положили файл, где прописана эта папка, не в то место, которое прописано в юните. Поэтому:
2.1 Открываешь файл:
/usr/lib/tmpfiles.d/nut-run.conf
И правишь его содержимое на:
D /var/run/nut 0750 nut nut -
F /var/run/nut/upsd.pid 0750 nut nut - 12220
F /var/run/nut/upsmon.pid 0750 nut nut - 12221
2.2 Правишь путь к этому файлу в юните nut-server. Открываешь файл:
/usr/lib/systemd/system/nut-server.service
И меняешь --create /etc/tmpfiles.d/nut-run.conf
на --create /usr/lib/tmpfiles.d/nut-run.conf
2.3 Перезагружаешь systemd:
systemctl daemon-reload
2.4 Драйвер запускается командой запуска этого юнита:
systemctl start nut-server
2.5 Команда systemctl status nut-server
должна выдывать успешный репорт:
● nut-server.service - Network UPS Tools - power devices information server
Loaded: loaded (/usr/lib/systemd/system/nut-server.service; enabled; vendor preset: disabled)
Active: active (running) since Пн 2018-07-16 14:32:12 +05; 19h ago
Main PID: 1639 (upsd)
CGroup: /system.slice/nut-server.service
└─1639 /usr/sbin/upsd -F -u nut
июл 16 14:32:13 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:32:13 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 15:04:59 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 15:04:59 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 15:05:48 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 15:05:48 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
Дальше, если вся эта «готовка» сработает, по обстоятельствам. Смотря, что ты хочешь от NUT и UPS. Будем разбираться. И статьи тоже могут помочь. В этом их рекомендации одинаковы для всех дистрибутивов.
Исходная версия roiman, :
Добрался до стац. компа. Прочитал нормально логи.
Сайт говорит, что драйвер usbhid-ups
. Подключаешь ты UPS по USB.
И, судя по тому логу, когда ты его запускала от рута, драйвер работает.
Но, ещё раз, от рута не нужно его использовать.
В общем, на стадии драйвера какие затыки в CentOS.
1. Драйверу нужно, чтобы группа usb-устройства была nut, а по умолчанию она прописывается как dialout. Поэтому нужно поправить и подключить правила udev, чтобы при каждом подключении выставлялась нужная группа. Для этого:
1.1 Копируешь правила из пакета nut в рабочу папку udev:
cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/
1.2 Правишь этот файл (/etc/udev/rules.d/62-nut-usbups.rules
). Находишь строчку своего устройства по idVendor и idProduct. У тебя это:
ATTR{idVendor}=="0d9f", ATTR{idProduct}=="00a4", MODE="664", GROUP="dialout"
И меняешь dialout на nut
1.3 Перетыкаешь кабель, чтобы переподключить и выставилась нормальная группа. Дальше она будет автоматом нормально выставляться при каждой загрузке. Проверяешь, чтобы у устройства /dev/bus/usb/004/002 была группа nut
ls -la /dev/bus/usb/004/
crw-rw-r--. 1 root nut 189, 385 июл 17 09:54 002
2. Драйвер запускается не просто командой upsdrvctl start
. Для него еще предварительно нужно создать временную папку /var/run/nut
, чтобы он записывал туда свои pid-файлы. Для этого был создан юнит systemd. В нём предварительно создается эта временная папка и только потом запускается драйвер. Но мейнтейнеры положили файл, где прописана эта папка, не в то место, которое прописано в юните. Поэтому:
2.1 Открываешь файл:
/usr/lib/tmpfiles.d/nut-run.conf
И правишь его содержимое на:
D /var/run/nut 0750 nut nut -
F /var/run/nut/upsd.pid 0750 nut nut - 12220
F /var/run/nut/upsmon.pid 0750 nut nut - 12221
2.2 Правишь путь к этому файлу в юните nut-server. Открываешь файл:
/usr/lib/systemd/system/nut-server.service
И меняешь --create /etc/tmpfiles.d/nut-run.conf
на --create /usr/lib/tmpfiles.d/nut-run.conf
2.3 Перезагружаешь systemd:
systemctl daemon-reload
2.4 Драйвер запускается командой запуска этого юнита:
systemctl start nut-server
2.5 Команда systemctl status nut-server
должна выдывать успешный репорт:
● nut-server.service - Network UPS Tools - power devices information server
Loaded: loaded (/usr/lib/systemd/system/nut-server.service; enabled; vendor preset: disabled)
Active: active (running) since Пн 2018-07-16 14:32:12 +05; 19h ago
Main PID: 1639 (upsd)
CGroup: /system.slice/nut-server.service
└─1639 /usr/sbin/upsd -F -u nut
июл 16 14:32:13 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:32:13 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 14:58:01 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 15:04:59 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 15:04:59 proliant upsd[1639]: User nut@127.0.0.1 logged out from UPS [ippon]
июл 16 15:05:48 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
июл 16 15:05:48 proliant upsd[1639]: User nut@127.0.0.1 logged into UPS [ippon]
Дальше, если вся эта «готовка» сработает, по обстоятельствам. Смотря, что ты хочешь от NUT и UPS. Будем разбираться. И статьи тоже могут помочь. В этом их рекомендации одинаковы для всех дистрибутивов.