Como ativar o Wake On Lan (WOL) no Ubuntu 16.04

17

Como ativar o Wake On Lan (WOL) no Ubuntu 16.04 LTS?

    
por nkef 28.04.2016 / 09:09

6 respostas

15

No Ubuntu 16.04, defina WOL_DISABLE=N em /etc/default/tlp para evitar a desativação do WOL pelo gerenciamento de energia do TLP.

link

Adicione NETDOWN=no em /etc/default/halt para evitar o desligamento da placa de rede durante o desligamento

Ative o Wake on LAN em /etc/network/interfaces quando a configuração de rede estática é usada.

# 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

Ative o wake on lan no BIOS, entre na configuração do BIOS e procure por algo chamado "Wake up on PCI event", "Wake up on LAN" ou similar. Altere-o para que esteja ativado. Salve suas configurações e reinicie.

link

Aviso algumas placas-mãe / controladores de rede não suportam WOL a partir da inicialização a frio (estado S5, onde a energia para o sistema é fisicamente desligada e ligada novamente). Nesse caso, pelo menos um ciclo de energia (energização, desligamento) deve ser executado. Para atenuar o problema, o BIOS pode ser configurado para ligar quando a CA for restaurada e agendar um desligamento no Ubuntu posteriormente. Consulte o manual da placa-mãe para mais detalhes.

    
por nkef 28.04.2016 / 09:09
11

Eu encontrei uma maneira melhor que funcionou para mim. Pelo menos um jeito mais limpo. Estou postando isso porque enquanto googling Ubuntu 16 wol e outras buscas parecidas me deparei com este post várias vezes. Isso poderia ajudar alguém.

Aparentemente, o Ubuntu mudou upstart para systemd , isto no Ubuntu 15, Ubuntu 16 e presumivelmente nas próximas versões também. Eu sou novo em ambos os sistemas, mas isso funcionou para mim.

Para manter o WOL funcionando, tive que reativá-lo sempre que o sistema fosse inicializado. Para evitar fazer isso manualmente, usei o systemd para essa finalidade. Foi o que eu fiz:

  1. Primeiro, crie o arquivo /etc/systemd/system/[email protected] (mantenha o símbolo @) . Coloque isso aqui:

    [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. Habilite isso para a interface na inicialização, execute o seguinte comando (altere a eth3 com sua interface) :

    systemctl enable wol@eth3
    

    Você deve ver algo assim:

    Created symlink from /etc/systemd/system/multi-user.target.wants/[email protected] to /etc/systemd/system/[email protected].
    
  3. Para verificar se está ativado, execute o seguinte comando (altere a eth3 com sua interface) e ele deve retornar enabled :

    systemctl is-enabled wol@eth3
    
  4. Para testar isso, reinicie e execute (altere a eth3 com sua interface) :

    ethtool eth3
    

    Você deve ver uma linha com o seguinte:

    Wake-on: g
    

Fontes:
por loco.loop 11.03.2017 / 20:33
3

Para que o WOL funcione, certifique-se de que sua interface ethernet está sendo desligada corretamente pelo seu sistema quando você se desligar.

Tente o seguinte:

  1. Crie um script chamado wol_poweroff.sh no diretório /etc/rc6.d / :

    sudo nano /etc/rc6.d/wol_poweroff.sh
    
  2. Coloque este código:

    #!/bin/bash
    ifconfig eth0 down
    poweroff
    
  3. Copie para o diretório /etc/rc0.d (assim também funciona com halt ):

    sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
    
  4. Torne-os executáveis:

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

Agora teste para ver se funciona desligando sua máquina com sudo shutdown now ou sudo poweroff e usando uma ferramenta WOL para enviar um pacote mágico para ela.

Essa foi a única coisa que funcionou para mim. Eu encontrei essas etapas em um relatório de bug no launchpad.net.

Segundo o autor, Robbie Williamson, isso funciona devido ao seguinte:

  

Para que o WOL funcione, a interface ethernet deve ser desativada corretamente como parte do desligamento do sistema. Isso deve ser executado como parte dos níveis de execução rc0 e rc6, observando que o Linux normalmente possui 7 níveis diferentes de execução (ou modos de operação):

     

rc0.d - Sistema interrompido

     

rc1.d - modo de usuário único

     

rc2.d - Modo de usuário único com rede

     

rc3.d - Modo multiusuário - inicializa no modo de texto

     

rc4.d - Ainda não definido

     

rc5.d - Modo multiusuário - inicialize no X Windows

     

rc6.d - Desligamento & amp; Reinicie

Fonte: link

    
por Edson Jr. 06.10.2017 / 00:44
2

Execute o seguinte no terminal:

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

você deve ver um g próximo a ativar na lan depois de escrever o segundo comando

fonte

    
por Marwan Nabil 04.03.2017 / 22:23
1

Além dos parâmetros sugeridos pelo @nkef, você pode definir o seguinte em / etc / network / interfaces se usar o DHCP em vez de configurações de IP estático para o adaptador de LAN (aqui chamado eth0):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        ethernet-wol g

(testado no Ubuntu 16.04 LTS).

    
por rpr 25.01.2018 / 12:01
0

Se você usar o NetworkManager, poderá ativar o WOL via nmcli :

nmcli connection show

Lembre-se de NAME da conexão de "802-3-ehternet" TYPE para DEVICE de interesse. Diga que o nome é "Conexão com fio 1". Em seguida, modifique-o corretamente:

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

Para obter seu endereço MAC:

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

A partir de agora, você pode desligá-lo e ligá-lo de outra máquina na mesma LAN por meio do comando wakeonlan 1a:2b:3c:4d:5e:6f , em que 1a:2b:3c:4d:5e:6f é o endereço MAC da placa LAN da etapa anterior.

    
por Orient 14.02.2018 / 11:12