Few days ago I had to go from work to home just to turn on my desktop computer. Now when I have possibility to remote login to my router I tried to get Wake-On-LAN working.
My desktop PC has 3 network cards:
- 3Com 3c905b-tx (my favorite one which I use since 2001)
- SMC 9332 DST (card from 1995 year — I bought it because it has good packet driver under DOS)
- Via-Rhine 6102 (onboard — was disabled)
I installed “ethtool” and started to checking which card support WOL. First tested was 3Com one:
root@home:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 24
Transceiver: internal
Auto-negotiation: on
Current message level: 0x00000001 (1)
Link detected: no
As you see — no WOL here.. So I build “tulip” module and checked SMC card:
root@home:~# ethtool eth1
Settings for eth1:
No data available
It’s so old card that I was not suprised that it does not support WOL. Next step was rebooting machine, enable onboard LAN and enabling two other options in BIOS:
Wake on Onboard LAN
Wake on PCI card
Started Linux and started ethtool:
root@home:~# ethtool eth2
Settings for eth2:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes
And that card support WOL :) So I retired 3Com card and now VIA-Rhine is my default NIC. I added one line to /etc/init.d/hrw-misc:
ethtool -s eth0 wol pumbg
to get WOL turned on on each reboot.
On router I installed “wol” package and created one line script “/sbin/wake-home”:
wol -i 192.168.1.255 xx:yy:zz:aa:bb:cc
where “xx:yy:zz:aa:bb:cc” is MAC address of desktop NIC.
Thanks goes to Jimmy for his entry in blog.