apcupsd on Linux does not report on APC BackUPS Pro 900
Posted
by
lserni
on Super User
See other posts from Super User
or by lserni
Published on 2013-11-04T15:37:49Z
Indexed on
2013/11/04
15:58 UTC
Read the original article
Hit count: 343
From what documentation I could find, the UPS should be (is!) supported by Linux and ought to work with apcupsd
. I looked for specific problems such as the infamous Microlink protocol, and found none.
I have found a feedback from a guy in UK that reports using this very model on a not-too-different OS version (his OpenSuSE 12.1, mine 12.3 x86_64).
The USB port is detected, lsusb
reports
Bus 002 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
and lsusb -v -s002:003
confirms and expands:
Bus 002 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x051d American Power Conversion
idProduct 0x0002 Uninterruptible Power Supply
bcdDevice 0.90
iManufacturer 1 American Power Conversion
iProduct 2 Back-UPS RS 900G FW:879.L4 .I USB FW:L4
bNumConfigurations 1
Configuration Descriptor:
[...]
Interface Descriptor:
[...]
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 1134
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 100
Device Status: 0x0000
(Bus Powered)
The kernel recognizes this and duly sets up
crw------- 1 root root 180, 96 Nov 4 16:11 /dev/usb/hiddev0
As far as I know, everything is as it should be.
I have put the standard configuration in /etc/apcupsd/apcupsd.conf
(which is Unix-terminated, ASCII-only, no BOM (just in case))
UPSCABLE usb
UPSTYPE usb
DEVICE
(I have also tried commenting out DEVICE
, and setting a device of /dev/puppa
results in an access attempt to /dev/puppa
, not some /var/lib/dev/puppa
or /dev/puppa\r\n
).
Yet, what apcaccess
tells me is
VERSION : 3.14.10 (13 September 2011) suse
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2013-11-04 16:24:22 +0100
MODEL :
STATUS : NOBATT
LINEV : 000.0 Volts
LOADPCT : 0.0 Percent Load Capacity
BCHARGE : 000.0 Percent
TIMELEFT : 0.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
SENSE : Low
LOTRANS : 000.0 Volts
HITRANS : 000.0 Volts
It doesn't recognize the model, and reports no battery (and no voltage). This confirms that it's not the Microlink problem, or it would report the battery status, if precious little else.
If I disconnect the USB cable, I get an apcupsd
message to the effect that communications have been lost; and I get the "communication restored" broadcast too, if I reconnect the cable. apcupsd
is monitoring.
So everything tells me that it should work -- only it doesn't. Does anyone spot what I'm missing?
© Super User or respective owner