[Nut-upsdev] Krauler UP-M500VA investigation

Peter Selinger selinger at mathstat.dal.ca
Wed Nov 15 08:18:19 CET 2006


This is good and bad. 

The good news is that you have a nice Usage tree (the lines starting
with Path: in your debug output below), and it is easy to guess the
function of all the variables, as they all use standard names (except
the top-level 00860004, which is likely a bug - should be 00840004).

I note that some of the usage paths seem incomplete (they end in a
period) - I just committed a change to SVN that might fix this
problem, if it is indeed a problem. ("svn update" will update your
sources).

Also, your usage tree seems to be identical to that of two other
devices that we have recently seen (see the nut-upsdev and nut-upsuser
mailing list archives): one of them was a "MEC" and the other an
"Ablerex".  Since all three devices have identical (or near-identical;
I did not check very carefully) usage trees, their internals are
probably made by the same company.  So if we ever support these
devices, there will probably be a single subdriver servicing all three
of them.

The bad news is the many "Can't retrieve Report" messages. It looks
like the device doesn't want to communicate any actual values of those
variables. This again is consistent with what we observed in the "MEC"
and "Ablerex" devices - they too resisted actually being read. That is
of course a flagrant violation of the USB specification. We have not
yet been able to coax any useful information out of these devices.

-- Peter

