Ядро 2.6.25-gentoo-r7.
Nut 2.0.5-r2.
Настраивал так:
1. USE="usb hal" emerge sys-power/nut
2. В ядре включил:
Код: Выделить всё
Device Drivers
---HID Devices
------[*] USB Human Interface Device (full HID) support
------[*] /dev/hiddev raw HID device support
Device Drivers
---USB support
------[*] USB Serial Converter support --->
---------[*] USB Cypress M8 USB Serial Driver
3. Скопировал бинарник драйвера powercom в /lib/nut, заменив оригинальный.
4. Поправил конфиги вот так:
/etc/nut/ups.conf
Код: Выделить всё
[powercom]
driver = powercom
port = /dev/ttyUSB0
type = IMPERIAL
desk = "IMD-525AP"
/etc/nut/upsd.conf
Код: Выделить всё
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1
ACCEPT localhost
REJECT all
/etc/nut/upsd.users
Код: Выделить всё
[root]
password = рутовый_пароль
allowfrom = localhost
actions = SET
instcmds = ALL
upsmon master
/etc/nut/upsmon.conf
Код: Выделить всё
MONITOR powercom@localhost 1 root рутовый_пароль master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h now"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
NOTIFYMSG ONBATT SYSLOG+WALL+EXEC
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
5. usermod -G usb nut && rc-update add upsd default && rc-update add upsmon default
После ребута наблюдаю следущее:
Код: Выделить всё
* Starting UPS driver ...
Network UPS Tools - UPS driver controller 2.0.5
Network UPS Tools - PowerCom and similars protocol UPS driver $ Revision: 0.6 $ (2.0.5)
Unable to open /dev/ttyUSB0: Premission denied
Current user id: nut (84)
Serial port owner: root (0)
Serial port group: uucp (14)
Mode of port: 0660
Things to try:
- Use another port (with the right premissions)
- Fix the port owner/group or premissions on this port
- Run this driver as another user (upsdrvctl -u or 'user=...' in ups.conf).
See upsdrvctl(8) and ups.conf(5).
Fatal error: unusable configuration
Driver failed to start (exit status=1)
* Failed to start UPS drivers!
* ERROR: cannot start upsd as upsdrv could not start
Понятно, что ему не хватает прав для доступа к устройству, но как такое может быть если юзер - рут? Как исправить?
Если сделать chmod 777 /dev/ttyUSB0 и вручную запустить /etc/init.d/upsd start && /etc/init.d/upsmon start то все запускается гладко, но почему то при upsc powercom@127.0.0.1 отвечает ошибкой: Error: Server disconnected. Если
Как заставить работать дравер?
ps запуск /lib/nut/powercom -a ups -u root -DD -x type=IMPERIAL -x port=/dev/ttyUSB0 проходит на ура и показывает правильную информацию о упсе.