Hi Didier,
On 28/4/20 14:50, Didier Kryn wrote:
Thanks Aitor for having investigated this and found a solution,
though I'm not sure the cause of the delay if fully understood.
The interfaces file describes actions which ifupdown performs to
set interfaces up and down, plus two special clauses "auto" and
"allow-hotplug", which tell it which interfaces to set up
automatically respectively at start-up or when the interface is
plugged in (eg USB-Ethernet or USB-wifi interface). In the case of the
loopback interface, "auto" is always fine because it isn't a hardware
interface; in the case of other interfaces, "auto" works only if the
interface is hard-wired and "allow-hotplug" works as well if it is
hard-wired or hot-plug; this is why "auto" is deprecated in the
installers except for lo.
In the case of a server, you generally want all interfaces
(connected to different networks) to be brought up at start-up,
therefore you just need "allow-hotplug" for all interfaces. In the
case of a laptop with both a wifi and an Ethernet interface you
generally do not want both interfaces to be used in the same time
because they both play the role of the primary interface connected to
the LAN, with identical configuration (typically "inet dhcp"). This is
why you don't want ifupdown to start both; instead you need some tool
able to detect if an ethernet cable is plugged in. When an ethernet
cable is plugged in, this tool will tell ifupdown to configure the
Ethernet interface and deconfigure the Wifi. If the cable is plugged
out, it will tell it to do the opposite. I know two such tools:
ifplugd and netplug. But there shouldn't be "auto" or "allow-hotplug"
stanzas in the interface file in this case; their only effect is to
cause a delay at start-up.
In summary "auto" and "hotplug" assume that the interface can be
configured. If you cannot assume it blindly, dont put them and install
ifplugd or netplug. And this is the general case of a laptop. I
understand that it would add more complexity to the installer to
decide what to put in the interfaces file and it probably should not
force the installation of ifplugd or netplug.
How well explained!
I guess the policy in Debian is to install network-manager and not
ifupdown. I don't know what ifupdown2 does;it is incompatible with
ifplugd. Maybe it is able to detect by itself that an Ethernet cable
is connected.
I'm not pretty sure at this point. Maybe ifplugd breaks with ifupdown2
due to its dependency on ifupdown, being this second one more veteran
than the first one. I have no arguments to affirm wether ifplugd works
or not with ifupdown2 because the debian/control file doesn't allow this
blend. Maybe defining something like "Depends: ifupdown | ifupdown2,
...", in the same way than the ifupdown packaging allows to use
different dhcp clients...
Aitor.
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng