Linux/UPS

From Omnia
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

UPS

APC

use #apcupsd

CyberPower

Use #apcupsd

http://www.cyberpowersystems.com/support/product-support.html

Or you can use APC with these modifications:

# /etc/apcupsd/apcupsd.conf

UPSCABLE usb
UPSTYPE usb
DEVICE

apctest can only perform the following with a CyberPower UPS:

[?]  1)  Test kill UPS power
[X]  2)  Perform self-test
[X]  3)  Read last self-test result
[ ]  4)  View/Change battery date
[ ]  5)  View manufacturing date
[X]  6)  View/Change alarm behavior
[ ]  7)  View/Change sensitivity
[X]  8)  View/Change low transfer voltage  (LOTRANS = 100 Volts)
[X]  9)  View/Change high transfer voltage  (HITRANS = 140 Volts)
[X]  10) Perform battery calibration
[ ]  11) Test alarm
[ ]  12) View/Change self-test interval

apcaccess interesting fields:

# ups details
MODEL    : UPS CP600
SERIALNO : AEC7101.251

# full battery
STATUS   : ONLINE
# low battery
STATUS   : ONLINE LOWBATT

# load level, and battery charge
# full battery
LOADPCT  :  47.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  12.0 Minutes
# low level battery
LOADPCT  :  48.0 Percent Load Capacity
BCHARGE  : 053.0 Percent
TIMELEFT :   5.1 Minutes

# levels at when the alarm goes off
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
ALARMDEL : 30 seconds

# nominal voltage and wattage
NOMINV   : 120 Volts
NOMPOWER : 340 Watts

apcaccess full battery example:

APC      : 001,032,0795
DATE     : 2013-07-26 22:16:36 -0600
HOSTNAME : prime.t0e.org
VERSION  : 3.14.10 (13 September 2011) redhat
UPSNAME  : prime.t0e.org
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2013-07-26 14:36:27 -0600
MODEL    : UPS CP600
STATUS   : ONLINE
LINEV    : 116.0 Volts
LOADPCT  :  47.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  12.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 116.0 Volts
DWAKE    : 000 Seconds
LOTRANS  : 100.0 Volts
HITRANS  : 140.0 Volts
ALARMDEL : 30 seconds
NUMXFERS : 0
TONBATT  : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : WN
STATFLAG : 0x07000008 Status Flag
SERIALNO : AEC7101.251
NOMINV   : 120 Volts
NOMPOWER : 340 Watts
END APC  : 2013-07-26 22:16:41 -0600

apcaccess low battery example:

APC      : 001,032,0803
DATE     : 2013-07-26 14:15:11 -0600
HOSTNAME : prime.t0e.org
VERSION  : 3.14.10 (13 September 2011) redhat
UPSNAME  : prime.t0e.org
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2013-07-26 14:15:09 -0600
MODEL    : UPS CP600
STATUS   : ONLINE LOWBATT
LINEV    : 112.0 Volts
LOADPCT  :  48.0 Percent Load Capacity
BCHARGE  : 053.0 Percent
TIMELEFT :   5.1 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 112.0 Volts
DWAKE    : 000 Seconds
LOTRANS  : 100.0 Volts
HITRANS  : 140.0 Volts
ALARMDEL : 30 seconds
NUMXFERS : 0
TONBATT  : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : WN
STATFLAG : 0x07000048 Status Flag
SERIALNO : AEC7101.251
NOMINV   : 120 Volts
NOMPOWER : 340 Watts
END APC  : 2013-07-26 14:15:16 -0600

Issues

Transfer to endpoint failed

kernel: [67839.403339] Transfer to device 6 endpoint 0x1 frame 2026 failed - FIQ reported NYET. Data may have been lost.

USB Device 6 turns out to be the UPS:

# lsusb
Bus 001 Device 006: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS

Seems to be an intermittent issue as able to still get UPS device status with apcaccess.

The UPS is connected to a RaspberryPi and Google searches seem to show this issue appears to be isolated to the Raspberry Pi.

apcupsd

apcupsd - APC UPS power control daemon

APCUPSD User Manual - http://www.apcupsd.com/manual/

# CentOS/RedHat:
yum install --enablerepo=rpmforge  apcupsd    # rpmforge
# Ubuntu
apt-get install apcupsd
# /etc/apcupsd/apcupsd.conf

UPSCABLE usb
UPSTYPE usb
DEVICE

Test UPS: (apcupsd can't be running)

# modify/test certain aspects of the UPS
apctest

Start the service:

chkconfig apcupsd on
service apcupsd restart

To get UPS details: (apcupsd must be running

apcaccess

To get the field details:

man apcaccess

References:

apcupsd actions scripts - "This shell script if placed in /etc/apcupsd will be called by /etc/apcupsd/apccontrol when the UPS goes on batteries. We send an email message to root to notify him."

/etc/apcupsd/onbattery - when the UPS goes on batteries
/etc/apcupsd/offbattery - when the UPS comes off batteries
/etc/apcupsd/killpower - before apcupsd kills power in the UPS
/etc/apcupsd/changeme - when battery should be replaced
/etc/apcupsd/commfailure - when apcupsd loses contact with UPS
/etc/apcupsd/commok - when apcupsd restores contact with UPS

NUT

Network UPS Tools - http://www.networkupstools.org/

Network UPS Tools (NUT) project is to provide support for Power Devices, such as Uninterruptible Power Supplies, Power Distribution Units and Solar Controllers.

UPS connected via USB:

ohci_hcd 0000:00:12.0: wakeup
usb 4-3: new low speed USB device using ohci_hcd and address 2
usb 4-3: configuration #1 chosen from 1 choice
hiddev96,hidraw96: USB HID v1.10 Device [CPS UPS CP600] on usb-0000:00:12.0-3

Installation:

mkdir -p ~/.src ; cd ~/.src
wget http://www.networkupstools.org/source/2.6/nut-2.6.5.tar.gz
tar -zvxf nut-2.6.5.tar.gz
cd nut-2.6.5
./configure --prefix /opt/nut
make
sudo make install