PCCARD unrecogonized by FreeBSD 5.1-RELEASE on IBM Thinkpad 600

jason jason at ec.rr.com
Mon Sep 6 12:44:02 PDT 2004


I was in need of help when messing with acpi and found in the man page that hw.acpi.pci.link.0.2.0.irq="9" should be placed in /boot/loader.conf, mot device.hints.

Let me know if this is worng or you have it fixed.  I am not on this list.

I found your emails helpful so I wanted to repay the favor,
Jason













"M. Warner Losh" <imp at bsdimp.com <http://lists.freebsd.org/mailman/listinfo/freebsd-mobile>> writes:

>/ In message: <20040113185231.22FBC2051D at wolfe.bbn.com <http://lists.freebsd.org/mailman/listinfo/freebsd-mobile>>
/>/             Greg Troxel <gdt at bbn.com <http://lists.freebsd.org/mailman/listinfo/freebsd-mobile>> writes:
/>/ : Probing cbb, I get a problem with "unconfigured IRQ".  Turning on
/>/ : various PCIBIOS options (in NetBSD), I found that the IRQ in the PIR
/>/ : was set to -1, which means that the BIOS failed to configure the
/>/ : device properly.   I set a PCIBIOS_FIXUP_INTR option (actually many):
/>/ : 
/>/ : options         PCIBIOS                 # PCI BIOS support
/>/ : options         PCIBIOSVERBOSE          # PCI BIOS verbose info
/>/ : options         PCIBIOS_ADDR_FIXUP      # fixup PCI I/O addresses
/>/ : options         PCIBIOS_BUS_FIXUP       # fixup PCI bus numbering
/>/ : options         PCIBIOS_INTR_FIXUP      # fixup PCI interrupt routing
/>/ : options         PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
/>/ : options         PCIBIOS_INTR_GUESS      # see pcibios(4)
/>/
/>/ Many of these are rolled up into FreeBSD's code already.  I'm working
/>/ on not needing addr_fixup.  bus_fixup is needed.  The intr stuff is
/>/ being worked on by John Baldwin.  The bus_fixup stuff is needed by a
/>/ few laptops now to get cardbus working...
/
To chime in with my experience:  I recently installed 5.2-RELEASE on an IBM
Thinkpad 600X (2645-4EU).

I could not get PCI interrupts working correctly using ACPI.  I ran
out of time to fiddle with it and went back to APM and it is working.
(Well, pccard and cardbus cards are working; suspend still wedges the
box).

I did upgrade to the latest BIOS available from IBM (ITET55WW, 1.11).

The cardbus/pccard problems are because ACPI does not route a usable
interrupt to cbb0/cbb1.  In dmesg I get:

pcib0: slot 2 INTA routed to irq 3 via \\_SB_.LNKA

...

cbb0: <TI1450 PCI-CardBus Bridge> mem 0x50103000-0x501-3fff irq 3 at device 2.0 on pci0

cbb1 also gets irq 3.  In W98SE or FreeBSD 4.9 or 5.2 w/ apm, they get
irqs 9 & 11 respectively.

I tried setting a hint, eg (in /boot/device.hints):

hw.acpi.pci.link.0.2.0.irq=9

but it does not work because the call to 
dev/acpica/acpi_pci_link.c:acpi_pci_link_set_irq() dies because its
call to acpi_pci_get_current_irq() dies because its call to
acpi_pci_link_get_irq_resources() fails because NumberOfInterrupts ==
0 (in acpi_pci_link_get_irq_resources()).  I assume that this is
related to Greg's finding the the IRQ in the PIR was set to -1???
(Sorry I am ACPI-ignorant.)

That is as far as I got in trying to figure out what is going on.  Any
suggestions are welcome.  I do not include a full dmesg, but am happy
to provide such or any other information on request.

andrew



More information about the freebsd-mobile mailing list