Wake-on-LAN работает с Windows 8, но не с Ubuntu

У меня есть компьютер с разделом Windows 8 и разделом Ubuntu 13.04. Я пытаюсь заставить Wake-On-Lan работать. На Windows 8 все работает нормально: я могу включаться как из режима сна, так и из режима выключения. Тем не менее, когда я выключаю Ubuntu с помощью:

sudo shutdown -h now

Я не могу разбудить ПК через мою локальную сеть. Это потому, что сетевой интерфейс отключается? Какую команду я могу использовать или как я могу перенастроить Ubuntu так, чтобы wake-on-lan все еще работал?

Кроме того, если я не использую опцию -h в команде выключения, ПК фактически не выключается; это просто замерзает на мне.

Используя ethtool, я обнаружил, что он говорит:

Supports Wake-on: pumbg
Wake-on: g
...
Link detected: yes

Мой etc/ network / interfaces говорит это:

auto eth0
iface eth0 inet dhcp
      up ethtool -s eth0 wol g

РЕДАКТИРОВАТЬ: Я обнаружил, что если я выключаю ПК, просто удерживая кнопку питания, то wol работает. Если я выключаюсь с помощью командной строки или через графический интерфейс Ubunutu, то это не работает. Поэтому я думаю, что проблема не в том, что он не настраивается должным образом, а в том, что что-то переопределяет или отключает его, когда я выключаюсь должным образом. Есть ли какие-либо сценарии, которые запускаются при выключении?

я добавил

NETDOWN=no

как в etc/ default /halt, так и в etc/ init.d /halt

2 ответа

Ваши команды близки, но попробуйте это в командной строке:

sudo ethtool -s <NIC> wol g

или добавьте это в ваш файл / etc / network / interfaces:

auto eth0
iface eth0 inet dhcp
    up ethtool -s eth0 wol g

"g" включает пробуждение через "волшебный пакет"

Похоже, если вы выключаетесь с помощью следующей команды:

sudo shutdown -h now  

тогда вам также нужно будет отредактировать файл / etc / default / halt. Добавьте следующую строку:

NETDOWN=no

и посмотреть, если это работает. Это должно предотвратить отключение сетевых интерфейсов -h (halt).

Вот как я начал работать (только сегодня утром)

Я создал файл с правами root/sudo в /etc/init.d/ и назвал его wakeonlanconfig со следующим

#! /bin/bash
ethtool -s eth0 wol g
exit

Затем я установил разрешения для этого файла

sudo chmod a+x wakeonlanconfig

затем, чтобы убедиться, что он выполняется при запуске, я сделал

sudo update-rc.d -f wakeonlanconfig defaults

и перезагрузил компьютер, снова включил его, а затем с другого компьютера в сети использовал команду wakeonlan, чтобы снова запустить его

wakeonlan <mac address of machine to be woken up>

эй престо машина загрузилась, надеюсь это поможет

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