Как включить Wake On Lan (WOL) в Ubuntu 16.04

Как включить Wake On Lan (WOL) в Ubuntu 16.04 LTS?

26
задан 28 April 2016 в 10:09

8 ответов

В Ubuntu 16.04 устанавливает WOL_DISABLE=N в /etc/default/tlp, чтобы не получать WOL, отключенный управлением питанием TLP.

http://linrunner.de/en/tlp/docs/tlp-configuration.html

Добавляет NETDOWN=no в /etc/default/halt для предотвращения выключения сетевой платы во время завершения работы

, Включают След на LAN в /etc/network/interfaces, когда статическая конфигурация сети используется.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback
# The primary network interface

auto eth0
iface eth0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        dns-nameservers 192.168.0.1
        up ethtool -s eth0 wol g

Включают след на LAN в BIOS, вводят BIOS Setup и ищут что-то, звонил "Следу на событии PCI", "Просыпаются на LAN" или подобный. Измените его так, чтобы это было включено. Сохраните свои настройки и перезагрузку.

https://help.ubuntu.com/community/WakeOnLan

, Предупреждающий некоторые материнские платы/, сетевые контроллеры не поддерживают WOL от "холодной" начальной загрузки (состояние S5, где питание к системе физически выключено и назад на снова). В этом случае по крайней мере один цикл включения и выключения питания (включаются, завершение работы) должен быть выполнен. Для смягчения к проблеме BIOS может быть настроен для включений, когда AC восстанавливается, и запланируйте завершение работы в Ubuntu впоследствии. Обратитесь к руководству материнской платы для получения дальнейшей информации.

18
ответ дан 28 April 2016 в 20:09
  • 1
    Хорошо таким образом в браузере, как плагин Adobe Flash поможет, если это будет для игры ударной взрывной волны? – Tom Hancock 28 September 2017 в 08:52

Выполните следующее в терминале:

sudo ethtool -s {your network interface} wol g 
sudo ethtool {your network interface}

необходимо видеть g рядом с след на lan после записи второго источника команды

2
ответ дан 28 April 2016 в 20:09

Я нашел лучший путь, который работал на меня. По крайней мере, более чистый путь. По-видимому, Ubuntu изменила выскочку для systemd, в Ubuntu 15.04, Ubuntu 16.04 и по-видимому следующих версиях также. Я плохо знаком с обеими системами, но это работало на меня.

Я отправляю это, потому что при поиске с помощью Google Ubuntu 16 wol и других подобных поисков я несколько раз сталкивался с этим сообщением. Это могло помочь кому-то еще.

Для хранения работы WOL я должен был повторно включить ему каждый раз загруженная система. Чтобы постараться не делать это вручную, я использовал systemd с этой целью. Это - то, что я сделал:

  1. Во-первых, создайте файл /etc/systemd/system/wol@.service (сохраните символ). Поместите это в него:

    [Unit]
    Description=Wake-on-LAN for %i
    Requires=network.target
    After=network.target
    
    [Service]
    ExecStart=/sbin/ethtool -s %i wol g
    Type=oneshot
    
    [Install]
    WantedBy=multi-user.target
    
  2. Включите это для интерфейса на начальной загрузке, работайте, следующая команда (измените eth3 со своим интерфейсом):

    systemctl enable wol@eth3
    

    Необходимо видеть что-то вроде этого:

    Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
    
  3. Чтобы проверить, включено ли это, работает, следующая команда (измените eth3 со своим интерфейсом), и это должно возвратиться enabled:

    systemctl is-enabled wol@eth3
    
  4. Чтобы протестировать это, перезагрузку и работать (изменяют eth3 с Вашим интерфейсом):

    ethtool eth3
    

    Необходимо видеть строку со следующим:

    Wake-on: g
    

Источники:

  • SystemdForUpstartUsers - Ubuntu Wiki
  • След на LAN - ArchWiki
  • systemd - ArchWiki
  • выскочка:

    Выскочка является основанной на событии заменой для/sbin/init демона, который обрабатывает запуск задач и услуги во время начальной загрузки, остановки их во время завершения работы и наблюдения их, в то время как система работает.
    - выскочка - основанный на событии init демон

  • systemd:

    systemd является комплектом основных стандартных блоков для системы Linux. Это предоставляет администратору системы и менеджеру по сервису, который работает как PID 1 и запускает остальную часть системы. (...)
    - systemd

21
ответ дан 28 April 2016 в 20:09

Для WOL для работы удостоверьтесь, что интерфейс Ethernet правильно закрывается системой когда Вы выключение питания.

Попробуйте следующее:

  1. Создайте сценарий удара, названный wol_poweroff.sh на/etc/rc6.d/каталоге:

    sudo nano /etc/rc6.d/wol_poweroff.sh
    
  2. Поместите этот код в него:

    #!/bin/bash
    ifconfig eth0 down
    poweroff
    
  3. Скопируйте его в/etc/rc0.d каталог (таким образом, это также работает с остановом):

    sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
    
  4. Сделайте их обоих исполняемым файлом:

    sudo chmod 755 /etc/rc6.d/wol_poweroff.sh
    sudo chmod 755 /etc/rc0.d/wol_poweroff.sh
    

