Power Management and Wake-on-LAN
PCI power management events are processed by the suspend and resume
functions of the pci_driver data structure. Besides
taking care of the PCI state, by saving and restoring it, respectively, these functions
need to take special steps in the case of NICs:
suspendmainly stops the device egress queue so that no transmission will be allowed on the device.resumere-enables the egress queue so that the device is available again for transmissions.
Wake-on-LAN (WOL) is a feature that allows an NIC to
wake up a system that's in standby mode when it receives a specific type of frame. WOL is
normally disabled by default. The feature can be turned on and off with pci_enable_wake.
When the WOL feature was first introduced, only one kind of frame could wake up a system: "Magic Packets."[*] These special frames have two main characteristics:
The destination MAC address belongs to the receiving NIC (whether the address is unicast, multicast, or broadcast).
Somewhere (anywhere) in the frame a sequence of 48 bits is set (i.e., FF:FF:FF:FF:FF:FF) followed by the NIC MAC address repeated at least 16 times in a row.
Now it is possible to allow other frame types to wake up the system, too. A handful of devices can enable or disable the WOL feature based on a parameter that can be set at module load time (see drivers/net/3c59x.c for an example).The ethtool tool allows an administrator to configure what kind of frames can wake up the system. One choice is ARP packets, as described ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access