Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Nov 2005 19:50:06 GMT
From:      "Julien Gabel" <jpeg@thilelli.net>
To:        freebsd-usb@FreeBSD.org
Subject:   Re: usb/74989: (regression) Lost USB support between 5.2.1-RELEASE  and 5.3-RELEASE on K7T266 Pro2.
Message-ID:  <200511301950.jAUJo63B049345@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR usb/74989; it has been noted by GNATS.

From: "Julien Gabel" <jpeg@thilelli.net>
To: "John Baldwin" <jhb@freebsd.org>
Cc: freebsd-acpi@freebsd.org,
 bug-followup@freebsd.org,
 freebsd-usb@freebsd.org
Subject: Re: usb/74989: (regression) Lost USB support between 5.2.1-RELEASE 
      and 5.3-RELEASE on K7T266 Pro2.
Date: Wed, 30 Nov 2005 20:49:36 +0100 (CET)

 >>>> I made some progress here. After playing with BIOS settings, i am now
 >>>> able to:
 >>>>  - Boot with ACPI enable (shutdown -p works as expected now);
 >>>>  - Use USB devices.
 >>>>
 >>>> In order to do that, i had to totally disable "APIC Function" in the
 >>>> BIOS. With "APIC Function" enabled, neither version 1.4 nor 1.1 of
 >>>> the "MPS Table Version" settings solved my problem.
 >>>>
 >>>> So, although i need to disable "APIC Function", all seems to works
 >>>> correctly together: ACPI support and USB support. As a side note, i
 >>>> did not encountered anymore the interrupt storm on the uhci USB host
 >>>> controller driver.
 >>>>
 >>>> Maybe can someone explain me what may be wrong with "APIC Function",
 >>>> and if there is some drawbacks to disable it (or what is the purpose
 >>>> of this setting)?
 
 >>> APIC is used to route interrupts differently.  You can also disable it
 >>> from the loader with 'hint.apic.0.disabled=1'.  I've looked at your
 >>> dmesg's, and the problem is that in the ACPI case the IRQ 10 that your
 >>> USB controllers are using is configured as an ISA IRQ (edge/high).
 >>> For now you can either disable APIC or ACPI as a workaround until I
 >>> figure out a better solution.
 
 >> Thanks.  I effectively prefer turn APIC off via the loader configuration
 >> than from the BIOS settings, i think it is far more easily to remember
 >> what i have done from this place.
 
 >> I can try patch(es) or make test(s) without problem on this machine, if
 >> any.  Thanks a lot.
 
 > Actually, can you try this patch:
 >
 > Index: acpi_pci_link.c
 > ===================================================================
 > RCS file: /host/cvs/usr/cvs/src/sys/dev/acpica/acpi_pci_link.c,v
 > retrieving revision 1.48
 > diff -u -r1.48 acpi_pci_link.c
 > --- acpi_pci_link.c	1 Nov 2005 22:44:07 -0000	1.48
 > +++ acpi_pci_link.c	28 Nov 2005 13:03:29 -0000
 > @@ -859,7 +859,18 @@
 >  			if (!link->l_routed &&
 >  			    PCI_INTERRUPT_VALID(link->l_irq)) {
 >  				link->l_routed = TRUE;
 > +				/*
 > +				 * Some BIOSen are broken and actually set
 > +				 * some interrupts to active-high with level
 > +				 * trigger.  Workaround this by hard-coding
 > +				 * active-low and level-trigger.
 > +				 */
 > +#if 0
 >  				acpi_config_intr(dev, resource);
 > +#else
 > +    				BUS_CONFIG_INTR(dev, link->l_irq,
 > +				    INTR_TRIGGER_LEVEL, INTR_POLARITY_LOW);
 > +#endif
 >  				pci_link_interrupt_weights[link->l_irq] +=
 >  				    link->l_references;
 >  			}
 
 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.
 
 -- 
 -jpeg.
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511301950.jAUJo63B049345>