Como posso ativar o wake-on-lan permanentemente?

13

Quero ativar o wake-on-lan para minhas placas de rede, para sempre. O guia da comunidade recomenda adicionar o comando relevante a /etc/network/interfaces. Em experiências anteriores, editando arquivos conf do Ubuntu, é extremamente provável que o arquivo da interface de rede seja gravado novamente a cada inicialização, se não a cada atualização do apt. Qual é a melhor maneira de garantir que o wake-on-lan seja ativado a cada inicialização?

djeikyb
fonte

Respostas:

12

Um script de inicialização executado após a configuração das placas de rede deve fazer o truque. O Ubuntu usa o iniciante. Depois de ler sobre trabalhos iniciados, ethtool, escrever um script inicial e pesquisar nas interwebs por uma solução melhor, eu vim com isso de jevinskie (você deve colocar isso em um arquivo /etc/init):

start on started network

script
    for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
        logger -t 'wakeonlan init script' enabling wake on lan for $interface
        ethtool -s $interface wol g
    done
end script
  • Inicia quando as placas de rede são inicializadas
  • Pega os nomes de nic de / proc / net / dev
  • Registra ações no syslog
  • Atua em todas as placas de rede encontradas
  • Requer ethtool, verifique se ele foi instalado primeiro:

    sudo apt-get install ethtool
    

Se você deseja imbuir apenas um nic com o poder do despertar, algo assim é mais apropriado:

start on started network

script
    interface=eth0
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
end script
djeikyb
fonte
2
Eu sempre pensei que o wake on lan era um recurso do BIOS.
con-f-use
@ con-f-use Requer cooperação entre BIOS e NIC. Ambos devem suportar o WOL. Além disso, pelo menos meu nic tem o mau hábito de desativar o wol após a inicialização. O wiki da comunidade Ubuntu implica que este é o caso de muitos computadores.
precisa saber é o seguinte
@ con-f-use Este tópico do superuser.sx sobre como funciona a energia e a reinicialização também é interessante no que se refere ao WOL.
djeikyb
Isso precisa ser alterado para o systemd?
Nathan Osman
@NathanOsman, adicione uma resposta do systemd! esta solução ainda é relevante para versões LTS mais antigas, mas ainda suportadas
#
3

Crie um novo arquivo, digamos wakeonlanconfig, e coloque abaixo as linhas:

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

Em seguida, defina as permissões do arquivo, tornando-o executável:

chmod a+x wakeonlanconfig

E, finalmente, faça o script ser executado na inicialização:

update-rc.d -f wakeonlanconfig defaults

Para mais detalhes, visite: http://lukasz-lademann.blogspot.com/2013/01/how-set-up-wol-wake-on-lan-on-thin.html

Lukasz
fonte
1

No Ubuntu 16.04 também estabelecido WOL_DISABLE=Nem /etc/default/tlppara evitar ficar WOL desativada pelo gerenciamento de energia TLP.

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

Adicionar NETDOWN=noem /etc/default/haltpara evitar desligar a placa de rede durante o desligamento

nkef
fonte