如何使用 LAN 唤醒启动桌面?

如何使用 LAN 唤醒启动桌面?

我正在尝试让 LAN 唤醒 (WoL) 在我的桌面上运行。它有一个 Asus P6T Deluxe v2 主板,我已成功启用 BIOS 电源管理中的 WoL 选项 [1]。桌面当前配置为 Windows 7 和 Arch Linux 的双启动。在 Windows 7 上,我可以使用 WoL 启动,但在我的 Arch Linux 上,我只能使用 WoL 恢复工作。我按照 Arch Linux wiki 页面上有关 WoL [2] 的说明进行操作。我必须在 Linux 上配置什么才能使用 WoL 启动?

我能找到的关于 Linux 上 WoL 的所有教程,只描述了如何使用它ethtool以及如何从另一个设备生成魔法包,但我找不到任何一个可以解释如何确保可以使用 WoL 启动。

从 Ask Ubuntu [3] 上的一篇文章中我推断这可能与启用/proc/acpi/wakeup我的以太网卡有关。我尝试使用它来启用它echo POP6 > /proc/acpi/wakeup,不幸的是没有启用它。当我在 USB 设备(例如 USB3)上尝试使用它时,它确实在启用和禁用之间正确切换。

我是否走在正确的轨道上,启用我的以太网卡/proc/acpi/wakeup,或者与启用 Linux 使用 WoL 启动无关?如果我应该启用它,为我的以太网卡启用它的正确方法是什么?

  1. http://blog.controlspace.org/2009/09/wake-on-lan-with-windows-7-and-asus-p6t.html
  2. https://wiki.archlinux.org/index.php/Wake-on-LAN
  3. https://askubuntu.com/questions/352888/wake-on-lan-13-04-problems

在我做出错误假设的情况下,这就是我假设 POP6 是我的以太网设备的方式。

执行lspci -tv给了我:

-+-[0000:ff]-+-00.0  Intel Corporation Xeon 5500/Core i7 QuickPath Architecture Generic Non-Core Registers
 |           +-00.1  Intel Corporation Xeon 5500/Core i7 QuickPath Architecture System Address Decoder
 |           +-02.0  Intel Corporation Xeon 5500/Core i7 QPI Link 0
 |           +-02.1  Intel Corporation Xeon 5500/Core i7 QPI Physical 0
 |           +-03.0  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller
 |           +-03.1  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Target Address Decoder
 |           +-03.4  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Test Registers
 |           +-04.0  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Control Registers
 |           +-04.1  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Address Registers
 |           +-04.2  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Rank Registers
 |           +-04.3  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Thermal Control Registers
 |           +-05.0  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Control Registers
 |           +-05.1  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Address Registers
 |           +-05.2  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Rank Registers
 |           +-05.3  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Thermal Control Registers
 |           +-06.0  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Control Registers
 |           +-06.1  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Address Registers
 |           +-06.2  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Rank Registers
 |           \-06.3  Intel Corporation Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Thermal Control Registers
 \-[0000:00]-+-00.0  Intel Corporation 5520/5500/X58 I/O Hub to ESI Port
             +-01.0-[01]--
             +-03.0-[02]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Cypress PRO [Radeon HD 5850]
             |            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Cypress HDMI Audio [Radeon HD 5800 Series]
             +-07.0-[03]--
             +-14.0  Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers
             +-14.1  Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers
             +-14.2  Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers
             +-14.3  Intel Corporation 7500/5520/5500/X58 I/O Hub Throttle Registers
             +-1a.0  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
             +-1a.1  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
             +-1a.2  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
             +-1a.7  Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
             +-1b.0  Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
             +-1c.0-[06]--
             +-1c.2-[05]----00.0  Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller
             +-1c.5-[04]----00.0  Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller
             +-1d.0  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
             +-1d.1  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
             +-1d.2  Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
             +-1d.7  Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
             +-1e.0-[07]----02.0  VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller
             +-1f.0  Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
             +-1f.2  Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1
             +-1f.3  Intel Corporation 82801JI (ICH10 Family) SMBus Controller
             \-1f.5  Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2

具有LAN连接的设备enp5s0根据呼叫的响应ip addr。我认为这是来自lspci -tv:的+-1c.2-[05]----00.0 Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller

执行cat /proc/acpi/wakeup给了我:

Device  S-state   Status   Sysfs node
NPE2      S4    *disabled
NPE4      S4    *disabled
NPE5      S4    *disabled
NPE6      S4    *disabled
NPE8      S4    *disabled
NPE9      S4    *disabled
NPEA      S4    *disabled
P0P1      S4    *disabled  pci:0000:00:1e.0
PS2K      S4    *disabled
PS2M      S4    *disabled
USB0      S4    *enabled   pci:0000:00:1d.0
USB1      S4    *enabled   pci:0000:00:1d.1
USB2      S4    *enabled   pci:0000:00:1d.2
USB5      S4    *disabled
EUSB      S4    *enabled   pci:0000:00:1d.7
USB3      S4    *enabled   pci:0000:00:1a.0
USB4      S4    *enabled   pci:0000:00:1a.1
USB6      S4    *enabled   pci:0000:00:1a.2
USBE      S4    *enabled   pci:0000:00:1a.7
P0P4      S4    *disabled  pci:0000:00:1c.0
P0P5      S4    *disabled
P0P6      S4    *disabled  pci:0000:00:1c.2
P0P7      S4    *disabled
P0P8      S4    *disabled
P0P9      S4    *disabled  pci:0000:00:1c.5
NPE1      S4    *disabled  pci:0000:00:01.0
NPE3      S4    *disabled  pci:0000:00:03.0
NPE7      S4    *disabled  pci:0000:00:07.0
GBE       S4    *disabled

由于 Sysfs 节点与我从lspci -tv设备 POP6 获得的节点相匹配,因此我认为必须启用 POP6 才能启用以太网卡。

答案1

在尝试了 BIOS 设置后,我终于能够使用 WoL 启动 Linux!显然我必须启用两者通过 PCI 设备开机通过 PCIE 设备开机让它在 Linux 下使用 WoL 启动。为了确定这就是我尝试了所有组合的原因。

  1. 为了彻底起见,我尝试禁用它们,看看这是否会导致无法恢复使用 WoL,它确实做到了,因为它使得无法将唤醒标志设置为 g,正如预期的那样。
  2. 启用其中任何一个后,我能够恢复使用 WoL,但无法使用 WoL 启动。
  3. 当启用它们时,我能够使用 WoL 恢复和启动。

在 Windows 下,之后启用驱动程序设置以从关机状态唤醒,只有在以下情况下才能使用 WoL 启动通过 PCIE 设备开机已启用。启用通过 PCI 设备开机没有产生任何影响。更改这些驱动程序设置后,Windows 无法再进入睡眠模式。原因是以太网设备已添加到允许唤醒 Windows 的设备列表中。后通过电源配置禁用以太网设备唤醒 Windows,Windows 再次能够进入睡眠模式。

在此输入图像描述

相关内容