Теперь тест, чтобы видеть, работает ли это путем выключения машины с sudo shutdown now или sudo poweroff и использование инструмента WOL для отправки волшебного пакета в него.


Это было единственной вещью, которая работала на меня. Я нашел те шаги в отчете об ошибках по launchpad.net.

По словам автора, Robbie Williamson, это работает из-за следующего:

Чтобы заставить WOL работать, интерфейс Ethernet должен быть правильно снижен как часть завершения работы системы. Это должно быть выполнено как часть уровней выполнения rc0 и rc6, отметив, что Linux обычно имеет 7 различных уровней выполнения (или рабочие режимы):

rc0.d - Остановленная система

rc1.d - Однопользовательский режим

rc2.d - Однопользовательский режим с Сетями

rc3.d - Многопользовательский Режим - загружается в текстовом режиме

rc4.d - Еще Определенный

rc5.d - Многопользовательский Режим - загружается в X-окнах

rc6.d - Завершение работы и Перезагрузка


Источник: https://bugs.launchpad.net/ubuntu / + source/ifupdown / + ошибка/981461

3
ответ дан 28 April 2016 в 20:09
  • 1
    @TomHancock Вы didn' t просят игру Ударной взрывной волны, но Ударную взрывную волну игра Flash , которая должна поддерживаться обычным Flash player (см., например, здесь для объяснения), †“, который точно является им? Поскольку Ударная взрывная волна видит winehq.org . – dessert 28 September 2017 в 09:52

Это просто укусило меня также в соответствии с Ubuntu 18.04 (бездисплейный / минимальная установка), к сожалению, ответы, уже перечисленные здесь, хотя они, может казаться, работают, время от времени не собираются предоставлять надежное решение, поскольку они создают условия состязания или борьбу с подобными systemd, netplan и udev.

я попробовал этот подход слишком сначала, и это, казалось, работало, я планирую систему для начальной загрузки каждый вечер через WakeOnLan для выполнения резервных копий как системы, которую BIOS не обеспечивает запланированному AC на опции.

Это работало бы в течение нескольких дней и затем отказалось бы просыпаться, включение его вручную и работающий ethtool показало, что WoL был отключен:

    Wake-on: d

, Таким образом, я полагал, что что-то еще должно было возвращать его прочь и имевший много таких проблем в последние несколько лет с приемом systemd в части системы, которую я решил запустить здесь, о чудо:

WakeOnLan =.... Значения по умолчанию к прочь.

https://www.freedesktop.org/software/systemd/man/systemd.link.html

Примеры онлайн показывают что-то вроде:

/etc/systemd/network/50-wired.link

[Match]
MACAddress=<MAC ADDRESS>

[Link]
WakeOnLan=magic

, Как никогда это все еще не работало. Затем я столкнулся с этим:

udevadm test-builtin net_setup_link  /etc/systemd/network/50-wired.link

, который привел к:

Load module index
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/50-wired.link
Parsed configuration file /run/systemd/network/10-netplan-eno1.link

И в чем я нахожу/run/systemd/network/10-netplan-eno1.link?

[Match]
MACAddress=<MAC ADDRESS>

[Link]
Name=eno1
WakeOnLan=off

Решение Также:

  1. удаляют netplan,
  2. установка, объединяющаяся в сеть с помощью netplan конфигурации,
  3. , или устанавливают systemd .link файл, чтобы иметь более высокий приоритет.

, Поскольку у меня уже был systemd .link файл, я просто переименовал его к 00-wired.link, перезагруженному и теперь отчетам о ethtool eno1:

    Wake-on: g

Без любых дополнительных сервисов только в целях попытки включить WoL.

0
ответ дан 29 September 2019 в 17:13

Помимо параметров, предложенных @nkef, можно установить следующее в/etc/network/interfaces при использовании DHCP вместо статических настроек IP для сетевого адаптера (здесь названный eth0):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        ethernet-wol g

(протестированный на Ubuntu 16.04 LTS).

1
ответ дан 23 November 2019 в 01:08

Если Вы используете NetworkManager, то можно включить WOL через nmcli:

nmcli connection show

Помните НАЗВАНИЕ соединения ТИПА "802-3-ehternet" для УСТРОЙСТВА интереса. Скажите, что это называет, "Проводное соединение 1". Затем измените его правильно:

nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

Получить его MAC-адрес:

nmcli connection show "Wired connection 1" | grep 802-3-ethernet.mac-address

С этого времени можно выключить его и включить его от другой машины на той же LAN wakeonlan 1a:2b:3c:4d:5e:6f команда, где 1a:2b:3c:4d:5e:6f MAC-адрес платы LAN от предыдущего шага.

2
ответ дан 23 November 2019 в 01:08

Вы должны установить ethtool постоянным в Ubuntu 16.04, используя терминал:

 cat /etc/network/interfaces

Отредактируйте файл и после строки gateway добавьте следующую строку:

up ethtool -s eth0 wol g

Если вы можете' t найти 'interfaces', вы должны загрузить пакет отсюда: rb.gy/imfoq7

Когда загрузка завершится, вы можете вставить txt 'interface' в etc/network .

0
ответ дан 6 January 2021 в 00:41

Другие вопросы по тегам:

Похожие вопросы: