Hi, I've been reading this thread and http://ubuntuforums.org/showthread.php?t=814939, among other resources on the net, regarding WOL. I want to wake after shutdown, not hibernation, and so far, I've been unable to make it work. My setup is an old IBM netvista 6578 motherboard with a Realtek 8139C (chipset) network card. I'm running Ubuntu server 9.10 with the latest upgrades available. Manual from the motherboard says it supports WOL and I've enabled it in the BIOS. The network card does not have a connection for a dedicated cable, and the motherboard manual states that it can do WOL through the PCI bus.
The configuration of the system is as follows
Code:
$ sudo lspci -tv
-[0000:00]-+-00.0 Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub
+-02.0 Intel Corporation 82815 Chipset Graphics Controller (CGC)
+-1e.0-[0000:01]--+-08.0 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
| +-0d.0 Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller
| \-0e.0 Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller
+-1f.0 Intel Corporation 82801BA ISA Bridge (LPC)
+-1f.1 Intel Corporation 82801BA IDE U100 Controller
+-1f.2 Intel Corporation 82801BA/BAM USB Controller #1
+-1f.3 Intel Corporation 82801BA/BAM SMBus Controller
\-1f.5 Intel Corporation 82801BA/BAM AC'97 Audio Controller
Code:
$ sudo lspci -v
00:00.0 Host bridge: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 02)
Flags: bus master, fast devsel, latency 0
Capabilities: [88] Vendor Specific Information <?>
Kernel driver in use: agpgart-intel
Kernel modules: intel-agp
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 01)
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 00007000-00007fff
Memory behind bridge: feb00000-febfffff
Prefetchable memory behind bridge: 20000000-200fffff
Kernel modules: shpchp
01:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Subsystem: Kingmax Technology Inc Device 0203
Flags: bus master, medium devsel, latency 208, IRQ 16
I/O ports at 7800 [size=256]
Memory at febff700 (32-bit, non-prefetchable) [size=256]
Expansion ROM at ff000000 [disabled] [size=128K]
Capabilities: [50] Power Management version 2
Kernel driver in use: 8139too
Kernel modules: epl, 8139too, 8139cp
(some stuff removed for clarity)
I've followed the ethtool stuff until I managed to get this after every boot:
Code:
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: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
So far, the "g" here is supposed to enable the WOL. Checked to see if pci devices were enabled to wakeup the machine and got this
Code:
Device S-state Status Sysfs node
PS2K S3 disabled pnp:00:03
UAR1 S5 disabled pnp:00:05
UAR2 S5 disabled pnp:00:06
USB0 S3 disabled pci:0000:00:1f.2
PCI2 S5 disabled pci:0000:00:1e.0
I guessed that PCI2 had to be enabled and since I couldn't find the network card, I went into the /sys/devices directories and realized they were all disabled. I then enabled them with
Code:
$ sudo su
# echo PCI2 > /proc/acpi/wakeup
# echo enabled > /sys/devices/pci0000\:00/0000\:00\:1e.0/power/wakeup
# echo enabled > /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:01\:08.0/power/wakeup
which gives me
Code:
# cat /proc/acpi/wakeup
Device S-state Status Sysfs node
PS2K S3 disabled pnp:00:03
UAR1 S5 disabled pnp:00:05
UAR2 S5 disabled pnp:00:06
USB0 S3 disabled pci:0000:00:1f.2
PCI2 S5 enabled pci:0000:00:1e.0
#cat /sys/devices/pci0000\:00/0000\:00\:1e.0/power/wakeup
enabled
#cat /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:01\:08.0/power/wakeup
enabled
Up to this point I understand that the motherboard and the network card both support WOL, and by the commands above everything is already running. I've also modified the etc/init.d/halt script adding
Code:
# Modified on 2011-01-09 to try Wake-on-LAN
# NETDOWN=yes
NETDOWN=no
But haven't run any update-rc.d or anything similar. (Is it needed?)
With all this going, if I shutdown the server (with sudo shutdown -h now) it goes off and no light is blinking on the network card. I guess this might be the key issue here, but I'm not sure. Are the lights (ACT and LINK) supposed to be blinking all the time or only when they get traffic?
As expected (but not desired) it doesn't wake up when magic packet is sent from other machines in the network (tried from a couple of machines with wakeonlan). Does anybody have an idea of how to troubleshoot this?
Sorry for the long post and thanks in advance,
Alberto
Bookmarks