[lug] OT: Wake On Lan

D. Stimits stimits at attbi.com
Tue Aug 27 13:47:37 MDT 2002


Peter Hutnick wrote:
>>watch what is sent (DHCP broadcasts are apparently from normally
>>non-routeable IP's). Still, I thought that this machine would ignore
>>such broadcasts, I have in theory disabled WOL both in the o/s and in
>>the BIOS.
> 
> 
> WOL has nothing to do with IP.  There is no IP stack in your NIC . . .

I understand this, but the filtering bridge is NOT the machine waking 
up. The bridge is passing broadcasts from any IP to broadcast. The 
*source* IP of the broadcast does indeed exist, there just is not a 
destination. For example, there is a 10.x.x.x IP address doing some of 
the port 68/69 DHCP work, and it uses broadcasts. I know from testing I 
have to let it pass, or machines cannot get their IP. But it also allows 
all packets from all 12.x.x.x broadcasts, and I do not know just which 
broadcasts I can remove via the bridge firewall. This is quite possible 
to filter based on source IP, and does not involve destination IP. The 
filter is a Linux bridge, the machine waking up is Win 98. I suspect the 
source is a 12.x.x.x address.

I think things will be a bit easier to deal with after I upgrade the 
kernel, the newest kernels offer MAC address targets for firewalling 
rules. I do not want to simply remove all broadcasts from the 12.x.x.x 
range, I have plans for its use internally (too bad it isn't so easy to 
dual-IP NIC's on win98, I could just create a separate internal IP 
network...until this project I had not realized just how primitive 
windows networking is, even on Win2K, which is far more advanced than 98).

> 
> AFAIK it uses raw ethernet frames.
> 
> I'm not much of a programmer, but you might find
> ftp://ftp.scyld.com/pub/diag/ether-wake.c instructive.

The interesting thing from the articles so far seems to be that there is 
a magic byte sequence, and that no matter what protocol or address is 
used, when in WOL standby mode, the NIC will wake up if that byte 
sequence is seen. If it sees on a HUB this packet sequence from an 
unrelated tcp/ip, udp, or broadcast, even if not intended to be WOL, it 
will wake up. The trick seems to be that at shutdown or power off, the 
NIC has to transition to this mode. Looks like something in 98 is flakey 
(imagine that!), and putting it into the WOL mode even when it is told 
not to. The wakeup software itself seems to use UDP code for various 
manager solutions, but the only reason for UDP is that it does not 
require a connection...tcp/ip would work just as well if a HUB (versus 
switch) were used.

D. Stimits, stimits AT attbi.com




More information about the LUG mailing list