From owner-freebsd-bugs@FreeBSD.ORG Wed Jul 30 22:20:15 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7909637B401 for ; Wed, 30 Jul 2003 22:20:15 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 81DB843FA3 for ; Wed, 30 Jul 2003 22:20:14 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h6V5KEUp076886 for ; Wed, 30 Jul 2003 22:20:14 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h6V5KEAk076885; Wed, 30 Jul 2003 22:20:14 -0700 (PDT) Resent-Date: Wed, 30 Jul 2003 22:20:14 -0700 (PDT) Resent-Message-Id: <200307310520.h6V5KEAk076885@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Brent Casavant Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8E2BB37B401 for ; Wed, 30 Jul 2003 22:14:23 -0700 (PDT) Received: from sccrmhc12.comcast.net (sccrmhc12.comcast.net [204.127.202.56]) by mx1.FreeBSD.org (Postfix) with ESMTP id C92F143FA3 for ; Wed, 30 Jul 2003 22:14:22 -0700 (PDT) (envelope-from bcasavan@angeltread.org) Received: from abigail.msp.angeltread.org (c-24-245-17-149.mn.client2.attbi.com[24.245.17.149](untrusted sender)) by comcast.net (sccrmhc12) with ESMTP id <2003073105142101200k2ft0e>; Thu, 31 Jul 2003 05:14:21 +0000 Received: by abigail.msp.angeltread.org (Postfix, from userid 49841) id CF92710; Thu, 31 Jul 2003 00:14:20 -0500 (CDT) Message-Id: <20030731051420.CF92710@abigail.msp.angeltread.org> Date: Thu, 31 Jul 2003 00:14:20 -0500 (CDT) From: Brent Casavant To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/55094: Intel USB 2.0 unrecognized (partial patch provided) X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Brent Casavant List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jul 2003 05:20:15 -0000 >Number: 55094 >Category: kern >Synopsis: Intel USB 2.0 unrecognized (partial patch provided) >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jul 30 22:20:13 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Brent Casavant >Release: FreeBSD 5.1-RELEASE i386 >Organization: Angeltread Software Organization >Environment: System: FreeBSD abigail.msp.angeltread.org 5.1-RELEASE FreeBSD 5.1-RELEASE #7: Wed Jul 30 23:33:08 CDT 2003 bcasavan@abigail.msp.angeltread.org:/usr/home/bcasavan/Workarea/ac97/sys/i386/compile/abigail i386 Intel P4 2.4GHz on a Gigabyte GA-8IK1100 motherboard. FreeBSD 5.1-RELEASE with local modifications to enable various hardware not currently supported by -RELEASE (and maybe even by -CURRENT). >Description: One of the USB controllers on the Gigabyte GA-8IK1100 motherboard is not recognized and a driver fails to attach. This motherboard uses an Intel ICH5R I/O controller. The pciconf line for this device is: --- cut here --- none0@pci0:29:7: class=0x0c0320 card=0x50061458 chip=0x24dd8086 rev=0x02 hdr=0x00 vendor = 'Intel Corporation' class = serial bus subclass = USB --- cut here --- The BIOS identifies this device as a USB 2.0 controller. With the modifications from the patch below, the following dmesg output occurs: --- cut here --- uhci4: mem 0xf7000000-0xf70003ff irq 10 at device 29.7 on pci0 uhci4: failed to enable port mapping! uhci4: Could not map ports device_probe_and_attach: uhci4 attach returned 6 --- cut here --- Note that I named the controller "USB-E" as it was the next sequentially available description. I'm not sure if this was proper or not, but is sufficed for the moment. For reference, here's the USB section of dmesg for all the succesfully attached USB controllers: --- cut here --- uhci0: port 0xbc00-0xbc1f irq 2 at device 29.0 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0xb000-0xb01f irq 5 at device 29.1 on pci0 usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0xb400-0xb41f irq 9 at device 29.2 on pci0 usb2: on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: port 0xb800-0xb81f irq 2 at device 29.3 on pci0 usb3: on uhci3 usb3: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered --- cut here --- The only interesting thing I can see with regard to these that is not present for the failing case is that the successful ones have a port assignment, whereas the failing one has a memory assignment. >How-To-Repeat: Boot a Gigabyte GA-8IK1100 motherboard on FreeBSD 5.1-RELEASE with the following patch applied. >Fix: This is a partial patch to enable support for this device. I'm not sure where to go from here to make this work, so hopefully one of the maintainers will be able to take a look at it. I'm more than willing to run test code. --- cut here --- % cvs diff -u sys/dev/usb/uhci_pci.c Index: sys/dev/usb/uhci_pci.c =================================================================== RCS file: /usr/FreeBSDCVS/src/sys/dev/usb/uhci_pci.c,v retrieving revision 1.46 diff -u -r1.46 uhci_pci.c --- sys/dev/usb/uhci_pci.c 6 May 2003 19:30:41 -0000 1.46 +++ sys/dev/usb/uhci_pci.c 31 Jul 2003 03:39:40 -0000 @@ -126,6 +126,9 @@ #define PCI_UHCI_DEVICEID_ICH5_D 0x24de8086 static const char *uhci_device_ich5_d = "Intel 82801EB (ICH5) USB controller USB-D"; +#define PCI_UHCI_DEVICEID_ICH5_E 0x24dd8086 +static const char *uhci_device_ich5_e = "Intel 82801EB (ICH5) USB controller USB-E"; + #define PCI_UHCI_DEVICEID_440MX 0x719a8086 static const char *uhci_device_440mx = "Intel 82443MX USB controller"; @@ -208,6 +211,8 @@ return (uhci_device_ich5_c); } else if (device_id == PCI_UHCI_DEVICEID_ICH5_D) { return (uhci_device_ich5_d); + } else if (device_id == PCI_UHCI_DEVICEID_ICH5_E) { + return (uhci_device_ich5_e); } else if (device_id == PCI_UHCI_DEVICEID_440MX) { return (uhci_device_440mx); } else if (device_id == PCI_UHCI_DEVICEID_460GX) { --- cut here --- Thanks for your time and effort. Brent Casavant >Release-Note: >Audit-Trail: >Unformatted: