[Nut-upsdev] usbhid-ups fails with Belkin F6C120-UNV in nut-2.4.3

Jon Burgess jburgess777 at googlemail.com
Sat Mar 20 21:45:58 UTC 2010


On Sat, 2010-03-20 at 22:13 +0100, Arjen de Korte wrote:
> Citeren Charles Lepple <clepple at gmail.com>:
> 
> > Several years ago on the linux-usb list, it was often pointed out  
> > that the kernel was supposed to honor the wMaxPacketSize field, and  
> > fragment the requests accordingly. While this was suggested for  
> > performance reasons (fewer round trips between user and kernel  
> > space), it should still hold true for less frequent transfers.
> 
> This was my understanding too, but for instance the blazer_usb (and  
> megatec_usb) also fragment transfers in 8-byte chunks themselves. A  
> while back we tried to query for larger chunks, but this wasn't  
> reliable at all.
> 
> It looks like we can't trust that the kernel will do this for us, so I  
> guess it would be better to do this in the libusb.c module. If memory  
> serves, it would be possible to get wMaxPacketSize somehow from the  
> device handle.

I was wondering whether the 8 byte limit is going to be common for all
low speed devices. If I read the hid specs correctly, the reports are
read from the interrupt end point and these look like they are limited
to a single 8 byte packet for a low speed device.

Perhaps usb_connectinfo.slow can be used to detect such slow speed
devices?

> Best regards, Arjen





More information about the Nut-upsdev mailing list