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

Charles Lepple clepple at gmail.com
Wed Apr 4 12:51:09 UTC 2007


On 4/4/07, Patrick Agrain <patrick.agrain at alcatel-lucent.fr> wrote:
> At 14:22 04/04/2007, Charles Lepple wrote:
> >On 4/4/07, Patrick Agrain <patrick.agrain at alcatel-lucent.fr> wrote:
> >>
> >> >
> >> >This error doesn't look good.
> >> >
> >> >Can you retrieve the HID Report Descriptor with either Peter
> >> >Selinger's descriptor tool (mentioned in the NUT list archives; email
> >> >me back if you can't find it) or 'lsusb -vvv' run as root?
> >>
> >>Charles, here is the lsusb output :
> >>
> >>[root at sxb ~]# lsusb -vvv
> >>Bus 001 Device 003: ID 0463:ffff MGE UPS Systems UPS
> >[...]
> >>          HID Device Descriptor:
> >>            bLength                 9
> >>            bDescriptorType        33
> >>            bcdHID               1.00
> >>            bCountryCode           33 US
> >>            bNumDescriptors         1
> >>            bDescriptorType        34 Report
> >>            wDescriptorLength    1635
> >>cannot get report descriptor
> >
> >You will sometimes see that last line when the kernel usbhid driver
> >has taken over the UPS.
>
> usbhid tries, but exits with error :
> Apr  5 04:43:22 sxb kernel: usb 1-1: new full speed USB device using address 3
> Apr  5 04:43:22 sxb kernel: usbhid: probe of 1-1:1.0 failed with error -5

Ah, right, I forgot about that. MGE UPSes were blacklisted from the
usbhid driver, since at that time, usbhid could not retrieve reports
from nested collections. So you're right, usbhid is not affecting the
outcome.

> [root at sxb tmp]# cat /proc/bus/usb/devices
> T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
> D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
> P:  Vendor=0463 ProdID=ffff Rev= 1.00
> S:  Manufacturer=MGE UPS SYSTEMS
> S:  Product=EXtreme
> S:  SerialNumber=885B25011
> C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 20mA
> I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)
> E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
>
> In /proc/bus/usb/devices, the UPS is not owned by the usbhid driver. This
> is probably due to the previous probe error.
>
>
> >I am not sure if this is the latest copy of Peter's get_descriptor
> >tool, but it should do the trick:
> >
> >http://lists.alioth.debian.org/pipermail/nut-upsdev/2006-February/000612.html
> >
> >That mailing list thread was concerned with getting the correct
> >wDescriptorLength, which I think you are seeing, but it also retrieves
> >that many bytes from the UPS (and that is apparently where newhidups
> >is getting an error).
>
> I'll try it.

Sounds good.

-- 
- Charles Lepple



More information about the Nut-upsdev mailing list