SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I've tried re-compiling the same kernel and different kernels with different configurations in order to get my PCMCIA LinkSys EtherFast NIC to auto-configure the IP address when I boot (my pc detects a PCMCIA card but doesn't set up the IP address). This has not worked. A PCMCIA card site says that there are two types of LinkSys EtherFast cards and says that the one type needs tulip drivers.
If I follow their advice to compile a module, could I break my pc or NIC card with the module? I'm using kernel 2.4.29 compiled so that PCMCIA cards are detected.
EtherFast 10/100 CardBus PC Card
The following must be done as root.
All of the setup instructions are contained in your Linux package. When you unpack your archive, look for a "how-to" document concerning the installation of PCMCIA cards. When you find the file, read it and follow the directions. You'll need to install the PCMCIA services, enable networking, recompile the kernel if needed.
Recently the controller chip used on our card has had a rev change. The old version was a DEC 21143 TC the new version is a DEC 21143 TD. Some compatability issues with the Tulip driver have been noted and are currently undergoing developement and testing to include the new chip changes. We will provide a link the the driver as soon as it is available.
You must add the following to /etc/pcmcia/config: device "tulip_cb"
class "network" module "cb_enabler", "tulip_cb"
After this is complete, copy tulip_cb.o to /lib/modules/< kernel.version >/pcmcia.
Issue a kill -HUP < cardmgr pid >, or if you are using redhat issue /etc/rc.d/init.d/pcmcia stop, then start or just reboot the computer.
After this point, the PC Card will be automatically recognized as soon as you plug it in. You must have version 3.0.5 of the Linux PCMCIA services or higher to support CardBus. You can ftp the latest version here
Last edited by linuxhippy; 03-30-2005 at 01:05 PM.
Look in the /etc/pcmcia/config file and find the line that lists the exact name your card reports. See what driver it has a bind for. Try editing that line and replace the driver listed with the other option i.e. tulip or whatever the name of the other driver is and try that.
I use a Linksys NP100 Network Everywhere and it reports as "Linksys Network Everywhere NP100"
that listing in pcmcia/config bind it to the pcnet driver when in fact it requires the axnet driver. A simple edit solves the problem and the card works great.
To be honest. I'm not sure how to get the exact reported name in Slack. I used an automated tool in mepis to get that info a while back. (I keep a mepis livecd around for emergenies)
dmesg should show the chipset of your device. From there, since you know what your device is, scroll through the /etc/pcmcia/config file until you find the listing for your card. Look at the drivers listed "bind *driver*"
If the driver doesn't match your chipset, edit it out and edit in the correct driver.
No need to add any lines, just edit the existing one for your card to reflect the correct driver bind.
It looks like I edited etc/pcmcia/config right. I did a search for LinkSys and picked:
card "Linksys EtherFast 10/100 Fast Ethernet"
version "Linksys", "EtherFast 10/100 Integrated PC Card (PCM100)"
#manfid 0x0149, 0xc1ab
All the LinkSys cards use pcnet_cs. I changed it to what that web page above recommended:
manfid 0x0149, 0xc2ab
That didn't work on boot, so I commented out the manfid line with no difference. When it boots and detects a PCMCIA card, there are 2 beeps that have always been the same (that's a good think I take it?). Now the 2 beep tones are different and a MAC address isn't assigned.
I changed it back to bind "pcnet_cs". The beep tones are the same, a MAC address is assigned, but the IP address is still only idassigned if I turn the modem on between the PCMCIA card recognition beeps...and it only works half the time.
OK, sounds like you have the correct driver.
Before shutting down, remove the card and look in /etc/dhcpc.
If the files eth0.cache and eth0.info are present, delete them.
I've noticed that for some reason dhcpcd doesn't delete these files on shutdown and a new lease isn't issued. If you delete these files and then restart your machine or pcmcia, it works. Don't know why, but seems to be a bug in shutdown.
What I do is, after I start up, I remove the card, delete those two files, and then put card back in. Seems to work.
If you see a eth0.pid file in there when card is removed. definately delete that one as well. Don't remove eth0.exe or dhcpcd won't work.
You could write yourself a small script to delete the files for you to make it a little quicker and easier.
Wow-you were right, mason. I pulled the card, renamed the files you mentioned and then re-started with the card back in and the modem on. I got right on...without the hoping and having to turn the modem on when the PCMCIA card is recognized.
Looks like I'll write a small script to delete these files when I shutdown. Do you know if I can delete these files while I'm online? How would I shut down my eth0 connection if I need to that first?
Upon further tinkering with this problem, I've narrowed it down to just one file that needs to be deleted. It's the eth0.cache file. Delete that one file and your NIC will restart properly. No need to make a backup as dhcpcd will write a new one when it starts the card.
By the way, I did discover how to get the exact reported card name, just for future reference. If you have KDE, open the Info Center and look at the PCMCIA listing. It will give the exact reported name of the card.
*edit* I added the line 'rm /etc/dhcpc/dhcpcd-eth0.cache' to the /etc/rc.d/rc.6 script and that fixed the problem. I placed it just below the line to kill the dhcpcd.