当设备从 Linux 内部关闭但不是从 Windows 内部关闭时,通过对接集线器出现 WOL 问题

当设备从 Linux 内部关闭但不是从 Windows 内部关闭时,通过对接集线器出现 WOL 问题

我有一台连接到戴尔 WD19TB 坞站的戴尔笔记本电脑。它被设置为能够双重启动 Windows 10 和 Kubuntu 22.04(20.04 也存在该问题)。

当我从 Windows 中关闭笔记本电脑时,我可以将 WOL 数据包发送到扩展坞 NIC 的 MAC 地址。当我从 Kubuntu 中关闭笔记本电脑时,这不起作用。

当我将网络电缆直接连接到笔记本电脑而不是扩展坞时,当我将 WOL 数据包发送到笔记本电脑的网卡时,我可以在 Kubuntu 内关闭笔记本电脑后唤醒笔记本电脑。

这里可能出现什么问题?

ethtool表明 NIC 设置正确且 WOL 处于活动状态。

ethtool enx<mac-address>
Settings for enx<mac-address>:
    Supported ports: [ TP    MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Half 1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
                                         1000baseT/Full
    Link partner advertised pause frame use: No
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    Port: MII
    PHYAD: 32
    Transceiver: internal
    Supports Wake-on: pumbg
    Wake-on: g
        Current message level: 0x00007fff (32767)
                               drv probe link timer ifdown ifup
                               rx_err tx_err tx_queued intr
                               tx_done rx_status pktdata hw wol
    Link detected: yes

lshw -class network印刷

description: Ethernet interface
physical id: 14
bus info: usb@4:2.4
logical name: enx<mac-address>
serial: <mac-address>
size: 1Gbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.12.13 duplex=full firmware=rtl8153b-2 v1 10/23/19 link=yes multicast=yes port=MII speed=1Gbit/s

扩展坞通过 Thunderbolt 连接。也许 Windows 正在将扩展坞置于某种待机模式,而 Kubuntu 正在关闭它的电源?

将笔记本电脑置于睡眠状态时也会出现同样的问题,它不会通过 WOL 唤醒。

答案1

默认情况下,某些网络接口没有设置 WOL 标志。您可以使用更改此设置ethtool(可以使用安装apt install ethtool)。

要检查 WOL 标志是否已设置,请使用:

ethtool <nic> | grep Wake

输出应该是这样的:

    Supports Wake-on: pumbg
    Wake-on: g

如果它显示Wake-on: d,则表示 LAN 唤醒已禁用。 g已启用。您可以通过键入以下内容手动设置此标志:

ethtool -s <nic> wol g

您可以设置网络接口,以便在每次系统启动时通过编辑启用此功能/etc/network/interfaces

auto <nic>
iface <nic> ...
        ...
        up ethtool -s <nic> wol g

可能有一种更现代的方法可以做到这一点,但我已经使用这种设置多年了。 包含更多信息的 Debian 文章

相关内容