В 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 впоследствии. Обратитесь к руководству материнской платы для получения дальнейшей информации.
Выполните следующее в терминале:
sudo ethtool -s {your network interface} wol g
sudo ethtool {your network interface}
необходимо видеть g рядом с след на lan после записи второго источника команды
Я нашел лучший путь, который работал на меня. По крайней мере, более чистый путь. По-видимому, Ubuntu изменила выскочку для systemd, в Ubuntu 15.04, Ubuntu 16.04 и по-видимому следующих версиях также. Я плохо знаком с обеими системами, но это работало на меня.
Я отправляю это, потому что при поиске с помощью Google Ubuntu 16 wol и других подобных поисков я несколько раз сталкивался с этим сообщением. Это могло помочь кому-то еще.
Для хранения работы WOL я должен был повторно включить ему каждый раз загруженная система. Чтобы постараться не делать это вручную, я использовал systemd с этой целью. Это - то, что я сделал:
Во-первых, создайте файл /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
Включите это для интерфейса на начальной загрузке, работайте, следующая команда (измените eth3 со своим интерфейсом):
systemctl enable wol@eth3
Необходимо видеть что-то вроде этого:
Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
Чтобы проверить, включено ли это, работает, следующая команда (измените eth3 со своим интерфейсом), и это должно возвратиться enabled
:
systemctl is-enabled wol@eth3
Чтобы протестировать это, перезагрузку и работать (изменяют eth3 с Вашим интерфейсом):
ethtool eth3
Необходимо видеть строку со следующим:
Wake-on: g
Источники:
выскочка:
Выскочка является основанной на событии заменой для/sbin/init демона, который обрабатывает запуск задач и услуги во время начальной загрузки, остановки их во время завершения работы и наблюдения их, в то время как система работает.
- выскочка - основанный на событии init демон
systemd:
systemd является комплектом основных стандартных блоков для системы Linux. Это предоставляет администратору системы и менеджеру по сервису, который работает как PID 1 и запускает остальную часть системы. (...)
- systemd
Для WOL для работы удостоверьтесь, что интерфейс Ethernet правильно закрывается системой когда Вы выключение питания.
Попробуйте следующее:
Создайте сценарий удара, названный wol_poweroff.sh на/etc/rc6.d/каталоге:
sudo nano /etc/rc6.d/wol_poweroff.sh
Поместите этот код в него:
#!/bin/bash
ifconfig eth0 down
poweroff
Скопируйте его в/etc/rc0.d каталог (таким образом, это также работает с остановом):
sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
Сделайте их обоих исполняемым файлом:
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
Это просто укусило меня также в соответствии с 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
Решение Также:
, Поскольку у меня уже был systemd .link файл, я просто переименовал его к 00-wired.link, перезагруженному и теперь отчетам о ethtool eno1:
Wake-on: g
Без любых дополнительных сервисов только в целях попытки включить WoL.
Помимо параметров, предложенных @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).
Если Вы используете 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 от предыдущего шага.
Вы должны установить ethtool
постоянным в Ubuntu 16.04, используя терминал:
cat /etc/network/interfaces
Отредактируйте файл и после строки gateway добавьте следующую строку:
up ethtool -s eth0 wol g
Если вы можете' t найти 'interfaces
', вы должны загрузить пакет отсюда: rb.gy/imfoq7
Когда загрузка завершится, вы можете вставить txt 'interface' в etc/network
.