[Nut-upsuser] [HCL] Cyber Power Systems CP1500AVRLCDa supported by usbhid-ups

Mike the.lists at mgm51.com
Mon Jun 5 15:21:23 UTC 2017


On 6/4/2017 4:46 PM, Charles Lepple wrote:
[snip]


>> 4) when I went down to 95 volts, the "AVR" kicked in to boost the
>> voltage without going to battery.  This was indicated by a "click" from
>> the UPS and an indication on the UPS display.
> 
> In non-explore mode, does the driver report the AVR status? (No need to set things back up if you have torn it down already, just curious.)

With 120 volt input to the UPS:

	ups.status: OL


With 97 volt input to the UPS and AVR displayed on the UPS' display:

	ups.status: OL BOOST



> 
> Regarding the battery.mfr.date thing, I should have checked on the source code earlier. It is just retrieving a number from UPS.PowerSummary.iOEMInformation, and using that as a USB string index. Looks like a typo - none of the other DDL entries for CPS show anything that looks like a date. The CPS HID code was forked from the APC HID code, and APC has their own algorithm for encoding battery dates (which is what I thought I was remembering).
> 
> Does OpenBSD have something like FreeBSD's usbconfig? You could try retrieving other string descriptors to see if this is something that got moved (and iOEMInformation happened to point to the right string), or if it is just a mistake in the source code.
> 
>    usbconfig -u	0 -a 1 dump_string 3

I haven't explored to see if OpenBSD has the equivalent (or similar)
command.  On the other hand, I did have a test system set up with
FreeBSD 11.0 (AMD64), nut-2.7.4_1 from the FreeBSD pkg.  :)

dmseg excerpt for the UPS:

	ugen1.2: <CPS> at usbus1


Result of the command, where "n" is incremented in a loop:

	# usbconfig -u 1 -a 2 dump_string n
	STRING_0x00 = 0x04, 0x03, 0x09, 0x04
	STRING_0x01 = <CP1500AVRLCDa>
	STRING_0x02 = <CTHGN200xxxx>
	STRING_0x03 = <CPS>
	STRING_0x04 = <PbAcid>
	STRING_0x05 = <BF01512BA31>
	STRING_0x06 = <read error>
	STRING_0x07 = <read error>
	STRING_0x08 = <read error>
	STRING_0x09 = <read error>
	STRING_0x0a = <read error>

I wasn't sure how high I should go with "n," so I stopped at 10.

Is that what you were looking for?





More information about the Nut-upsuser mailing list