[Nut-upsuser] Emerson/Liebert GXT3

Charles Lepple clepple at gmail.com
Sat Nov 8 23:46:50 UTC 2014


On Nov 7, 2014, at 7:30 AM, Marcelo Fernandez <marcelo.fidel.fernandez at gmail.com> wrote:

> 2014-11-07 0:16 GMT-03:00 Charles Lepple <clepple at gmail.com>:
>> On Nov 6, 2014, at 5:56 PM, Marcelo Fernandez <marcelo.fidel.fernandez at gmail.com> wrote:
>> 
>>> battery.voltage: 10000000.
>>> battery.voltage.nominal: 0.0
>> 
>> Well, these are certainly interesting values ;-)
>> 
>> I suspect the correction for earlier units has failed. Can you please start the driver with "-DDD", let it run for a minute, then gzip and attach the resulting log?
> 
> Yes, sure. Here it is.
> 
> Let me know if it's enough to diagnose that weird value.

Here is the problem:

Starting at 0.062904 (reformatted):

Report[buf]: (5 bytes) => 05 51 00 48 00
Path: UPS.PowerSummary.Voltage, Type: Feature, ReportID: 0x05, Offset: 0, Size: 16, Value: 1

Report[buf]: (5 bytes) => 05 51 00 48 00
Path: UPS.PowerSummary.ConfigVoltage, Type: Feature, ReportID: 0x05, Offset: 16, Size: 16, Value: 0

ConfigVoltage = 0 -> assuming correction factor = 1e+08

The Voltage of 0x51 (81 V) and ConfigVoltage of 0x48 (72 V) seem reasonable, but somewhere else in the HID Report Descriptor, the voltages are getting scaled to a "Logical" range of 0-1.

Can you temporarily comment out line 383 in drivers/libhid.c and rebuild? It currently looks like this:

   *Value = logical_to_physical(hiddata, hValue);

If that works, we can add a flag to ignore logical-to-physical mappings.

-- 
Charles Lepple
clepple at gmail






More information about the Nut-upsuser mailing list