为了确保 PCI 桥已准备好进行 WOL,我尝试放置
sudo sh -c 'echo enabled > /sys/class/pci_bus/0000:00/device/0000:00:1c.0/power/wakeup'
在/etc/rc.local
显然,该文件在调用时还不存在(还不存在?)rc.local
,因为我收到无法找到该文件夹的错误。如果我在终端窗口中复制/粘贴该指令,系统不会返回任何错误。
我认为这是一个时间问题,有人知道如何正确地做到这一点吗?
或者如果有人可以向我展示在哪里可以找到有关如何构建文件夹结构的更多信息的参考/sys/class
,这也可能会有所帮助!
答案1
我在这里找到了解决方案: http://bernaerts.dyndns.org/linux/74-ubuntu/220-ubuntu-resume-usb-hid
虽然它仅适用于 USB 设备,但同样的也适用于 pci 设备。
答案2
标准方法是使用sysfsutils
而不是/etc/rc.local
。检查您是否具有必备软件包:
sudo apt-get install sysfsutils
现在编辑文件/etc/sysfs.conf
sudo nano /etc/sysfs.conf
在文件末尾添加
class/pci_bus/0000:00/device/0000:00:1c.0/power/wakeup = enabled
保存并退出。
重新启动后你会发现:
$ cat /sys/class/pci_bus/0000:00/device/0000:00:1c.0/power/wakeup
enabled
sysfs
安装的/sys
并不是真正的文件系统 - 它是一个进入内核的用户空间窗口,带有一些像这样的可配置访问点 - 它们不是真正的文件。