Date: Mon, 06 Mar 2006 10:04:06 +0100 From: Nenad Kljajic <nenad.k@yubc.net> To: freebsd-current@www.freebsd.org, freebsd-usb@freebsd.org Subject: Logitech USB Receiver mouse workaround patch Message-ID: <440BFB06.3060103@yubc.net>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------020101070204080206010109 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit 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 --------------020101070204080206010109 Content-Type: text/x-patch; name="ums.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ums.diff" *** 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)); --------------020101070204080206010109--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?440BFB06.3060103>