如何远程唤醒(WOL)主板为技嘉(gigabyte)的B85M

您所在的位置:网站首页 bios如何开启wol功能 如何远程唤醒(WOL)主板为技嘉(gigabyte)的B85M

如何远程唤醒(WOL)主板为技嘉(gigabyte)的B85M

2024-01-18 05:25| 来源: 网络整理| 查看: 265

     笔者最近鼓捣如何把家里的linux主机(centos 7)改造成家庭私有云,在外面可以随时远程访问,当中涉及到一个重要环节,就是在主机关机的情况下如何开机,查到有个蒲公英的X1路由器既可以支持VPN旁路,还支持远程唤醒(WOL)。  远程唤醒WOL简称Wake On Lan, 现在大部分的电脑都支持这个功能,需要在BIOS里做设置,我的LINUX主机用的是技嘉(gigabyte)的B85M-D3H主板,查了下网上资料说WOL功能默认是开启的,用自己笔记本里的虚拟机linux的wol命令测试了下,可以用。于是果断网上下单买了蒲公英X1路由器再加一个5口千兆交换机回来进行改造。

     拿回来的第一天测试发现一个问题,就是远程唤醒有时候可以,有时候没有反应,反复的试验找规律,折腾了一天无果,把什么BIOS的设置,LINUX的设置都试过,没有解决,后来发现如果是手动物理开机后又马上关机,这个时候可以网络唤醒,如果是进入到Linux系统后再正常关机后,就怎么样也唤醒不了。在网上查了很多资料也没有解决,就准备要放弃改用智能插座方案的时候,突然想到有可能还是网卡的问题,后来按这个思路并结合一个网上的帖子做实验,最终找到方法解决了这个问题。

      这个问题的根本原因是因为网卡是千兆网卡,在linux系统里默认是自适应模式,当插在千兆口交换机时,如果是关机状态,可能因为电源功率问题(千兆需要更高的能耗)而处于关闭状态,这个可以观察交换机口上的指示灯是熄灭状态,所以必须要改成非自适应,直接设成百兆模式,在关机状态下交换机口上的指示灯是亮着的,网卡能接受到网络唤醒的消息包。

       那如何能在网络唤醒时是百兆模式,然后启动后又切换到自适应呢,然后在关机后又变回百兆模式呢?参考了另外一个帖子使用systemd来进行控制,详细步骤如下:

   编写一个脚本用来设置wol和网卡,笔者在/usr/etc/network-scripts下建立一个脚本文件名wakeonlan.sh

    内容如下:

#!/bin/sh # only usable for root [ $EUID = 0 ] || exit 4 start() { ethtool -s enp2s0 wol g autoneg on } stop() { ethtool -s enp2s0 wol g autoneg off speed 100 duplex full } case "$1" in start|stop) "$1" ;; esac

     添加执行权限

chmod +x wakeonlan.sh

    编写systemd的service配置文件

    在/etc/systemd/system目录下编写一个wakeonlan.service文件,内容如下:

[Unit] Description=Configure Wake-up on LAN [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/etc/network-scripts/wakeonlan.sh start ExecStop=/usr/etc/network-scripts/wakeonlan.sh stop [Install] WantedBy=basic.target

   创建服务链接

systemctl enable wakeonlan.service

  关闭系统,观察交换机口是否亮灯,是否可以唤醒

   唤醒后,使用命令查看是否切换到千兆自适应模式

sudo ethtool 例如笔者的是enp2s0,则 sudo ethtool enp2s0 输出结果如下 Settings for enp2s0: 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/Half 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: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes

    可以看到speed为 1000M

 

参考:

     https://www.linuxunit.com/add-systemd-service-to-start-wake-on-lan/

      https://www.cyberciti.biz/tips/linux-send-wake-on-lan-wol-magic-packets.html

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3