我正在尝试启用 WOL 并遵循以下答案:我如何才能永久启用网络唤醒功能?
根据链接,我创建了一个 upstart 作业以在重启时启用 WOL。脚本是:
start on started network
script
for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
logger -t 'wakeonlan init script' enabling wake on lan for $interface
ethtool -s $interface wol g
done
end script
该脚本名为 wakeonlan.conf,位于 /etc/init/。我可以通过以下方式启动该作业:
sudo service wakeonlan start
这已成功启动并且在 eth0 上启用了 WOL。
然而,重启后,upstart 任务无法启动。wakeonlan.log 显示:
Cannot get current wake-on-lan settings: Operation not supported
not setting wol
我不知道下一步该做什么?
答案1
首先,ubuntu 12.04 上没有名为“network”的作业。您应该使用started networking
。
接下来,也许将其作为实例作业会有所帮助。试试这个:
start on net-device-up
instance $IFACE
task
pre-start exec logger -t 'wakeonlan init script' enabling wake on lan for $IFACE
exec ethtool -s $IFACE wol g
我认为发生的情况是 /proc/net/dev 中的一个接口不支持 wol,因此您的作业不会继续处理其余接口。上面的作业将为每个接口单独打开 wol,因此一个接口失败不会影响其他接口。此外,当您的接口在启动后(热插拔)启动时,此作业会起作用。