[Nut-upsdev] usbhid-ups fails with Belkin F6C120-UNV in nut-2.4.3
    Jon Burgess 
    jburgess777 at googlemail.com
       
    Sat Mar 20 19:19:08 UTC 2010
    
    
  
On Sat, 2010-03-20 at 19:27 +0100, Arjen de Korte wrote:
> Citeren Jon Burgess <jburgess777 at googlemail.com>:
> 
> 
> > The change in SVN r2098 triggers the problem. By looking at the usbmon
> > output I see that this device fails to respond to the get_report
> > requests when the request size is 512 bytes.
> 
> Thanks for reporting this. Can you try if fixing the size to 8 bytes  
> (instead of SMALLBUF) helps? You may wish to change both of the  
> following lines in in 'drivers/libhid.c':
> 
> 144 	        unsigned char   buf[8];
> 472 	        unsigned char   buf[8];
> 
> I vaguely remember that you can't read more than 8 bytes in a single  
> operation, but I don't recall if this is a Belkin specific limitation  
> or depends on the libusb version used.
8 bytes works and seems to be largest value that does. 
It appears that this UPS is a low speed device and the USB standard
seems to say these only support transactions of up to 8 bytes in length
  usb 7-1: new low speed USB device using uhci_hcd and address 2
There are a few mentions of 8 bytes in the lsusb output for the device:
  bMaxPacketSize0         8
  wMaxPacketSize     0x0008  1x 8 bytes
	Jon
> Note that the logic that attempted to calculate the size of reports is  
> flawed in earlier versions. Devices that would report more than the  
> calculated size would find that these reports would be ignored  
> completely. This isn't good either.
> 
> Best regards, Arjen
    
    
More information about the Nut-upsdev
mailing list