I’m trying to install Linux onto an old Micron laptop (Pentium 133). I previously installed Red Hat version 6.2 on it and had no problems. Well, I take that back, I had one problem. I went to put some development tools on it, and found that the tools don’t work with a version of linux that old.
I happen to have a couple of Slackware 9.1 disks handy, so I think, no problem. I’ll just install this, then put the development tools on it. After quite a few four letter words, I managed to get slackware installed on the laptop. However, I have one problem. The ethernet doesn’t work.
The ethernet card in this laptop is a Xicrom RealPort REM56G-10 (it’s actually a combo modem and ethernet card) which plugs into a PCMCIA slot on the side of the laptop. This card worked fine under Red Hat 6.2. It doesn’t seem to be recognized under Slackware 9.1.
I’ve noticed that when the laptop boots, one of the many messages that scrolls by is “cardmgr[56]: no pcmcia driver in /proc/devices” which is under the section where it says starting pcmcia services.
When I installed slackware, I answered “YES” to enable plug in devices (or something like that). I’m using the bare.i kernel image. I can’t recall any other options during the install that I might have stuffed up.
Not an answer but thiswindows 95 install link gives the resource assignments for that card nad warns there are differences in the way 32 bit Cardbus and 16 bit PCMCIA devices (like the Xircom) are handled.
I went looking for /etc/inet.d/pcmcia and found that slackware uses /etc/rc.d/rc.pcmcia. I went poking through this file, and found that slackware will probe for various types of pcmcia controllers. However, it also has an entry for i82092 which is commented out and says in the comments that it is used in older laptops, and won’t be probed for. I figured what the heck, and commented out PCIC=probe and put in PCIC=i82092.
Now I get the following on startup:
PCI: No IRQ known for internal pin A of device 00:13.0. Please try using pci=biosirq.
Cirrus PD6729 PCI to PCMCIA Bridge
i82092aa: configured as a 2 socket device
i82092aa: failed to register IRQ 0, aborting
And now I’m stuck. Where would I enter pci=biosirq?
/etc/lilo.conf. You would put
append=“pci=biosirq”
Best way to do it is to make a complete new entry in the conf just in case the parameter renders the system unbootable. Then you can choose at boot time.
I tried putting append=“pci=biosirq” in lilo.conf and ran lilo.
I made the “please try using pci=biosirq” portion of the message go away, but everything else is still there and the card still doesn’t work.
AFAIK you should be using i82365, then. Try doing a
lsmod
and look for pcmcia_core or i82635. If you see neither, then your slackware distro might not support the controller without you having to compile the right pcmcia modules, which is probably too much trouble. But then try doing a
modprobe pcmcia_core
and see what happens. If pcmcia_core gets loaded, then try a
modprobe i82635
That’s weird. I thought slackware used that file. How about /var/log/messages? What if you just type dmesg at the command line?
I studied and studied and studied all of the links in this thread plus anything I could find on the web. I installed PCMCIA services and recompiled. I tried passing all sorts of parameters here and there. I gave up on slackware, and figured that RedHat 6.2 worked on this laptop, a newer version of RedHat should too. I downloaded the latest Fedora Core. The damn laptop refused to boot from the CD. Ok, I munged the CD. Nope, I can put it in another computer and it boots fine. Grrrrr. I downloaded slackware 10.2. Did I mention that downloading each of these CDs takes about half a day, and Fedora has 4 CDs and slackware has 2?
Finally, with slackware 10.2 installed, I managed to get it to work. I edited /etc/rc.d/rc.pcmcia and set PCIC=i82365. Then I did an lspci and found that the CL 6729 was at an I/O address of 0xfc5c. I tried adding PCIC_OPTS=“i365_base=0xfc5c” but that didn’t seem to work. I manually edited the call to modprobe so that it looked like:
/sbin/modprobe i82365 i365_base=0xfc5c 2> /dev/null
and this worked.
Figuring out that this was what I needed to do was not easy.
Thanks to all who responded. You didn’t give me an answer but you pointed me in directions that were helpful, which is greatly appreciated. This has been a rather frustrating experience, but I must say I learned quite a bit.
One last question:
My rc.pcmcia works, but editing the modprobe line feels like I kludged it. How should I have edited the file so that the parameters were automatically passed to modprobe?
Well, I was hoping that you would report back with some helpful error messages that you got after manually calling the modprobes, but I’m glad you got it to work.
I would have thought that your PCIC_OPTS attempt was correct (shows how much I know). Maybe you can try the /etc/modprobe.conf file (in RH/FC anyway, I think slackware is the same). Generally when modprobe is invoked to insert modules, it knows to look here for the params.