
我正在嘗試啟用 WOL 並遵循以下答案:如何永久啟用區域網路喚醒?
根據鏈接,我建立了一個新貴作業以在重新啟動時啟用 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,因此一個失敗不會影響其他介面。此外,當您的介面在啟動後啟動(熱插拔)時,此工作即可發揮作用。