LINUX.ORG.RU
решено ФорумAdmin

apcupsd не работает

 , ,


0

1

Поставил сабж. APC SMT750i, подключён через USB, на устройстве включил modbus. apctest устройство видит и может взаимодействовать:

[root@home apcupsd]# apctest
2018-02-27 19:39:55 apctest 3.14.14 (31 May 2016) redhat
Checking configuration ...
sharenet.type = Network & ShareUPS Disabled
cable.type = USB Cable
mode.type = MODBUS UPS Driver
Setting up the port ...
Doing prep_device() ...

You are using a MODBUS cable type, so I'm entering MODBUS test mode
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing MODBUS UPSes.

Getting UPS capabilities...SUCCESS

Please select the function you want to perform.

1)  Test kill UPS power
2)  Perform self-test
3)  Read last self-test result
4)  View/Change battery date
5)  View manufacturing date
10) Perform battery calibration
11) Test alarm
 Q) Quit

При этом, если запускаю apcupsd, то он через минуту броадкастит, мол соединение потеряно.

[root@home apcupsd]# systemctl start apcupsd
[root@home apcupsd]# apcaccess
APC      : 001,018,0456
DATE     : 2018-02-27 19:41:47 +0600
HOSTNAME : home.vbezhenar.com
VERSION  : 3.14.14 (31 May 2016) redhat
UPSNAME  : SMT750i
CABLE    : USB Cable
DRIVER   : MODBUS UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2018-02-27 19:41:07 +0600
STATUS   : COMMLOST
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 60 Seconds
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
STATFLAG : 0x05000100
END APC  : 2018-02-27 19:41:47 +0600

[root@home apcupsd]# cat /var/log/apcupsd.events
2018-02-27 19:41:07 +0600  apcupsd 3.14.14 (31 May 2016) redhat startup succeeded
2018-02-27 19:42:07 +0600  Communications with UPS lost.

Конфиг почти дефолтный:

[root@home apcupsd]# cat /etc/apcupsd/apcupsd.conf
## apcupsd.conf v1.1 ##
UPSNAME SMT750i

UPSCABLE usb
UPSTYPE modbus 1
DEVICE
POLLTIME 60
LOCKFILE /var/lock
SCRIPTDIR /etc/apcupsd
PWRFAILDIR /etc/apcupsd
NOLOGINDIR /etc
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 3
TIMEOUT 60
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 127.0.0.1
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0

ОС RHEL 7.4, apcupsd из EPEL.

★★★★★

По предварительным разборкам виноват, как обычно, selinux. Если его отключить, вроде как начинает работать демон. Будем курить в эту сторону...

Legioner ★★★★★ ()
Ответ на: комментарий от Legioner

В общем поменял в /etc/selinux/config значение enforcing на permissive, перезагрузился, командой audit2allow -b -M apcupsd_local сгенерировал конфиг для selinux, получилось что-то вроде

module apcupsd_local 1.0;

require {
        type apcupsd_t;
        class netlink_kobject_uevent_socket { bind create getattr setopt };
}

#============= apcupsd_t ==============
allow apcupsd_t self:netlink_kobject_uevent_socket { bind create getattr setopt };
загрузил его командой semodule -i apcupsd_local.pp, поменял в /etc/selinux/config назад на enforcing, перезагрузился, вроде нормально работает.

Legioner ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.