[Nut-upsdev] NUT-2.0.5: newhidups on RedHat ES4 ( cont'd )

Patrick Agrain patrick.agrain at alcatel-lucent.fr
Mon Apr 2 16:03:21 UTC 2007


Hi all,

I removed the udev rules and put instead the libhidups and libhid.usermap 
in the /etc/hotplug/usb directory.

Plug in the UPS now shows the correct user / permissions on 
/proc/bus/usb/BBB/DDD. That's the good news.
--------------
[root at sxb ~]# ls -als /proc/bus/usb/001
total 0
0 dr-xr-xr-x  2 root root  0 avr  3  2007 .
0 drwxr-xr-x  3 root root  0 avr  3  2007 ..
0 -rw-r--r--  1 root root 43 avr  3  2007 001
0 -rw-rw-r--  1 root nut  52 avr  3 09:58 003
--------------

Unfortunately, the test of the driver still fails and exits with a broken pipe.
--------
[root at sxb ~]# /sbin/newhidups -u root -a mgeups -DDDDD
Network UPS Tools: 0.28 USB communication driver 0.28 - core 0.30 (2.0.5)
debug level is '5'
Checking device (0463/FFFF) (001/003)
- VendorID: 0463
- ProductID: ffff
- Manufacturer: MGE UPS SYSTEMS
- Product: EXtreme
- Serial Number: 885B25011
- Bus: 001
Trying to match device
Device matches
HID descriptor, method 1: (9 bytes) => 09 21 00 01 21 01 22 63 06
i=0, extra[i]=09, extra[i+1]=21
HID descriptor, method 2: (9 bytes) => 09 21 00 01 21 01 22 63 06
HID descriptor retrieved (Reportlen = 1635)
Unable to get Report descriptor (-32): Broken pipe
Checking device (0000/0000) (001/001)
- VendorID: 0000
- ProductID: 0000
- Manufacturer: Linux 2.6.9-34.EL uhci_hcd
- Product: UHCI Host Controller
- Serial Number: 0000:00:07.2
- Bus: 001
Trying to match device
Device does not match - skipping
No appropriate HID device found
No matching HID UPS found
[root at sxb ~]#
----------------------------------------

The USB traffic analyzer shows two things.
First :
During the enumeration process of the USB peripheral, the set_address 
process always output address 1, even if you plug/unplug the UPS several times.
See the log up there, the UPS should have address 3 and the USB traffic 
analyzer gives address 1.
Comparison performed with other machine show that the Device Number and its 
USB address should be similar.
OK. Let's it aside, it's not the topic of this mailing-list.

Second :
During the Get_Descriptor (HID Report) process, only 588 bytes out of 1635 
(?) are retrieved.
The analyzer points out a "Missing Status" for the last transaction, but it 
seems more to be a complete transfer stop, because the last 8-bytes 
transfer (bytes 580 to 587) is complete.

Question : Total Length of the Report Descriptor is wrong. The Report of 
this UPS has only 1536 bytes. Any idea about the reason of this "digit mix" ?

Regards,
Patrick Agrain




More information about the Nut-upsdev mailing list