[Nut-upsuser] Fwd: Cyberpower usbhid-ups wrong battery voltage
Arjen de Korte
nut+users at de-korte.org
Wed Apr 2 10:04:06 UTC 2008
> 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