Alexander I. Gordeev wrote:
> 
> Hi, Peter,
> 
> This is the whole output:
> 
> admin at router:/tmp/harddisk/share/pub/system/development/newbuild2/opt/bin> =
> ./newhidups -DD -u admin -x generic -x vendorid=3D0001 auto
> Network UPS Tools: 0.28 USB communication driver 0.28 - core 0.30 (2.1.0)
> 
> debug level is '2'
> Checking device (0000/0000) (003/001)
> - VendorID: 0000
> - ProductID: 0000
> - Manufacturer: Linux 2.4.20 ehci_hcd
> - Product: PCI device 1106:3104
> - Serial Number: 01:03.2
> - Bus: 003
> Trying to match device
> Device does not match - skipping
> Checking device (04FC/0C15) (003/002)
> - VendorID: 04fc
> - ProductID: 0c15
> - Manufacturer: Sunplus Technology Inc.
> - Product: USB to Serial-ATA bridge
> - Serial Number: SAMSUNG SPS09QJ1NL805434
> - Bus: 003
> Trying to match device
> Device does not match - skipping
> Checking device (0000/0000) (002/001)
> - VendorID: 0000
> - ProductID: 0000
> - Manufacturer: unknown
> - Product: USB UHCI Root Hub
> - Serial Number: 120
> - Bus: 002
> Trying to match device
> Device does not match - skipping
> Checking device (0000/0000) (001/001)
> - VendorID: 0000
> - ProductID: 0000
> - Manufacturer: unknown
> - Product: USB UHCI Root Hub
> - Serial Number: 100
> - Bus: 001
> Trying to match device
> Device does not match - skipping
> Checking device (0001/0000) (001/003)
> - VendorID: 0001
> - ProductID: 0000
> - Manufacturer: unknown
> - Product: unknown
> - Serial Number: unknown
> - Bus: 001
> Trying to match device
> Device matches
> HID descriptor retrieved (Reportlen =3D 624)
> Report descriptor retrieved (Reportlen =3D 624)
> Found HID device
> Report Descriptor size =3D 624
> Detected a UPS: unknown/unknown
> Using subdriver: GENERIC HID 0.1
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.FlowID, Type: Feature
> Path: 00860004.Flow., Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.ConfigVoltage, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.ConfigFrequency, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.LowVoltageTransfer, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.HighVoltageTransfer, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.iManufacturer, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.iProduct, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.iSerialNumber, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.FlowID, Type: Feature
> Path: 00860004.Flow., Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.ConfigVoltage, Type: Feature
> Can't retrieve Report 1 (145): Connection timed out
> Path: 00860004.Flow.ConfigFrequency, Type: Feature
> Can't retrieve Report 2 (145): Connection timed out
> Path: 00860004.Flow.ConfigApparentPower, Type: Feature
> Can't retrieve Report 2 (145): Connection timed out
> Path: 00860004.Flow.ConfigActivePower, Type: Feature
> Can't retrieve Report 2 (145): Connection timed out
> Path: 00860004.Flow.DelayBeforeStartup, Type: Feature
> Can't retrieve Report 2 (145): Connection timed out
> Path: 00860004.Flow.DelayBeforeShutdown, Type: Feature
> Can't retrieve Report 3 (145): Connection timed out
> Path: 00860004.BatterySystem.BatterySystemID, Type: Feature
> Path: 00860004.BatterySystem., Type: Feature
> Can't retrieve Report 3 (145): Connection timed out
> Path: 00860004.BatterySystem.PresentStatus.Used, Type: Feature
> Can't retrieve Report 3 (145): Connection timed out
> Path: 00860004.BatterySystem.PresentStatus.Good, Type: Feature
> Path: 00860004.BatterySystem.PresentStatus., Type: Feature
> Can't retrieve Report 3 (145): Connection timed out
> Path: 00860004.BatterySystem.Voltage, Type: Feature
> Can't retrieve Report 3 (145): Connection timed out
> Path: 00860004.BatterySystem.Temperature, Type: Feature
> Can't retrieve Report 3 (145): Connection timed out
> Path: 00860004.BatterySystem.Test, Type: Input
> Path: 00860004.BatterySystem., Type: Input
> Path: 00860004.BatterySystem., Type: Input
> Path: 00860004.BatterySystem., Type: Input
> Path: 00860004.BatterySystem., Type: Input
> Path: 00860004.BatterySystem., Type: Input
> Path: 00860004.BatterySystem., Type: Input
> Can't retrieve Report 3 (145): Connection timed out
> Path: 00860004.BatterySystem.Test, Type: Feature
> Path: 00860004.BatterySystem., Type: Feature
> Path: 00860004.BatterySystem., Type: Feature
> Path: 00860004.BatterySystem., Type: Feature
> Path: 00860004.BatterySystem., Type: Feature
> Can't find object 00860004.PowerConverter.PowerConverterID
> Path: 00860004.PowerConverter.PowerConverterID, Type: Input
> Path: 00860004.PowerConverter., Type: Input
> Can't find object 00860004.PowerConverter.Input.InputID
> Path: 00860004.PowerConverter.Input.InputID, Type: Input
> Can't find object 00860004.PowerConverter.Input.FlowID
> Path: 00860004.PowerConverter.Input.FlowID, Type: Input
> Can't find object 00860004.PowerConverter.Input.PresentStatus.Good
> Path: 00860004.PowerConverter.Input.PresentStatus.Good, Type: Input
> Path: 00860004.PowerConverter.Input.PresentStatus., Type: Input
> Can't find object 00860004.PowerConverter.Input.Voltage
> Path: 00860004.PowerConverter.Input.Voltage, Type: Input
> Can't find object 00860004.PowerConverter.Input.Frequency
> Path: 00860004.PowerConverter.Input.Frequency, Type: Input
> Can't find object 00860004.PowerConverter.Output.OutputID
> Path: 00860004.PowerConverter.Output.OutputID, Type: Input
> Can't find object 00860004.PowerConverter.Output.FlowID
> Path: 00860004.PowerConverter.Output.FlowID, Type: Input
> Can't find object 00860004.PowerConverter.Output.Voltage
> Path: 00860004.PowerConverter.Output.Voltage, Type: Input
> Can't find object 00860004.PowerConverter.Output.Frequency
> Path: 00860004.PowerConverter.Output.Frequency, Type: Input
> Can't find object 00860004.PowerConverter.Output.PercentLoad
> Path: 00860004.PowerConverter.Output.PercentLoad, Type: Input
> Can't find object 00860004.PowerConverter.Output.PresentStatus.Overload
> Path: 00860004.PowerConverter.Output.PresentStatus.Overload, Type: Input
> Can't find object 00860004.PowerConverter.Output.PresentStatus.Boost
> Path: 00860004.PowerConverter.Output.PresentStatus.Boost, Type: Input
> Can't find object 00860004.PowerConverter.Output.PresentStatus.Buck
> Path: 00860004.PowerConverter.Output.PresentStatus.Buck, Type: Input
> Path: 00860004.PowerConverter.Output.PresentStatus., Type: Input
> upsdrv_updateinfo...
> dstate_init: sock /tmp/harddisk/share/pub/system/development/newbuild2/opt/=
> var/state/ups/newhidups-auto open on fd 5
> upsdrv_updateinfo...
> Waiting for notifications...
> upsdrv_updateinfo...
> Waiting for notifications...
> Signal 2: exiting
> Closing device
> 
> 
> I saw an updated hid-subdrivers.txt, I think I understand now... Great
> feature :)
> 
> Peter Selinger wrote:
> 
> > Hi Alex,
> 
> > the 2.0.4 release is too old. Please try the newest version from
> > SVN. See http://www.networkupstools.org/source.html -> Development
> > tree.=20
> 
> > Use "autoreconf" to populate the sources after downloading them, then
> > "./configure", "make", "make install" as usual.=20
> 
> > The information from -x generic will be crucial. I can't guess how to
> > interpret it until I see it.
> 
> > -- Peter
> 
> > Alexander I. Gordeev wrote:
> >>=20
> >> Hi, Peter,
> >>=20
> >> Thanks for the answer! I tried hardly to make it working with
> >> currently available drivers, but it seems to be not supported at all :(
> >> I tried to change vendor id in all subdrivers to correspond to my
> >> hardware, but it didn't help. I've got a lot of messages about missing
> >> reports and objects.
> >> I checked docs/hid-subdrivers.txt also, very informative, thanks for
> >> the link. But what should I do to know these hex values for usages?
> >>=20
> >> That's what I get as an output (with vendorid in subdrivers unchanged):
> >>=20
> >> admin at router:/tmp/harddisk/share/pub/system/development/newbuild/opt/bin=
> > ./newhidups -DD -u admin -x vendorid=3D0001 /dev/usb/hid/hiddev0
> >> Network UPS Tools: New USB/HID UPS driver 0.28 (2.0.4)
> >>=20
> >> debug level is '2'
> >> Checking device (0000/0000) (003/001)
> >> - VendorID: 0000
> >> - ProductID: 0000
> >> - Manufacturer: Linux 2.4.20 ehci_hcd
> >> - Product: PCI device 1106:3104
> >> - Serial Number: 01:03.2
> >> - Bus: 003
> >> Trying to match device
> >> Device does not match - skipping
> >> Checking device (04FC/0C15) (003/002)
> >> - VendorID: 04fc
> >> - ProductID: 0c15
> >> - Manufacturer: Sunplus Technology Inc.
> >> - Product: USB to Serial-ATA bridge
> >> - Serial Number: SAMSUNG SPS09QJ1NL805434
> >> - Bus: 003
> >> Trying to match device
> >> Device does not match - skipping
> >> Checking device (0000/0000) (002/001)
> >> - VendorID: 0000
> >> - ProductID: 0000
> >> - Manufacturer: unknown
> >> - Product: USB UHCI Root Hub
> >> - Serial Number: 120
> >> - Bus: 002
> >> Trying to match device
> >> Device does not match - skipping
> >> Checking device (0000/0000) (001/001)
> >> - VendorID: 0000
> >> - ProductID: 0000
> >> - Manufacturer: unknown
> >> - Product: USB UHCI Root Hub
> >> - Serial Number: 100
> >> - Bus: 001
> >> Trying to match device
> >> Device does not match - skipping
> >> Checking device (0001/0000) (001/003)
> >> - VendorID: 0001
> >> - ProductID: 0000
> >> - Manufacturer: unknown
> >> - Product: unknown
> >> - Serial Number: unknown
> >> - Bus: 001
> >> Trying to match device
> >> Device does not match - skipping
> >> No appropriate HID device found
> >> No matching USB/HID UPS found
> >>=20
> >> UPS is the last one for sure.
> >> By the way, option '-x generic' is not implemented.
> >>=20
> 
> --=20
> =D1 =F3=E2=E0=E6=E5=ED=E8=E5=EC,
>  Alexander                          mailto:lasaine at lvk.cs.msu.su
> 




More information about the Nut-upsdev mailing list