On Sep 17, 2010, at 9:00 AM, Will Cooke wrote:
On 17 September 2010 13:26, Charles Lepple <[email protected]> wrote:
<snip>
What would be interesting is to compare this with the corresponding
initialization message from the driver which says how the driver
interprets that bit. Can you post a log starting from when the driver
is launched, and ending once it starts printing messages like the
ones
quoted above? (I'd suggest gzipping the log in case it gets big.)
Is this the "Report Descriptor" section? If so, attached.
It was generated using the stub driver, so it might not be quite what
you're after. I've attached two files, one where there was input AC
power applied to the UPS and one without.
Yes, I was looking for both the hex dump and the interpreted section.
Thanks.
The HID Report Descriptor (that the usbhid-ups driver reads at
startup) contains the mapping between the ReportID and its bitfields,
and the symbolic "Path" that the rest of the driver uses. In theory,
the UPS provides all the information needed to find out which bit
controls OL/OB, but in practice it seems that most manufacturers
don't
do interoperability testing, and they just make sure their UPS works
with their software. If possible, we would like to find a general
correction, rather than hardcoding a specific bit to mean something.
Is this the "offset" stuff? I can see from the log file that it talks
about different paths using the same "ReportID" but with a different
offset. This seems to be understood by the driver, but the values
reported are always zero.
I will have to double-check the code, but I am pretty sure that
"Offset" and "Size" are in bits, and they apply to the 2nd and
subsequent bytes of the "Report[buf]" lines. The first byte is the
ReportID.
* I don't understand what all the sections of the hid_info_t line do.
I've been wildly changing values from NULL to various %s, %e etc etc
to try and work out what it does to no avail.
Here's the definition:
http://trac.networkupstools.org/projects/nut/browser/trunk/drivers/usbhid-ups.h#L112
And the info_lkp_t structure is at line 61 in the same file.
In drivers/usbhid-ups.c, can you change %f to %g in the following
lines (2 occurrences) :
upsdebugx(2, "Path: %s, Type: %s, ReportID: 0x%02x, Offset: %i, Size:
%i, Value: %f",
This changes it from a fixed-point notation to floating point.
_______________________________________________
Nut-upsuser mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser