nut
nut copied to clipboard
[HCL] <Cyber Power Systems> <CP550SLG> [<CP425SLG> also?] supported by <usbhid-ups>
Model: Cyber Power Systems CP550SLG (possibly CP425SLG as well, since they share the same manual)
Mfgr info: https://www.cyberpowersystems.com/product/ups/standby/cp550slg/
Tested using entware on an Asus ax86u router
Output of uname -a:
Linux birdsnest 4.1.52 #2 SMP PREEMPT Wed Jun 22 15:39:18 EDT 2022 aarch64 ASUSWRT-Merlin
Truncated output of lsusb:
$ lsusb -v
Bus 004 Device 046: ID 0764:0501 CPS ST Series
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0764
idProduct 0x0501
bcdDevice 0.01
iManufacturer 3 CPS
iProduct 1 ST Series
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0022
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 50mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 607
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 10
Device Status: 0x0000
(Bus Powered)
Output of upsc:
$ upsc ups1
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 20
battery.mfr.date: CPS
battery.runtime: 5368
battery.runtime.low: 300
battery.type: PbAcid
battery.voltage: 14.1
battery.voltage.nominal: 12
device.mfr: CPS
device.model: ST Series
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 10
driver.parameter.port: auto
driver.parameter.synchronous: no
driver.version: merge-with-ng-1379-g30be439d
driver.version.data: CyberPower HID 0.4
driver.version.internal: 0.41
input.transfer.high: 140
input.transfer.low: 96
input.voltage: 120.0
input.voltage.nominal: 0
output.voltage: 120.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.load: 8
ups.mfr: CPS
ups.model: ST Series
ups.productid: 0501
ups.realpower.nominal: 375
ups.status: OL
ups.timer.shutdown: -60
ups.timer.start: -60
ups.vendorid: 0764
Output of upsrw:
$ upsrw ups1
[battery.charge.low]
Remaining battery level when UPS switches to LB (percent)
Type: STRING
Maximum length: 10
Value: 10
[battery.runtime.low]
Remaining battery runtime when UPS switches to LB (seconds)
Type: STRING
Maximum length: 10
Value: 300
[input.transfer.high]
High voltage transfer point (V)
Type: STRING
Maximum length: 10
Value: 140
[input.transfer.low]
Low voltage transfer point (V)
Type: STRING
Maximum length: 10
Value: 96
[ups.delay.shutdown]
Interval to wait after shutdown with delay command (seconds)
Type: STRING
Maximum length: 10
Value: 20
[ups.delay.start]
Interval to wait before (re)starting the load (seconds)
Type: STRING
Maximum length: 10
Value: 30
$ upsrw -s battery.runtime.low=20 ups1
OK
Output of upscmd:
$ upscmd -l ups1
Instant commands supported on UPS [ups1]:
beeper.disable - Disable the UPS beeper
beeper.enable - Enable the UPS beeper
beeper.mute - Temporarily mute the UPS beeper
beeper.off - Obsolete (use beeper.disable or beeper.mute)
beeper.on - Obsolete (use beeper.enable)
load.off - Turn off the load immediately
load.off.delay - Turn off the load with a delay (seconds)
load.on - Turn on the load immediately
load.on.delay - Turn on the load with a delay (seconds)
shutdown.return - Turn off the load and return when power is back
shutdown.stayoff - Turn off the load and remain off
shutdown.stop - Stop a shutdown in progress
test.battery.start.deep - Start a deep battery test
test.battery.start.quick - Start a quick battery test
test.battery.stop - Stop the battery test
$ upscmd ups1 beeper.disable=1
OK
ups.conf:
[ups1]
driver = usbhid-ups
port = auto
pollinterval = 10
desc = "Cyberpower CP550SLG"
Additional Notes:
- The
input.voltage.nominalseems incorrect. - Attempting to change variables or run commands with
upsrworupscmd, respectively, seem to be working. They return statusOK,upscreflects changes made byupsrw, and the device emits an acknowledgement beep forupscmd.