RK3568平台 网络唤醒

一.什么是网络唤醒

网络唤醒(Wake-on-LAN,WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN,WoWLAN)作为 WOL 的补充技术,使用无线网卡去唤醒计算机。网络唤醒在一般的局域网环境里使用有限广播地址(255.255.255.255)即可,由于路由器都不转发目的地址为有限广播地址的数据报,因此在复杂网络情况下通常使用子网定向广播地址。在局域网外唤醒局域网内特定计算机,可以使用路由器的 DDNS 与端口转发。

在1996年10月,英特尔和 IBM 成立了 Advanced Manageability Alliance。1997年4月,联盟提出了 WOL 技术。这是 WOL 技术的起源,随后各大厂商纷纷推出了自己的 WOL 技术标准。本文所讨论的 WOL 技术是由 AMD 公司提出的 Magic Packet(幻数据包,魔术包)唤醒方式,这里给出 AMD 关于此技术的白皮书。

幻数据包(Magic Packet)

幻数据包是一个广播帧,包含目标计算机的MAC地址。由于 MAC 地址的唯一性,使数据包可以在网络中被唯一的识别。幻数据包发送通常使用无连接的传输协议,如 UDP ,发送端口为 7 或 9 ,这只是通常做法,没有限制。

WOL 技术被提出了将近20年,绝大多数的现代网卡都支持在超低功耗下监听特定的报文,如 ARP。如果设备网卡接收到一个与自己 MAC 地址相同的幻数据包,则网卡会向计算机的电源或主板发出信号以唤醒计算机。大部分的幻数据包在数据链路层(OSI模型第2层)上发送,当发送时,使用广播地址广播到给定的网络上,不使用IP地址(OSI模型第3层)。当然这是绝大部分情况,幻数据包也可以使用特定的 IP 地址进行发送。

二.网络唤醒工具WakeMeOnLan的使用

WakeMeOnLan 是一款小巧免费的局域网唤醒工具,它界面简单,有简体中文界面,能扫描局域网中的电脑,通过网卡唤醒设备。

添加一个计算机,输入IP地址和MAX码,右键唤醒计算机。 

三.网络唤醒所需环境

须安装 ethtool wakonlan:

sudo apt-get update
sudo apt-get install ethtool -y
sudo apt install wakeonlan -y

查看唤醒设备MAC:

ifconfig eth0
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether ca:38:cf:66:cf:2c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 33 
# eth0 mac 为 ca:38:cf:66:cf:2c

进入休眠等待唤醒魔术包:

echo -n mem > /sys/power/state

发送唤醒包
wakeonlan MAC(slave)

wakeonlan ca:38:cf:66:cf:2c

相关推荐

  1. RK3568平台开发系列讲解(网络篇)netfilter框架

    2024-03-24 11:28:01       23 阅读
  2. RK3588平台开发系列讲解(开发环境搭建)

    2024-03-24 11:28:01       38 阅读
  3. rk3568 移植rk628

    2024-03-24 11:28:01       32 阅读
  4. RK3568-PWM

    2024-03-24 11:28:01       52 阅读
  5. rk3568 Android UVC

    2024-03-24 11:28:01       72 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 11:28:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 11:28:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 11:28:01       82 阅读
  4. Python语言-面向对象

    2024-03-24 11:28:01       91 阅读

热门阅读

  1. 8 Internet基本服务(1)

    2024-03-24 11:28:01       38 阅读
  2. 数据仓库——雪花模式以及层次递归

    2024-03-24 11:28:01       41 阅读
  3. Js-字符串转数字详细规则-Number-parseInt-parseFloat

    2024-03-24 11:28:01       45 阅读
  4. Python学习之路

    2024-03-24 11:28:01       43 阅读
  5. 十分钟掌握redis精髓指令

    2024-03-24 11:28:01       50 阅读
  6. 普通函数与函数模板

    2024-03-24 11:28:01       45 阅读
  7. 蓝桥杯刷题--python-29-hashmap

    2024-03-24 11:28:01       41 阅读
  8. redis 如何保证数据同步(数据变化时)

    2024-03-24 11:28:01       40 阅读
  9. 设计模式:单例模式

    2024-03-24 11:28:01       40 阅读
  10. adb 使用详细指令

    2024-03-24 11:28:01       31 阅读
  11. Linux shell脚本切换为root用户执行命令

    2024-03-24 11:28:01       34 阅读
  12. vue3 实现滑动调整宽度的效果

    2024-03-24 11:28:01       36 阅读
  13. Github用户手册-逻辑增强版

    2024-03-24 11:28:01       45 阅读