[TAG] Kernel 2.6 and PCMCIA troubles

Thomas Adam thomas_adam at bonbon.net
Mon Jul 5 06:27:49 MSD 2004


On Sun, 04 Jul 2004 22:16:05 -0400
Antoun Kanawati <antounk at comcast.net> wrote:

> Dear Answer Gang,

Hello - 

> The problem is: "/etc/init.d/pcmcia start" reports 0 sockets being
> watched when use any 2.6 kernel other Mandrake 10.0's 2.6.3-7.

My first suggestion at reading that is Mandrake, like RH (and SuSE to an
extent) have patched that kernel to high heaven (read that as 'mangled')
such that it is no longer a kernel... grr, stock kernela _are_ evil.

> I've had this problem with Fedora 2, Suse 9.1, and Manrdake 10.  The
> only kernel that get my PCMCIA right is 2.6.3-7 from the Mandrake 10
> distro.

Interesting.
 
> This happens on two of my laptops, a fujitsu lifebook 765DX (Pentium
> 166MMX), and an NEC Versa LX (PII-233).
> 
> The other possibly related irritant is that "/etc/init.d/pcmcia stop"
> is not working right; more precisely, when I get the PCMICA card
> started, the card's lights go on and eth0 is brought up; when I stop
> the card, eth0 is brought down, but the card remains ON.  So, if I
> reboot, even with kernel 2.6.3-7 mdk 10.0, the next "pcmcia start"
> fails to notice the two slots.  If I power down and then boot, all
> works fine.

If the pcmcia initscript is the same as it was in Mandrake 7.0 (which
was my only fleeting contact with it) then that should actually be
calling cardmgr . Cardmgr normally works just fine.

> To summarize: "/etc/init.d/pcmcia start" find 2 sockets and works
> with only one very specific kernel.  The "stop" doesn't stop all
> the way.
> 
> I looked around the net for a while, but didn't find an answer.
> 
> I am guessing that this is one of those "older machine" things
> that require a slightly exceptional configuration clause somewhere.

Actually, I would be more inclined to say that you should look at
compiling your own kernel. Since it works with a specific kernel you can
almost certainly rule out hardware issues. So the trick is to look at
the specific working kernel's config file for clues. The config files
for kernels should be in /boot as:

``
/boot/config-$(uname -r)
''

The $(uname -r) interpolates to the current running kernel's version,
but the principle is the same -- the file name is /boot/config-<version>
. If you can do the following for that kernel version:

``
grep -i pcmcia /boot/config-<ver>
''

And send it to us, that would help. Along with that, you should repeat
that same command on a file for a kernel that does *not* work, for
comparison. 

If you think this is long winded, you'd be right. I would definitely
look at compiling your own kernel. It's not that hard, and there's
plenty of references to it, one of which is here [1] [2]

HTH,

-- Thomas Adam

[1] http://www.hantslug.org.uk/cgi-bin/wiki.pl?LinuxHints/KernelBuilding
[2] http://www.kernelnewbies.org/

-- Thomas Adam

--
"Annie Hall leaves New York in the end. Press rewind, and Woody gets her
back again." -- "Look Inside America", Blur.





More information about the TAG mailing list