usb/74989: (regression) Lost USB support between 5.2.1-RELEASE and 5.3-RELEASE on K7T266 Pro2.

John Baldwin jhb at freebsd.org
Fri Dec 2 13:20:06 GMT 2005


The following reply was made to PR usb/74989; it has been noted by GNATS.

From: John Baldwin <jhb at freebsd.org>
To: jpeg at thilelli.net
Cc: freebsd-acpi at freebsd.org, bug-followup at freebsd.org,
        freebsd-usb at freebsd.org
Subject: Re: usb/74989: (regression) Lost USB support between 5.2.1-RELEASE  and 5.3-RELEASE on K7T266 Pro2.
Date: Fri, 2 Dec 2005 08:11:30 -0500

 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 <jhb at FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/
 "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org


More information about the freebsd-usb mailing list