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

Bug#248071: Hot plugged devices shouldn't be marked "auto"



On Tue, Jun 29, 2004 at 09:27 +0200, Thomas Hood wrote:
> On Mon, 2004-06-28 at 22:59, Per Olofsson wrote:
> > I agree. But how do we provide a smooth upgrade here? Default to the
> > new behaviour on new installations but ask using debconf during
> > upgrades from earlier versions with the old behaviour?
> 
> Yes, that would be a good way.  And the debconf question is very
> optional.  See my reply to Osamu Aoki in this bug report thread.

I'm offline right now but I will read it later. Since I'm on a quite
slow and expensive connection currently, I'm not reading any mailing
lists, so it would be good if you could CC me mails such as that one.

> I can't think of any reason why we shouldn't make the change.  Of
> course problems may turn up in testing; in that case we can revert
> to #1.   I think we should attempt to move to #2 because the
> "cleaner" the system we install in sarge the fewer difficulties
> there will be upgrading systems to sarge+1.

Yes, you're probably right. I think the easiest way to implement this
would be to add a variable to /etc/default/pcmcia and then make
/etc/pcmcia/network.opts check it to determine whether to run
ifup/ifdown or not.

Any name suggestions? USE_IFUPDOWN? HOTPLUG_HANDLES_NETWORK?

> But how do we tell that a network interface is on a 32 bit PCMCIA
> card?

Under 2.6 kernels this information is easily obtained from /sys. See
the cardbus_check_netdev function in hw-detect.sh.

Under 2.4 kernels it is unfortunately trickier. Currently, it is done
by installing a temporary hotplug handler (hotplug-pcmcia.sh) before
PCMCIA is started. The hotplug handler catches net events when PCMCIA
is started and adds the interfaces to /etc/network/devhotplug. The
hotplug handler is also responsible for catching pci events and
loading modules for the Cardbus cards.

Then there is a second problem under 2.4 - driver modules for the
cards might not be available because they are in an udeb which hasn't
been retreived yet. But when they are, discover will see these cards
first and load the drivers without noting that they are Cardbus. Thus,
I have added code in hotplug-pcmcia.sh which appends modules which
failed to load to /etc/pcmcia/cb_mod_queue - a file which is later
read by hw-detect.sh before discover is run, with the hotplug handler
installed.

This is, as you can see, very ugly and complicated, and I'm not very
happy with it. If anybody knows a better way to detect Cardbus network
cards under 2.4 kernels, please let me know.

-- 
Pelle



Reply to: