From owner-freebsd-usb@FreeBSD.ORG Fri Dec 2 13:11:54 2005 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 60F2E16A420; Fri, 2 Dec 2005 13:11:54 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id A41F043D53; Fri, 2 Dec 2005 13:11:48 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 3006196 for multiple; Fri, 02 Dec 2005 08:09:46 -0500 Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jB2DBa7u002169; Fri, 2 Dec 2005 08:11:40 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: jpeg@thilelli.net Date: Fri, 2 Dec 2005 08:11:30 -0500 User-Agent: KMail/1.8.3 References: <49704.192.168.1.18.1113475314.squirrel@webmail.thilelli.net> <200512011203.17304.jhb@freebsd.org> <49547.192.168.1.20.1133472864.squirrel@webmail.thilelli.net> In-Reply-To: <49547.192.168.1.20.1133472864.squirrel@webmail.thilelli.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200512020811.33720.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: freebsd-acpi@freebsd.org, freebsd-usb@freebsd.org, bug-followup@freebsd.org Subject: Re: usb/74989: (regression) Lost USB support between 5.2.1-RELEASE and 5.3-RELEASE on K7T266 Pro2. 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: Fri, 02 Dec 2005 13:11:54 -0000 On Thursday 01 December 2005 04:34 pm, Julien Gabel wrote: > >> I applied this patch, rebuild and installed the kernel, set the > >> loader.conf directive `hint.apic.0.disabled' to "0" and reboot on the > >> system. Sadly, the same behaviour happened (as before), i.e. USB mouse > >> simply hang, USB thumbdrive doesn't work, etc. > >> > >> The patch was applied on src/sys/dev/acpica/acpi_pci_link.c before your > >> last commit on RELENG_6 (version 1.44.2.4, 2005/11/30 16:03:55). Don't > >> know if this may change something or not in this case. > > > > Well, I can't get to your dmesg's anymore. If I understand correctly, > > Yes, sorry: the layout of the website was changed recently. Here are > the corresponding files (using RELENG_5 at this time): > http://www.thilelli.net/~jgabel/store/pub/PR/74989/ Ok, yours is a more odd case. :) This is debatably a bug in your ASL, but = I=20 think we can work around it. It is routing your USB interrupts to IRQ 10 b= ut=20 is not using a link device to do it, and it is not including an INTR_OVERRI= DE=20 entry in the MADT to change IRQ 10 from the default of edge/trigger to=20 level/low. The patch below forces all hard-wired PCI interrupts routed via= =20 ACPI to be level/low. This patch should apply both to HEAD and 6.x and may= be=20 5.x. Index: acpi_pcib.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /host/cvs/usr/cvs/src/sys/dev/acpica/acpi_pcib.c,v retrieving revision 1.58 diff -u -r1.58 acpi_pcib.c =2D-- acpi_pcib.c 7 Nov 2005 21:48:45 -0000 1.58 +++ acpi_pcib.c 2 Dec 2005 13:08:16 -0000 @@ -252,9 +252,11 @@ if (bootverbose) device_printf(pcib, "slot %d INT%c hardwired to IRQ %d\n", pci_get_slot(dev), 'A' + pin, prt->SourceIndex); =2D if (prt->SourceIndex) + if (prt->SourceIndex) { interrupt =3D prt->SourceIndex; =2D else + BUS_CONFIG_INTR(dev, interrupt, INTR_TRIGGER_LEVEL, + INTR_POLARITY_LOW); + } else device_printf(pcib, "error: invalid hard-wired IRQ of 0\n"); goto out; } > More precisely, here is a little tab... to be more accurate (i hope): > > --------------------------------------- > USB support | ACPI | APIC | > ------------------------ > > | on | off | on | off | > > --------------------------------------- > Did not boot(*)| | XX | | XX | > --------------------------------------- > (*) The boot disk seems not be able to be used for the root mount, i.e. > ufs:/dev/ad0s1a in my case. If you could get a verbose dmesg for this case using a serial console I'd b= e=20 interested in looking at that too. =2D-=20 John Baldwin =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org