Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a PCI to PCMCIA adapter card that's installed in a Dell server running Linux 2.6. The documentation indicates that it works with both 3.3V and 5V cards, and with both 16-bit PCMCIA and Cardbus. When I insert a 16-bit PCMCIA card, the card is recognized, appears in /sys/bus/pcmcia, and everything works. When I insert a Cardbus card, dmesg reports "pccard: CardBus card inserted into slot 0" and nothing else happens. The card isn't visible in lspci or /sys/bus/pci, the driver isn't loaded, and there are no resource allocation errors or any kind of weirdness in dmesg, just nothing.

pccardctl info shows this:

PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255

but as I understand it, this is to be expected for Cardbus cards in 2.6? I think?

The adapter is a "Creative I/O" model, which is a no-name, but the chip is a Ricoh RL5c475 (PCI ID 1180:0475), which I thought was supposed to work quite well in Linux. The problem is the same on 2.6.18 and 2.6.26 (both Debian builds). I can try 2.6.30 from backports or 2.6.31 custom built but only if there's some good reason to expect an improvement.

Does anyone have suggestions for next steps, or should I just try replacing the adapter?

Additional info: the card works when I install the adapter in a Windows machine. Different hardware, though -- I don't have a PE2850 with windows.

share|improve this question

1 Answer 1

up vote 0 down vote accepted

Problem Resolved

The problem was a PCI bus overlap issue. The BIOS-provided PCI bus numbering didn't leave any space for the Cardbus bus on the other side of the bridge to receive a bus number. This was indicated by the message "Upper limit for fixing this bridge's parent bridge: #0a" in dmesg (unfortunately it wasn't a very insistent message!). I was able to solve the problem by booting linux with the option pci=assign-busses.

share|improve this answer
    
Nasty - how did you figure it out? –  Thorbjørn Ravn Andersen Oct 18 '09 at 22:43
    
using lspci -H1 -M which was a command I found on another website. It maps the PCI bus directly, and it had a more forceful warning about the bus overlap that made me realize yes, that was the problem. –  hobbs Oct 19 '09 at 2:12

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.