[Pkg-sysvinit-devel] Bug#501351: Bug#501351: Bug#501351: sysvinit: halt breaks wake on lan / WOL under NFS root /diskless lenny

Harry Coin hcoin at quietfountain.com
Tue Oct 7 18:31:04 UTC 2008


Henrique de Moraes Holschuh wrote:
> On Tue, 07 Oct 2008, Harry Coin wrote:
>   
>>> It the kernel drivers behavior with respect to wake-on-lan defined
>>> somewhere?  As I see this, the kernel drivers have no consistent
>>> interface to userspace, and thus make it impossible to solve this in a
>>> reliably way in userspace. 
>>>       
>> Because 'halt' has kernel-feeling options to block or do 'ifdown' and 
>> block or do 'disk sync', its authors must be part of the answer.   Long 
>> term my suggestion is both those options seem to be things the kernel 
>> filesystem and storage drivers should do on its way to orderly 
>> ending/rebooting and they properly shouldn't be part of userspace halt.
>>     
>
> We have been through a similar problem a while ago: disk shutdown and cache
> flushing.  It caused A LOT of pain.
>
> The short answer is: the kernel has to do its job right on anything related
> to device setup for suspend/hibernation/power off, and trying to fix it from
> userspace just causes things to blow up when the kernel finally gets its act
> together.
>
> This is true for WoL just like it was true for disk shutdown.  If WoL is
> enabled, the kernel driver has to make sure everything that needs to be done
> to the hardware to make it active when entering S3/S4/S5 is done.   There is
> NO other acceptable solution, because this is the only way to *always* get
> it right, without weird border conditions.
>
> Since the state of things right now is so utterly sad, we can't do much more
> than provide both possibilities (good and broken drivers), warn the user
> that he has to test which one he needs, and keep one eye in the kernel to
> react quickly if the network drivers get fixed.
>
>   
>> when doing the right thing (asking for ifdown to set WOL) I am asking 
>> halt authors to engage the correct kernel maintainers to decide either 
>> the kernel and network driver authors must take responsibility to down 
>>     
>
> I could do that, yes.  Please provide me a list of the drivers you have
> verified to have retarded WoL behaviour, along with the kernel version.  I
> can at least make sure it is all listed in bugzilla.kernel.org, although I
> doubt I can fix it myself.
>
>   
Thank you.

The drivers that don't enable WOL / wake-on-lan in the context of NFS 
root after poweroff include e100.c  and 3c59x.c as shipped in Debian 
/Lenny-Testing.    Modified versions of these drivers did function 
properly in Debian etch (kernel .18).  But so many changes happened to 
them that my changes don't apply any longer.   I think the problem is 
they expect ifdown to happen and enable WOL there, they don't check for 
it at .shutdown.    I think I remember someone hacking a version of the 
e100.c to WOL on suspend, but as for poweroff:   Etch / 2..18 yes, Lenny 
2..26 no.



>> poweroff.   As it is, network drivers engage WOL options when downing 
>> the interface (though I worry some do it in the .shutdown routine).
>>     
>
> They should engage/de-engage WoL in device-model .shutdown and .suspend.
> And if that means they have to bring the transceiver up/down or even paint
> the moon blue in order to have the hardware do the right thing, they are to
> do it.
>
> At that point, userspace (i.e. Debian) is already frozen (for S3/S4) or
> destroied (for S5 - shutdown) and doesn't care.
>
> In fact, we should not have to touch the interfaces at all in the userspace
> shutdown path, just like we don't have to do it anymore for disks (in fact,
> we must NOT, for disks).
>
>   
>> Not so much as I hope! Upgrades near release like Lenny are not supposed 
>> to break basic things.   The effect of this problem is wasteful usage of 
>> energy keeping systems that have no work to do nevertheless powered up.
>>     
>
> I fear we are not going to touch this anymore for Lenny, except as
> documentation.  If any of the other maintainers want to, I won't stand in
> the way, nor complain about it... but I doubt anyone will want to touch the
> shutdown path this late in the freeze.
>
> It is not like we can even fix this crap for good unless the kernel gets its
> act together, anyway...
>
>   






More information about the Pkg-sysvinit-devel mailing list