[Nut-upsuser] Fwd: Cyberpower usbhid-ups wrong battery voltage

davor emard davoremard at gmail.com
Wed Apr 2 10:17:06 UTC 2008


HI

I will have access to many cyberpower 800E units
just when they deliver them. Also I may need access
to a voltmeter that can log to a file so we can let
battery discharge and compare upsc with the voltmeter
readings.
from there we can curve fit to get scale/offset or even
do the nonlinear calibration if the values are really odd.
Currently I can only tell that reading of 21.3 corresponds
to 13.7V at battery terminals

No problem I'll try -DDDDD if I can find out something
indicative

Best regards, Davor



On 4/2/08, Arjen de Korte <nut+users at de-korte.org> wrote:
> > I think the firmware is broken as it didn't apply correction
> > factor/offset to get volts in the HID diescriptors.
>
> In that case, there is little we can do, unless we have a way to find the
> correct coefficients and also are sure that these are applicable for *all*
> devices that use the same VendorID and ProductID. Unless you're working
> for CyberPower or have access to many units, I doubt we can find out
> either of those.
>
> > I haven't scanned the protocol - but *I think* in the HID
> > report descriptors contains fields for measured value of
> > the battery voltage and the physical unit (V, mV) that
> > describes the value. Unit can be a physical unit but also
> > some undimensioned value (that may need correction
> > factor and offset)
>
> We use all the above in the logical to physical conversion. Since the
> reported value has a decimal, I'm certain that the HID descriptor contains
> the fields needed to do this, but apparently they are wrong.
>
> > I wonder is the cyberpower really outputting volts wrong
> > or does it report an undimensioned value which in the
> > upsc gets interpreted as volts although it is not true volt
> > measure report
>
> The 'upsc' client doesn't interpret anything, it reports the values from
> the 'upsd' server ad verbatim. It is the 'usbhid-ups' driver that is doing
> the grunt work of converting from logical to physical values. You can look
> quite detailed what is going on by running the 'usbhid-ups' driver with
> the additional debugging flags '-DDDDD'. It will report all the
> information it reads from the UPS on the console then (until you stop it).
> Note that at this debuglevel it will be very verbose, so you may wish to
> capture this to a logfile before examining it.
>
> Best regards, Arjen
>
>



More information about the Nut-upsuser mailing list