tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PCMCIA broken (was Re: no ndis* at cardbus?)



On Wed, 11 Feb 2009, John Nemeth wrote:

> On May 29,  7:23am, Iain Hibbert wrote:
> } On Wed, 11 Feb 2009, Matthias Drochner wrote:
> } > plunky%rya-online.net@localhost said:
> } > >         RBUS_IO_BASE = 0x4000   # default, does not work
> } > >         RBUS_IO_BASE = 0x0a00   # works.
> } >
> } > Perhaps there is some problem with incomplete decoding?
> } > The i386 CARDBUS config file suggests 0x600 btw.
> }
> } 32-bit cards seem to work normally with GENERIC anyway and I tried that
> } CARDBUS config but found no change with the 16-bit ones.
> }
> } I took the 0x0a00 value from PRs kern/32327 and kern/32328 (and, all over
> } the internet when searching for RBUS_IO_BASE :), which also suggests
> } reducing RBUS_IO_SIZE and that worked fine for the 16-bit cards but both
> } 32-bit cards paniced the machine in that case (from "cbb0: <rbus> no bus
> } space")
>
>      Is your dmesg available somewhere?  Have you tried PCI_BUS_FIXUP?
> The issue is that some BIOSes don't initialise (assign bus numbers) to
> all PCI buses.

The complete dmesg is on NetBSD wiki at
        http://wiki.netbsd.org/IBM_Thinkpad_T60

You seem to be right about the BIOS, looking at the PCI_*_FIXUP options,
with a GENERIC (5.0_RC2) kernel from yesterday the differences caused by
the addition of:

options PCI_ADDR_FIXUP
options PCI_BUS_FIXUP
options PCI_INTR_FIXUP_DISABLED

are:

+pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005800
+pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005808
+pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005810
+pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x0000580c

-pci1 at ppb0 bus 2
+pci1 at ppb0 bus 1

-pci2 at ppb1 bus 3
+pci2 at ppb1 bus 2

-pci3 at ppb2 bus 4
+pci3 at ppb2 bus 3

-pci4 at ppb3 bus 12
+pci4 at ppb3 bus 4

-pci5 at ppb4 bus 21
-pci5: i/o space enabled
+pci5 at ppb4 bus 5
+pci5: i/o space, memory space enabled

-cbb0: can't map socket base address 0xe4300000
-cbb0: can't map socket base address 0xc0a07496: io mode

-cardbus0 at cardslot0: bus 22
+cardbus0 at cardslot0: bus 6

but PCMCIA doesn't work any better..

Is this bus information perhaps encoded in the ACPI instead but we don't
look there for it? I've put output of acpidump on www.netbsd.org:

        http://www.netbsd.org/~plunky/t60.dsdt
        http://www.netbsd.org/~plunky/t60.dump

Also, I noticed that I was wrong before - the CardBus USB2.0 card that I
have caused a panic with plain old GENERIC just now.

iain


Home | Main Index | Thread Index | Old Index