使用郁金香网络驱动程序进行局域网唤醒

使用郁金香网络驱动程序进行局域网唤醒

我今天一直在想办法让 Ubuntu 盒子在局域网上唤醒。这台电脑很旧了,但我在 BIOS 中找到了 WOL 选项(我还启用了 pci 唤醒)。网卡是 ADMTek NC100 Network Everywhere(修订版 11)。从我在网上读到的内容来看,它也应该支持 WOL。

首先,我尝试使用 ethtool,但由于 NIC 的驱动程序是 Tulip,ethtool 没有给我任何有关它的信息。

ethtool eth0
Settings for eth0:
No data available

ethtool -i eth0
driver: tulip
version: 1.1.15
firmware-version:
bus-info: 0000:02:0c.0

我首先尝试使用的命令是:

ethtool -s eth0 wol g

但它不起作用(我猜是因为郁金香)。

接下来我尝试修改/proc/acpi/wakeup。初始状态是:

Device  S-state   Status   Sysfs node
SBTN      S4    *enabled
PCI1      S4     disabled  pci:0000:00:1e.0
UAR1      S4     disabled  pnp:00:08
USB       S4     disabled  pci:0000:00:1f.2
USB2      S4     disabled  pci:0000:00:1f.4
AC9       S4     disabled
SMB       S4     disabled  pci:0000:00:1f.3

因此我尝试通过以下步骤启用 PCI 唤醒功能(尽管它不是我的以太网卡插槽):

grep 'PCI1.*enabled' < /proc/acpi/wakeup >/dev/null || \
echo PCI1 > /proc/acpi/wakeup

运行该命令后,PCI 端口被列为已启用,但 WOL 仍然不起作用。我尝试使用这个客户适用于 Windows XP。我还没有测试它是否能正常发送魔法包,但它在 Google 搜索中名列前茅,而且到处都有它的参考资料,所以我不认为问题出在这里。

我已经没什么主意了(也没有论坛可以搜索 :),所以我希望这里有人能找到解决这个问题的方法。谢谢 :)。

答案1

也许这是瞎猜,但可能是你的路由器阻塞了魔术包所需的端口吗?(我相信是端口 7)

我以前也尝试过类似的事情,在大学期间,我会在家里的电脑上启用 WOL(这样我就可以通过 ssh 备份大学工作等文件)。我遇到的一个问题是我家里的路由器阻塞了那个端口,一旦我打开它并将端口 7 上的所有流量转发到那台电脑,它就可以正常工作了

希望这可以帮助

答案2

这里是一个可以在您的卡上启用 WoL 的补丁。

适用于内核版本 2.6.24 的 Ubuntu 8.04.3 LTS,可能需要进行一些调整...

在我的安装了 Ubuntu 9.10 karmic 的机器上(但以太网卡/驱动程序与您的不同),我必须在 exit=0 之前在 /etc/rc.local 中添加这个:

ethtool -s eth0 wol g

否则,以太网卡在关机时将被禁用,从而无法接收魔术包。

WakeOnLAN 通常使用 UDP 端口 0、7 或 9。

相关内容