讲师中心 微信公众号
AI工具推荐 视频效率加速

Ubuntu如何配置具体的系统网络接口在低功耗模式下的唤醒策略

夏静酱_8587

夏静酱_8587

发布时间:2026-08-11 08:14:26

|

145人浏览过

|

来源于php中文网

原创

先用sudo ethtool <interface> | grep -i "wake-on"查看状态,Wake-on: d为禁用、g为启用;再执行sudo ethtool -s <interface> wol g临时启用,需配合systemd服务或udev规则实现持久化。

ubuntu如何配置具体的系统网络接口在低功耗模式下的唤醒策略

如何用 ethtool 查看并设置网卡 Wake-on-LAN 状态

Ubuntu 默认不启用关机状态下的网络唤醒,即使 BIOS 已开启 WOL,系统启动后仍需手动配置网卡的 wol(Wake-on-LAN)标志。关键不是“能不能唤醒”,而是“ethtool 输出里 Wake-on 字段是否为 g”。

先确认接口名:

ip -br a | grep UP

再查支持与当前状态:

sudo ethtool <interface-name> | grep -i "wake-on\|supports wake"
  • Supports Wake-on: pumbg → 表示硬件支持 Magic Packet(g)等模式
  • Wake-on: d → 当前禁用;Wake-on: g → 已启用 Magic Packet 唤醒
  • 若输出含 not supported 或字段全为空,说明驱动/固件未暴露该能力,ethtool -s 强制设 wol g 会失败

启用命令(仅临时生效):

sudo ethtool -s <interface-name> wol g

为什么 systemd 服务启用后 wol g 仍不持久?

常见错误是服务没在正确时机运行:网卡可能尚未完成初始化,ethtool 就执行了,结果被内核忽略。不能只依赖 WantedBy=multi-user.target。

正确做法是让服务等待网卡就绪:

  • 使用 After=network-pre.target 和 Wants=network-pre.target,确保在网卡驱动加载后、地址配置前执行
  • Type=oneshot + RemainAfterExit=yes 防止 systemd 认为服务已退出而不再管理
  • 避免写死 ExecStart=/sbin/ethtool -s eth0 wol g,应改用 udev 规则或接口名通配(见下条)

推荐服务文件 /etc/systemd/system/wol@.service(带实例模板):

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载
[Unit]
Description=Enable Wake-on-LAN for %I
After=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s %I wol g
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

启用时指定接口:

sudo systemctl enable wol@enp3s0.service

systemd-sleep 脚本能否控制休眠时网卡行为?

不能直接“唤醒网卡”,但能干预休眠前后的状态。重点在于:Linux 休眠(suspend)时网卡默认断电,post 阶段恢复供电后,NetworkManager 会自动重连,但 WOL 配置不会自动重载。

如果你发现挂起后唤醒,ethtool 显示 Wake-on: d,说明内核重置了该标志。此时应在 post 阶段补回:

  • 脚本路径必须是 /lib/systemd/system-sleep/ 下可执行文件(如 /lib/systemd/system-sleep/wol-restore)
  • 脚本中需判断是否为 post 且接口存在,再执行 ethtool -s <iface> wol g
  • 注意:不要在 pre 阶段禁用 WOL,否则关机后无法被 Magic Packet 唤醒

简单可靠写法:

#!/bin/sh
if [ "$2" = "suspend" ] && [ "$1" = "post" ]; then
    ip link show enp3s0 >/dev/null 2>&1 && \
        /sbin/ethtool -s enp3s0 wol g
fi

BIOS、驱动、内核参数三者缺一不可

WOL 在 Ubuntu 上失效,80% 情况不是配置问题,而是底层链路断裂。最容易被忽略的是:

  • BIOS 中 WOL 设置名称不统一:可能是 “PME Event Wakeup”、“Resume by PCI/PCI-E Device”、“ErP Ready”(需关)、或 “Deep Sleep” 相关选项 —— 必须确认对应网卡插槽的 PCIe 设备被允许唤醒
  • 某些 Realtek/Intel 网卡需加载特定驱动参数:例如 r8169 驱动对部分 RTL8111 卡默认禁用 WOL,需加内核启动参数 r8169.enable_wol=1,写入 /etc/default/grub 的 GRUB_CMDLINE_LINUX 后 sudo update-grub && sudo reboot
  • USB-C/雷电扩展坞上的有线网卡通常不支持 S5 唤醒:即使 ethtool 显示 g,BIOS 也开了,Magic Packet 发出去也没响应 —— 这是硬件限制,非软件可解

真正稳定的 WOL,必须三者同时满足:BIOS 允许 PCIe 唤醒 + 内核驱动暴露 WOL 控制 + ethtool 成功写入 wol g。少一个,wakeonlan 命令就只是发了个没人收的包。

热门AI工具

更多
PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

3148

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

4869

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3789

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

446

2026.01.19

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

6501

2023.10.27

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

2061

2023.12.28

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

1790

2023.12.28

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1041

2024.09.05

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

20

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn