[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: interesting times installing 2.4.17 in Woody...

Jim Gettys wrote:

> > o My wireless card didn't work.  Memory on previous 2.4 installs
> > warned me about the transition to the ornioco driver, but of course,
> > details are not in my cache.  With alot of wandering around,
> > figuring out the changes required to /etc/pcmcia/config for the
> > orinoco was solved, along with the change needed to get the system
> > to DHCP on the card.
> >
> > o The really obscure problem I could not have solved easily without
> > Keith Packard's help was the need for the file /etc/default/pcmcia,
> > with the line PCIC=yenta_socket.

Joey Hess <joey@kitenet.net> wrote:

> This is all related to the mess of the pcmcia-cs modules vs the kernel
> modules. I don't think we can ship a pcmcia/config that works for both
> since they use different names for the orinoco driver (argh!). It's
> very hard to try to keep that file synced with whatever kernel the
> user has booted at the time, too. Maybe this is fixable by throwing
> some module symlinks into one or the other package.
> I wasn't aware that the standard debian 2.4 kernel includes the kernel
> pcmcia modules; if it does this surely needs to be dealt with since
> you have a point about thing being a common upgrade path.
> And the yenta_socket thing is just completly undocumented, isn't
> it? It suffers from a lot of the same problems as pcmcia/config, and
> I don't see an easy way out here. However, perhaps we could make the
> pcmcia init script DTRT depending on which pcmcia modules were being
> used? Any thoughts, Brian?

Strangely enough, your message has excellent timing, since I am
currently in the building and testing process for the next version
of the pcmcia packages, which (I hope) will solve this problem.  My
solution is as follows.  I would appreciate any feedback.

This solution requires a couple of hacks to the pcmcia-cs software.
First, the probe utility is modified to report that the "yenta_socket"
module should be used for the CardBus chips (ISA-to-PCMCIA bridges
will still be correctly reported as using "i82365").  This means that
new installations should correctly have PCIC=yenta_socket set in
/etc/default/pcmcia.  To handle upgrades from older packages, I have
added an option during the upgrade (using debconf) to have the postinst
script automatically fix the PCIC entry in the /etc/default/pcmcia file.

Of course, the stand-alone drivers (in the pcmcia-modules packages)
don't have a yenta_socket module.  Therefore, I have added an additional
file in /etc/default to the pcmcia-modules packages that is sourced (if
it exists) by /etc/init.d/pcmcia and changes PCIC from "yenta_socket" to
"i82365", which is appropriate for the stand-alone drivers.

Next, I have made the appropriate changes to the /etc/pcmcia/config file
to support the kernel drivers.  An additional workaround was required to
also support the stand-alone drivers.  Therefore, I modified the cardmgr
program to support the following construct in its config file:

    source ./config-`uname -r`.fix

In this way, I can include an additional config file, named
config-xxx.fix, in each pcmcia-modules-xxx package, which remaps the
some of the binding to the stand-alone drivers.

Thus, everything should be done automatically.  If the pcmcia-modules
package has not been installed, the pcmcia-cs package is configured
to use the kernel drivers.  If the pcmcia-modules package has been
installed, then the configuration of pcmcia-cs is changed to use the
stand-alone drivers.

- Brian

P.S.  The problems caused by the PCMCIA drivers in the 2.4 kernel are
documented.  A summary of the problems caused by these drivers is in

Reply to: