[Nut-upsuser] CyberPower BR850ELCD ignores offdelay and turns itself back on while still on battery

Charles Lepple clepple at gmail.com
Thu Jan 22 03:46:59 UTC 2015

On Jan 21, 2015, at 9:15 AM, Sebastian Hosche <sebastian.hosche at web.de> wrote:

> Hi there,
> I just purchased a CyberPower BR850ELCD and while setting NUT up with the install instructions from the homepage was pretty straightforward, and the UPS was detected by the usbhid-ups driver, I'm having problems getting the UPS to work properly.
> First issue: whatever I set as the offdelay, seems to be ignored and the UPS just cuts the power about 2sec after receiving the shutdown command.

What values have you tried? I wonder if it is rounding down to 0 seconds.

> Second issue: When the UPS is on battery power and I issue the shutdown, it goes off, but after about 15sec it comes back on even while still on battery power. I tried setting ondelay to -1 and while that keeps the USV off, when the power comes back, the USV appears to turn on, but there is no power on its outlets. Only the additional 3 outlets that are not covered by the battery, do have power. The only fix is to turn off the USV and turn it back on.
> For this issue, I attached three driver debug logs:

USV == UPS, correct? Or is there another module involved?

I know this sounds off-topic, but in the logs, the PercentLoad is always 0. Is this actually the case, or is this a measurement error?

Two possibilities:

1) the UPS has some sort of "ECO" mode that thinks there is no load, and it was not expecting the particular shutdown command that NUT sent

2) the PercentLoad variable is being scaled incorrectly. In this case, the values for offdelay and ondelay might also be similarly affect.

Case #2 is also likely because after 2.6.4 was released, we patched drivers/cps-hid.c to scale the battery voltage.

Unfortunately, 2.6.4 is old enough that it does not print fractional values, so we would need to infer scale problems from the HID Report Descriptor.

> 1. debug_default-ondelay.txt - it starts with the UPS on battery power getting a shutdown. Afterward the driver quits, I run it right away to capture the UPS coming back while still on battery.
> 2. debug_ondelay_-1.txt - starts again with the shutdown command while on battery. After about 15sec the UPS relay clicks as usual while still on battery, but this time it doesn't switch on the connected device. I restore the power to the UPS and still the connected device remains without power. I did verify that the non UPS outlets of the UPS do carry power.
> I turn off the UPS and back on, which returns power to the connected device.
> 3. debug_no-prior-shutdown.txt - that's a log I recorded first without running any of the shutdown tests.

Can you do one more log with a higher debug level? 

"-DDD" should get the report descriptor mentioned above. It doesn't need to run for long.

> In addition to the debug logs, I also was curious to see if anything changed in the uspc output after I issued the shutdown command. I attached that as the upsc_output_on_shutdown.txt file. Only on the first command, did I include all the variables. For subsequent commands, I just included the ones that changed over the course of the test.
> Before cutting the power, you can see the "OB DISCHARG" status in 2)))) as I would expect it for when the UPS is on battery power.
> That changes into "OB CHRG" in 3)))) after I issued the shutdown command. What does that mean? on battery + charge doesn't make any sense to me.

Doesn't make any sense to me either, but it's definitely what the UPS is reporting:

from debug_ondelay_-1.txt

   2.131848     Path: UPS.PowerSummary.PresentStatus.ACPresent, Type: Feature, ReportID: 0x22, Offset: 0, Size: 1, Value: 0
   2.131970     Path: UPS.PowerSummary.PresentStatus.Charging, Type: Feature, ReportID: 0x22, Offset: 1, Size: 1, Value: 1
   2.132153     Path: UPS.PowerSummary.PresentStatus.Discharging, Type: Feature, ReportID: 0x22, Offset: 2, Size: 1, Value: 0

Ordinarily, I would check to see if the OB and CHRG bits are coming from different reports, but they are from the same byte of Report 0x22.

> 4)))) is then shortly before the UPS turns power back on (while still on battery) - the "ups.timer.shutdown" variable is back to the default.
> 5)))) is after the UPS turned the power back on (still running on battery) - The status changed to "OB DISCHARG" and the "ups.timer.start" is also back to default.

This is also confusing, but I'll have to look at the code again to see what should be happening.

> I'm running Debian 7 with the latest security updates installed on an ODroid U3 (armhf architecture).
> NUT version is 2.6.4-2.3+deb7u1 and was installed via apt-get package manager.

Thank you, it is very helpful to have such specific information.

> UPS is the CyberPower BR850ELCD - specs are on the homepage:
> http://eu.cyberpowersystems.com/products/ups_systems/brics_lcd/br850elcd.htm
> Does anyone have an idea on what I could change to get the UPS to not turn back on while still on battery?
> As a next test, I'll try to run the battery down to see how it acts then. I'm hoping that it'll not turn on the power until the mains is plugged back in.
> Thanks,
> Sebastian
> <logs.zip>_______________________________________________
> Nut-upsuser mailing list
> Nut-upsuser at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser

Charles Lepple
clepple at gmail

More information about the Nut-upsuser mailing list