From owner-freebsd-current@FreeBSD.ORG Mon Mar 6 09:05:12 2006 Return-Path: X-Original-To: freebsd-current@www.freebsd.org Delivered-To: freebsd-current@www.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E8B6116A420; Mon, 6 Mar 2006 09:05:12 +0000 (GMT) (envelope-from nenad.k@yubc.net) Received: from rudnik.yubc.net (rudnik.yubc.net [212.124.160.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4041243D64; Mon, 6 Mar 2006 09:05:11 +0000 (GMT) (envelope-from nenad.k@yubc.net) Received: from [212.124.187.67] (sinet-lan-67.yubc.net [212.124.187.67]) (authenticated bits=0) by rudnik.yubc.net (8.12.10/8.12.10) with ESMTP id k268pAMW028153; Mon, 6 Mar 2006 09:51:10 +0100 Message-ID: <440BFB06.3060103@yubc.net> Date: Mon, 06 Mar 2006 10:04:06 +0100 From: Nenad Kljajic User-Agent: Mozilla Thunderbird 1.0RC1 (X11/20041209) X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-current@www.freebsd.org, freebsd-usb@freebsd.org Content-Type: multipart/mixed; boundary="------------020101070204080206010109" X-Mailman-Approved-At: Mon, 06 Mar 2006 12:42:58 +0000 Cc: Subject: Logitech USB Receiver mouse workaround patch X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Mar 2006 09:05:13 -0000 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--