PCMCIA IRQ problems
For some reason, my PCMCIA cards keep trying to assign to IRQ 0. The actual CardBus bridge is assigned to IRQ 11, so shouldn't the cards be assigned to that too? I've tried excluding IRQ 0 in /etc/pcmcia/config.opts but it didn't work.
The two cards are a 3Com 3C589 10/100Mbps and a NoName NE2000-compatible. When I insert the 3Com card the message "3c589_cs: RequestIRQ: Resource in use" is written to the syslog; when I try to ping I get "eth0: Interrupt(s) dropped!". With the NE2K-card I get "Trying to free free IRQ0" when inserted, and "Hw. adress read/write mismap" when I remove it or try to ping.
Any ideas on how this could be solved? :/
I don't really have much experience with PCMCIA, but I guess that it's a laptop that we're talking about. The thing with laptops is that they often use specialized and/or proprietary hardware, and on top of that most of the hardware is often only tested for Winbloze, so, no matter how much I hate to break it to you, it might be that your PCMCIA bridge is simply incompatible with Linux. Try checking your chipset name (you can probably get it with lspci), and search for it on google for any tips.
According to /proc/pci, the CardBus bridge is a Texas Instruments PCI1250. After googling for it I found these two pages which somewhat indicate it should work in Linux:
http://www.spack.org/index.cgi/ThinkPad390 -- According to this article Linux should run quite flawlessly on the model I have (IBM ThinkPad 390)
I haven't found much that could help me actually solve the problem though. There were a bunch of messages from mailing list archives where similar problems were described with this particular bridge, but according to the previously mentioned article, PCMCIA in Linux should work with this model.
Since others report problems as well, there might be the possibility that you're using two revisions of the ThinkPad 390, where they might have changed some peripheral components. Even the slightest changes may sometimes induce errors, although it's not very common.
Have you tried some different PCMCIA bridge drivers? That might do the trick, although they're usually autodetected properly. I guess that you could also try a different distro to see if there's just something with RH's kernel. Try a LiveCD like Knoppix and see if it works.
Different bridge drivers? If you're referring to the PCMCIA/CardBus support in the kernel configuration, then there's not much I can do there, as the only other alternatives are for ISA- or older bridges. I don't see how it could help, though; isn't CardBus an established standard? And again, since it identifies the bridge, it should be using the correct driver, right?
I'm running CRUX, btw, not RH ;) So I have the standard vanilla kernel (custom-compiled, though)
I'll try some LiveCD's, though. I had a slightly similar incident with Gentoo on my workstation once. On the LiveCD, the network card worked perfectly, but when I booted into the installed system it refused.
I thought that you had said somewhere that you were using RH... it seems I was just mistaken. As for the drivers, like I said, I haven't that much experience with PCMCIA, but I thought that there were some complementary drivers for specific hardware, but I just might be wrong. As for PCMCIA being standardized, that might very well be, but that would apply to other things as well, like Promise IDE extension cards. The IDE interface is also standardized, but Promise cards deviate just slightly from the standard, so that you need a special driver for it. Just like with your PCMCIA bridge, they "half" work with the standard drivers, but become troublesome when doing certain things. Therefore I was thinking that it might be something similar in this case, and you might need some special driver. I'm just mindstorming, really, and hoping that something good turns up.
Anyway, go ahead and try some LiveCD and see if it's up to some good.
Well, from what I've been able to find, the only drivers for the bridge are the ones bundled with the kernel. However, I tried recompiling the kernel with PCMCIA support as modules, and found that there were a number of different drivers. I doubt it'll make any difference, though, since the kernel seems to have picked the right driver(yenta_socket) when they weren't modules, but it felt safer. This resulted in pcmcia-cs (A driver package for PCMCIA cards. It seems to me it's 'de facto' standard) not working properly and needing to be recompiled (according to the webpage). Since the cards weren't functional, I had no access to the internet and couldn't recompile them (I tried copying the source with both floppy and CD-R, but in both cases the file was destroyed. Weird). Soo, instead I popped in Slackware 9.0 and began installing that instead of CRUX. So far it seems it might handle PCMCIA cards better. With CRUX I had to do all the configuration myself; Slackware seems to handle it more automized. Now I'm just crossing my fingers and toes and hoping it'll work when the installation is finished. I'll keep you posted :)