Hi,

There is some problem with hid_report_size() function
and Logitech USB receiver in /usr/src/sys/dev/usb/ums.c.
The returned value is 14 but it should be 8.
This results in subsamling mouse data and jerky cursor movement.

I have tested this workaround patch for
Logitech® Cordless Desktop® MX™ 3100
and it works fine now.


Nenad
*** ums.c.1.80	2006-03-06 09:41:19.000000000 +0100
--- ums.c.1.81	2006-03-06 09:47:27.000000000 +0100
***************
*** 313,318 ****
--- 313,325 ----
  				hid_input, &sc->sc_loc_btn[i-1], 0);
  
  	sc->sc_isize = hid_report_size(desc, size, hid_input, &sc->sc_iid);
+ #define LOGITECH_STRING "Logitech USB Receiver"
+ #define LOGITECH_STRLEN 21
+ #define LOGITECH_SC_ISIZE 8
+         if(!strncmp(devinfo,LOGITECH_STRING, LOGITECH_STRLEN)){
+         printf("%s: Logitech USB Receiver workaround\n", USBDEVNAME(sc->sc_dev));
+         sc->sc_isize=LOGITECH_SC_ISIZE; /* Logitech Wireless USB Receiver reports 14, it should be 8! */
+         }
  	sc->sc_ibuf = malloc(sc->sc_isize, M_USB, M_NOWAIT);
  	if (!sc->sc_ibuf) {
  		printf("%s: no memory\n", USBDEVNAME(sc->sc_dev));
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to