Hacker News
How do Wake-On-LAN works
ryandrake
|next
[-]
ErroneousBosh
|root
|parent
|next
[-]
How good are you at blogging in your third language?
Ich? Nicht so gut, aber Ich kann veillicht ein bisschen posten auf Deutsch.
Agus co dhiù, bha Beurla an dàrnan cànan agamsa.
So if my posts in English (proper English, not North American "Simplified English") are a bit squint at times, blame that.
Aurornis
|root
|parent
|next
|previous
[-]
I think they did a great job for writing in a secondary language.
ysleepy
|next
|previous
[-]
Nothing against the article though, but maybe someone knows a good writeup.
jonah-archive
|root
|parent
|next
[-]
Animats
|root
|parent
|next
[-]
A lot of sleep modes leave more running than you'd expect.
adrian_b
|root
|parent
|next
[-]
"+5 V Standby" is provided by a separate voltage regulator, which continues to work even when the PC, including the rest of the ATX PSU, is shut down.
"+5 V Standby" typically can provide up to 2 A, i.e. up to 10 watt, though some old PSUs may be able to deliver only up to 5 watt and some of the bigger ATX PSUs may be able to deliver up to 15 watt.
Besides supplying the Ethernet cards, to enable WoL, "+5 V Standby" can be used by the USB ports if configured so in BIOS, to enable waking the PC with the keyboard, or to enable charging from USB even when the PC is shut down.
jonah-archive
|root
|parent
[-]
I also finally found this old page of using an old dev board to construct a WoL listener for a mobo that didn't support it -- might be an interesting read for the curious: https://web.archive.org/web/20140525022112/https://hackingbe...
> In this script a fifo is created where the output of tcpdump is dumped. For whatever reason tcpdum | grep was not working properly, and would have a “miss” rate of about 50%. So tcpdump output is dumped in the fifo:
>
> tcpdump -i eth1 2>&1 | tee > /tmp/tcp_wol.fifo &
>
> and it’s grepped in a loop, when the magic packet (see http://en.wikipedia.org/wiki/Wake-on-LAN) is found , a led is triggered, thus powering-up the computer (with a driver and relay, will come back at this).
ErroneousBosh
|root
|parent
|next
|previous
[-]
Terr_
|root
|parent
|previous
[-]
"How to send a magic packet in $LANG" isn't very interesting to me. There are plenty of guides for it, and I remember actually doing it 20+ years ago with a short PHP script.
Even at the time, the task didn't seem like "enough" for a show-the-world blog post. A dramatically shortened version (no validation, error handling, logging, etc.) for your amusement:
// Given $macAddress and $addr and $port
$macAddress = str_replace(":","",$macAddress);
$macAddress = str_replace("-","",$macAddress);
$header = pack('H12','FFFFFFFFFFFF');
$payload = pack("H12",$macAddress);
$packet = $header . str_repeat($payload,16);
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, 1, 6, TRUE);
socket_sendto($sock, $payload, strlen($payload), 0, $addr, $port);
socket_close($sock);
arscan
|root
|parent
[-]
> Even at the time, the task didn't seem like "enough" for a show-the-world blog post.
Its an old (de facto industry) standard, but maybe more relevant than ever. I'm interested in moving more of my compute usage off-cloud these days, which is why this is of interest to me right now. I suspect many others feel the same way.
Might be a good time to post other tidbits of knowledge you have like this, targeted at software engineers that are starting to get more into infrastructure management. Standards that are ubiquitous and just work are awesome.
chungy
|next
|previous
[-]
Then again, an LLM could probably help clean up the grammar.