Re: whereami, hibernate & ifconfig
Koen Vermeer wrote:
> Hi Derek,
> Just some additional comments: In my case, with ifplugd running, I
> cannot even get eth0 down. That is, if I remove the cable, do 'ifconfig
> eth0 down', eth0 is still UP. Only after stopping ifplugd, I can take
> eth0 down.
That seems a little weak. The default setup is supposed to issue 'ifdown
eth0' when it loses the link beat. What value is there to ifplugd if it
doesn't notice your cable is unplugged?
> Additionally, I restart ifplugd on resume, because otherwise the network
> would still be in its old state after resuming (meaning an incorrect IP
> address or something like that). Restarting ifplugd fixed that. (I see
> there is also a SUSPEND_ACTION in /etc/default/ifplugd, but I don't know
> in which way that is used.)
Looking at the file list in the package, it would probably only work with
APM suspends. In a perfect world, since the driver module gets removed on
acpi hibernate and reloaded on resume, ifplugd should take the interface
down when it sees the missing link-beat (which would be right after the
initial reloading of the module), and bring it up again on it's own.
Likely there isn't enough up-time between losing the link-beat and getting
it back for ifplugd to notice it's gone - ime, ifplugd is fairly slow to
react. I find that when I unplug the laptop, take it down the hall to the
conference room, and plug it back in, ifplugd works fine. It's when I want
it to react within 20 or 30 seconds (which is about the observed time it
experiences between hibernate & resume) that it gets confused.
> It's strange that ifplugd freezes the laptop if you remove the cable
> before shutting down. I'm still thinking on how to explain that.
It's not so much "before", as when I start a shutdown, and then pull the
cable before it gets to shutting down ifplugd. It was actually something
in /etc/init.d/networking (unmount samba shares??) that was preventing
ifplugd from closing the interface. As long as I either shut down with the
cable still connected, or remove the cable far enough in advance to let
ifplugd get the interface down before it gets to ".../networking stop", all