PCMCIA card bus cards do not show up in lspci or pccardctl ident. Using a toshiba a45-s120. CardBus bridge /0/100/1e/b product: ToPIC100 PCI to Cardbus Bridge with ZV Support vendor: Toshiba America Info Systems bus info: pci@0000:01:0b.0 version: 33 width: 32 bits clock: 33MHz capabilities: PC-Card (PCMCIA), bus mastering, PCI capabilities listing configuration: driver: yenta_cardbus latency: 0 maxlatency: 5 Live cd does show pcmcia cards on old IBM ThinkPad. Booting with Kernel command line: root=/dev/hda3 pci=assign-busses pci=routeirq does change irq routing but still does not make buss 2 accessible. Reproducible On live cd 2006.1 installer and on kernels [1] linux-2.6.18-gentoo-r6 [2] linux-2.6.19-gentoo-r5 * seems related to http://bugzilla.kernel.org/show_bug.cgi?id=5557 Thanks Reproducible: Always Steps to Reproduce: 1.Insret a live cd into a laptop that has product: ToPIC100 PCI to Cardbus Bridge with ZV Support 2.insert a pcmcia card 3.lspci will not show card 4.lspci -v | grep subordinate Bus: primary=00, secondary=01, subordinate=03, sec-latency=6 Bus: primary=01, secondary=02, subordinate=02, sec-latency=0 shows buss 2 is not accessable. 5.entering pci=assign-busses at boot changes output of lspci -v | grep subordinate to: include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff Bus: primary=00, secondary=01, subordinate=05, sec-latency=64 Bus: primary=01, secondary=02, subordinate=05, sec-latency=0 Trouble shooting script: #a pcmcia-tool by turtle echo "list everything we know about this card" pccardctl status pccardctl ls pccardctl info pccardctl ident echo "dmesg:" dmesg | grep pci dmesg | grep pcmcia && dmesg | grep Yenta echo "/etc/pcmcia/config.opts" less /etc/pcmcia/config.opts | grep memory echo "lspci": lspci | grep CardBus lspci -v | grep subordinate
Output of pcmcia-tool: list everything we know about this card Socket 0: 3.3V 32-bit PC Card Socket 0 Bridge: [yenta_cardbus] (bus ID: 0000:01:0b.0) CardBus card -- see "lspci" for more information PRODID_1="" PRODID_2="" PRODID_3="" PRODID_4="" MANFID=0000,0000 FUNCID=255 Socket 0: no product info available dmesg: Kernel command line: root=/dev/hda3 pci=assign-busses pci=routeirq Panic=5 ACPI: bus type pci registered pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty pci_get_subsys() called while pci_devices is still empty PCI: Routing PCI interrupts for all devices because "pci=routeirq" specified pci_hotplug: PCI Hot Plug PCI Core version: 0.5 pcmcia: parent PCI bridge I/O window: 0xc000 - 0xcfff pcmcia: parent PCI bridge Memory window: 0xcff00000 - 0xcfffffff pcmcia: parent PCI bridge Memory window: 0x28000000 - 0x29ffffff Yenta: CardBus bridge found at 0000:01:0b.0 [1179:0001] Yenta: ISA IRQ mask 0x04b8, PCI irq 19 include memory 0xc0000-0xfffff include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff lspci: 01:0b.0 CardBus bridge: Toshiba America Info Systems ToPIC100 PCI to Cardbus Bridge with ZV Support (rev 33) Bus: primary=00, secondary=01, subordinate=05, sec-latency=64 Bus: primary=01, secondary=02, subordinate=05, sec-latency=0
Is this reproducible on the latest development kernel, currently v2.6.21-rc5? Please try both with and without pci=assign-busses
see comment #2
I am having troubble finding the package kernel development sources. Please advise. I have tried the gentoo, kubuntu and ubuntu live cd and they produce the same result.
You can find it in the vanilla-sources package or you can use ketchup http://www.reactivated.net/weblog/archives/2007/04/using-ketchup-to-quickly-install-kernel-sources/
Somewhere along the way a very small spring got jammed in the PCMCIA slot. Tha t is what caused the card not showing up in lspci anymore. It was extremely difficult to see and remove. I had a hard time finding non metal tools to remove it with and finaly settled for the end of 2 incense sticks. This was causing the card to not show up in lspci but still lit the LED's on the card. The original problem was fixed by appending the kernel boot line. It is safe to say "pci_get_subsys() called while pci_devices is still empty" means hardware issues if the power LED is lit on the card. Thank you for your time. Steps to reproduce: 1) Remove a small micro spring clip from a DVD drive. 2) Turn laptop on its side with pcmcia card slot facing up. 3) remove the PCMCIA card. 4) Drop the spring clip in the center of the PCMCIA slot. 5) Reinsert the card.