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

PCMCIA network configuration



(Please CC me on replies.)

Currently, netcfg adds the "auto" option on all interface definitions
it generates. However, during the boot process cardmgr is started
after networking, so the interfaces are ifup'd before they are known
by the kernel. Unfortunately, ifup does not check whether the
interface it tries to bring up actually exists, so it gets added to
/etc/network/ifstate anyway. When cardmgr later tries to ifup the
interface, it fails.

I have some ideas on how to solve this problem:

1. Change /etc/pcmcia/network{,.opts} to somehow tell netcfg that a
   particular interface is a PCMCIA network card and then modify
   netcfg so that it doesn't add the auto option on these interfaces.

2. Start pcmcia-cs earlier in the boot process, before
   networking. hotplug does this so why not pcmcia-cs? It would have to
   call cardmgr with -f though, so that the cards are configured
   synchronously.

3. Make ifupdown smarter, so that it won't add an interface to
   /etc/network/ifstate if it hasn't really been brought up (or
   doesn't exist).

4. Use hotplug to bring up hotpluggable network interfaces such as
   PCMCIA, PCI (Cardbus) and USB network adapters. I think that's what
   you're supposed to do, and why should only 16-bit PCMCIA cards be
   truly hotpluggable by default?

What do you think? Alt. 1 should work and probably has the smallest
effect on the rest of the system, but I think alt. 4 is more elegant
as it provides unified hotplugging of all types of network
interfaces. Perhaps alt. 2 might be a good thing to do in any case to
make pcmcia-cs consistent with the rest of the system.

-- 
Pelle



Reply to: