From owner-freebsd-usb@FreeBSD.ORG Thu Dec 10 07:10:06 2009 Return-Path: Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97F541065670 for ; Thu, 10 Dec 2009 07:10:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 6D7C68FC18 for ; Thu, 10 Dec 2009 07:10:06 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nBA7A62U084468 for ; Thu, 10 Dec 2009 07:10:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nBA7A6R2084467; Thu, 10 Dec 2009 07:10:06 GMT (envelope-from gnats) Date: Thu, 10 Dec 2009 07:10:06 GMT Message-Id: <200912100710.nBA7A6R2084467@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Jan Marek Cc: Subject: Re: usb/141313: nvidia USB 2.0 controller - stops copying on USB X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Jan Marek List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Dec 2009 07:10:06 -0000 The following reply was made to PR usb/141313; it has been noted by GNATS. From: Jan Marek To: bug-followup@FreeBSD.org, janmarek@gdi.cz Cc: Subject: Re: usb/141313: nvidia USB 2.0 controller - stops copying on USB Date: Thu, 10 Dec 2009 07:25:07 +0100 Hi, Im no sure if I did right, can You check: pcicon -lv | grep ehci ehci0@pci0:0:2:1: class=0x0c0320 card=0x815a1043 chip=0x005b10de rev=0xa3 hdr=0x00 I searched the switch in file ehci_pci.c found case 0x005b10de: return "NVIDIA nForce4 USB 2.0 controller"; so the controller is listed I also found and thought i should edit this switch: /* Dropped interrupts workaround */ switch (pci_get_vendor(self)) { case PCI_EHCI_VENDORID_ATI: case PCI_EHCI_VENDORID_VIA: sc->sc_flags |= EHCI_SCFLG_LOSTINTRBUG; if (bootverbose) device_printf(self, "Dropped interrupts workaround enabled\n"); break; default: break; } I'm not sure if this is what You mean but i updated like this: /* Dropped interrupts workaround */ switch (pci_get_vendor(self)) { case PCI_EHCI_VENDORID_ATI: case PCI_EHCI_VENDORID_NVIDIA: case PCI_EHCI_VENDORID_VIA: sc->sc_flags |= EHCI_SCFLG_LOSTINTRBUG; if (bootverbose) device_printf(self, "Dropped interrupts workaround enabled\n"); break; default: break; } now i get this error message when I connect usb device: Root mount waiting for: usbus1 Root mount waiting for: usbus1 usb_alloc_device: set address 2 failed (USB_ERR_TIMEOUT, ignored) Root mount waiting for: usbus1 usb_alloc_device: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT Root mount waiting for: usbus1 Root mount waiting for: usbus1 usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored) Root mount waiting for: usbus1 usbd_req_re_enumerate: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT Root mount waiting for: usbus1 Root mount waiting for: usbus1 usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored) Root mount waiting for: usbus1 usbd_req_re_enumerate: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT ugen1.2: <(null)> at usbus1 (disconnected) uhub_reattach_port: could not allocate new device I'm not so experienced, so maybe I did something wrong. also there are lines in the beginning: #define PCI_EHCI_VENDORID_NVIDIA 0x12D2 #define PCI_EHCI_VENDORID_NVIDIA2 0x10DE not sure if I should also update somehow this because the values 0x12D2, 0x10DE are not in the pciconf -lv listing Thanks for any help Regards Jan