From owner-freebsd-usb@FreeBSD.ORG Sun Jul 30 18:50:14 2006 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7883D16A4E0 for ; Sun, 30 Jul 2006 18:50:14 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id D87F343D49 for ; Sun, 30 Jul 2006 18:50:13 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k6UIoDpL060702 for ; Sun, 30 Jul 2006 18:50:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k6UIoDW4060701; Sun, 30 Jul 2006 18:50:13 GMT (envelope-from gnats) Resent-Date: Sun, 30 Jul 2006 18:50:13 GMT Resent-Message-Id: <200607301850.k6UIoDW4060701@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-usb@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Heiko Przybyl Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C212A16A4E0 for ; Sun, 30 Jul 2006 18:48:51 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3110E43D6B for ; Sun, 30 Jul 2006 18:48:50 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k6UImnfU004659 for ; Sun, 30 Jul 2006 18:48:49 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k6UImnMj004658; Sun, 30 Jul 2006 18:48:49 GMT (envelope-from nobody) Message-Id: <200607301848.k6UImnMj004658@www.freebsd.org> Date: Sun, 30 Jul 2006 18:48:49 GMT From: Heiko Przybyl To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: usb/101066: Logitech iFeel MouseMan USB - UN53B X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Jul 2006 18:50:14 -0000 >Number: 101066 >Category: usb >Synopsis: Logitech iFeel MouseMan USB - UN53B >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-usb >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Jul 30 18:50:13 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Heiko Przybyl >Release: 7.0-CURRENT-200607 >Organization: - >Environment: FreeBSD tormented-soul 7.0-CURRENT-200607 FreeBSD 7.0-CURRENT-200607 #5: Sun Jul 30 16:07:28 CEST 2006 root@tormented-soul:/usr/src/sys/i386/compile/HEIKO i386 >Description: Hi. After switching from Linux to FreeBSD yesterday, I encounter problems with the mouse mentioned in the subject. It is neither recognized in the normal boot-up nor when re-plugging it after the boot-up, which renders the device (my only mouse) completely useless. Turning on USB_DEBUG has shown: "usbd_get_string: getting string failed, using 0". So this beauty seems to not understand the string descriptor requests. I have searched the usb-list and the net, but without any success. Ok, there was a hint about commenting out the code, but I think this is not the way it is ment to be. So I decided to have a look into the sources under /usr/src/sys/dev/usb. In fact, there is already a Logitech iFeel Mouse in usbdevs, but with a different device id. The listed device is 0xc030 whilst mine is 0xc032. So I added a new entry "product LOGITECH UN53B 0xc032 iFeel MouseMan". Actually this did not solve the problem of failing recognition of the device :-) So I took a closer look on usbdi.c::usbd_get_string() which is the point of failure and found "if (dev->quirks->uq_flags & UQ_NO_STRINGS)" which in turn checks the device for being unable to provide the strings usbdi.c::usbd_get_string() wants to extract. So the next step was to add the newly created usbdevs entry to usb_quirks.c with UQ_NO_STRINGS as the corresponding quirk. Now the mouse is shown in command usbdevs, works fine in moused and under Xorg. It is successfully recognized as /dev/ums0 4-button mouse with scroll wheel. Attached there are the patches of the changes I did. Hopefully they will find their way into the tree, since there seem to be a lot of people struggling with that (mouse') problem. Btw. system is: AthlonXP on VIAKT400A+ (VT82xxxxx UHCI USB) running 7.0-CURRENT-200607. Best regards, Heiko >How-To-Repeat: restart the system plug out/in the mouse :-) >Fix: add "product LOGITECH UN53B 0xc032 iFeel MouseMan" to /usr/src/sys/dev/usb/usbdevs add "{ USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_UN53B, ANY, { UQ_NO_STRINGS }}," to /usr/src/sys/dev/usb/usb_quirks.c If needed, I am able to provided patches for those files. >Release-Note: >Audit-Trail: >Unformatted: