网络唤醒失效的问题分析

之前在家配置网络唤醒都是正常的,自从升级到20.04后网络唤醒就开始失效,分析一下后感觉跟具体的网络配置和bios配置应该没有太大关系,最大的问题是在于配置为S5(shutdown)状态下时网卡需要在关机后处于激活状态,而这里需要系统在启动后将对应的网卡状态设置为对应状态。

在ubuntu20.04上的具体配置

可以使用ethtool工具来查看状态,首先查看具体的网络接口信息

ip a

可以得到下面的内容

2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether f4:b5:20:3b:03:1c brd ff:ff:ff:ff:ff:ffinet 172.16.2.5/24 brd 172.16.2.255 scope global dynamic noprefixroute enp4s0valid_lft 31926sec preferred_lft 31926secinet6 240e:36f:d3b:6f71::3ac/128 scope global dynamic noprefixroute valid_lft 174510sec preferred_lft 88110sec

这里可以看到mac地址为f4:b5:20:3b:03:1c的网卡名为enp4s0,之后可以使用ethtool来查看Wake-On-LAN的状态

sudo ethtool enp4s0

这样就可以得到对应的状态

Supports Wake-on: pumbg
Wake-on: d

这里Wake-on: d表示disable, 对应的还有其他含义的参数

Option   Description
p   Wake on PHY activity
u   Wake on unicast messages
m   Wake on multicast messages
b   Wake on broadcast messages
g   Wake on MagicPacket messages

这时,我们就可以来更新WOL的状态

sudo ethtool --change enp4s0 wol g

之后检查接口的状态可以发现已经改为

Wake-on: g

之后就可以使用wakeonlan等工具来唤醒机器了

网络唤醒的持久化

正常使用时会发现每次开机后都要重新设置网卡的状态才能在下一次关机后再次使用网络唤醒,所以我们可以通过systemd添加一个系统服务在每次开机后修改网卡状态,具体做法如下:
先确定ethtool的绝对路径

which ethtool

这里我的工具路径是/sbin/ethtool, 之后可以创建一个 /etc/systemd/system/wol.service 文件,在这里写下启动执行一次的服务信息

[Unit]
Description=Enable Wake On Lan[Service]
Type=oneshot
ExecStart = /sbin/ethtool --change enp4s0 wol g[Install]
WantedBy=basic.target

这里需要注意的是我的机器的网卡名为enp4s0,ethtool的路径是/sbin/ethtool,对于你们的可能要相应调整
之后只需要enable该服务就可以

sudo systemctl daemon-reload
sudo systemctl enable wol.service

之后可以检查一下对应的状态

systemctl status wol

Ubuntu20.04配置网络唤醒相关推荐

  1. Ubuntu20.04配置Java环境

    Ubuntu20.04配置Java环境 下载 解压 添加软链接 update-alternatives说明 环境变量 验证 Hello World测试 下载 去Oracle官网下载jdk https: ...

  2. Ubuntu20.04配置好文

    1. 阿里镜像源 乌班图系统自带的apt-get是一款适用于Unix和Linux系统的高级包管理器.主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统.因为该工具默认是从国外的互联网 ...

  3. 最新 Ubuntu20.04 配置安装 | 虚拟机配置及各类软件安装(wps,pycharm, mysql,docker等)

    * Ubuntu20.04配置安装 前言 一.使用VMware安装Ubuntu20.04 以及下载软件包 1. 下载镜像 与各类软件包 2. 创建虚拟机 1. 创建新的空白虚拟机 2. 安装Ubunt ...

  4. ubuntu20.04配置FrankMocap实现3D人体姿态估计

    一.初始环境配置 1.ubuntu20.04配置显卡驱动 以我的这篇文章为例子,显卡RTX2060及以下的都可以使用我的方法快速完成配置,RTX2060以上的我尚未进行尝试,请自行斟酌尝试. 联想拯救 ...

  5. ubuntu20.04配置Defects4j

    ubuntu20.04配置Defects4j 1.配置jdk 2.安装git 3.安装svn 4.安装perl 5.安装defects4j 1.配置jdk 如果没配置jdk,作者的教程链接在这:ubu ...

  6. ubuntu20.04配置samba服务器

    ubuntu20.04配置samba服务器 安装samba sudo apt-get install samba samba-common 配置需要共享的目录 sudo chmod -R 777 /h ...

  7. ubuntu20.04配置静态ip

    ubuntu20.04配置静态ip (1)在终端程序中输入命令"sudo apt-get install vim",安装文本编辑器vim (2)输入"ifconfig&q ...

  8. Xsens MTI-300 ubuntu20.04配置

    花了一天时间配置 填了不少坑 记录一下 主要的教程可以看这里,和官方包里一致. 安装Xsens MTi-300的ROS驱动_W_Tortoise的博客-CSDN博客文章目录1 概述2 支持的设备3 工 ...

  9. Ubuntu20.04配置固定IP时的问题

    由于Ubuntu20和以前配置IP的方法和位置都不一样,所以这里总结一些我在配置IP时出现的错误 目录 配置固定IP的正确姿势 遇到的坑 一点小建议 配置固定IP的正确姿势 (1)首先进入/etc/n ...

最新文章

  1. 剑指offer:数组中只出现一次的数字
  2. 计算机组成原理试卷五套,计算机组成原理(五套试题)
  3. android Lint优化代码
  4. Android Animation学习(六) View Animation介绍
  5. mysql 备份到别的机器_物理拷贝备份mysql到其他机器上恢复
  6. C++中new int()与new int[]区别
  7. CSS3背景渐变。。。
  8. java js 加密解密算法_JS自己实现字符串加密和解密算法
  9. pycharm 连接SQL
  10. 51单片机之数据转移指令MOV、MOVX、MOVC等
  11. PCB设计经典资料学习汇总
  12. [BJOI2019]勘破神机(斯特林数+二项式定理+数学)
  13. JavaScript 习题及面试题 4
  14. 微信小程序模板信息【详】
  15. php redis中文手册——《redis中文手册》 php版
  16. 汇编语言寄存器AX,BX,CX,DX
  17. 主码,候选码,外码,全码,主属性,非主属性的区别
  18. 办理登机的英语词组手机键盘_如何使用智能手机使登机轻而易举
  19. 【计算机三级】网路技术学习笔记 第七章 路由器配置及使用
  20. 《初入linux》--第二十部分-Apache服务器的几个实用技巧

热门文章

  1. 大气污染扩散模型Calpuff教程
  2. 视觉之相机选型及打光【RGB】
  3. 小蟑螂与帅哥的故事~
  4. html页面播放avi视频,使用Waltr 2让你在iPad上播放MKV!
  5. 浏览器主页被篡改(IE浏览器恢复默认页)
  6. MATLAB中的数据从double类型强制转化为uint8其舍入用的是四舍五入,附MATLAB基本数据类型
  7. n个小球放入m个盒子中_N个小球放进M个盒子算法
  8. 《颤抖吧,无证程序员们》----只为娱乐
  9. html两个表格上下显示,上下两个表格有相同列数,怎么使上下对其_html/css_WEB-ITnose...
  10. 机器学习期末考试回忆版