Descobrir se o computador foi iniciado via Wake-on-LAN ou botão liga / desliga?

5

Existe alguma maneira (confiável) de descobrir se o PC foi inicializado por causa de um pacote Wake-on-LAN em vez de pressionar o botão liga / desliga? Quero verificar automaticamente se o WOL está configurado corretamente.

Eu sei sobre a saída de ethtool do WOL, mas isso apenas me diz se o WOL está ativado, não como o PC inicializou, certo?

    
por xato 05.06.2013 / 13:37

3 respostas

2

Testando manualmente usando etherwake

Acho que você pode testá-lo usando uma ferramenta como etherwake . Dependendo da distro, ela é chamada etherwake no Ubuntu / Debian, ether-wake no RHEL / CentOS / Fedora. Eu já tinha instalado por padrão no Fedora, é parte do pacote net-tools.

Para usá-lo:

# Redhat
$ ether-wake 00:11:22:33:44:55

# Debian/Ubuntu
$ etherwake 00:11:22:33:44:55

Para confirmar que um servidor suporta WOL:

$ ethtool eth0

Settings for eth0:
    Supported ports: [ ]
    Supported link modes:
    Supports auto-negotiation: No
    Advertised link modes:  Not reported
    Advertised auto-negotiation: No
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: off
        Supports Wake-on: g
       Wake-on: g
    Link detected: yes

Os "Suporta Wake-on: g" e "Wake-on: g" informam que a placa está configurada para suporte a WOL. Se estiver faltando, você pode adicioná-lo ao ifcfg-eth0 config. arquivo assim:

ETHTOOL_OPTS="wol g"

Usando hwinfo

Percebi que, se você analisar o hwinfo , há mensagens sobre como o sistema saiu do modo de economia de energia. Também há mensagens relacionadas ao dispositivo ethernet que está surgindo. Por exemplo:

  <6>[721194.499752] e1000e 0000:00:19.0: wake-up capability disabled by ACPI
  <7>[721194.499757] e1000e 0000:00:19.0: PME# disabled
  <7>[721194.499831] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X
  <6>[721194.574306] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0
  <6>[721194.576330] ehci_hcd 0000:00:1a.0: power state changed by ACPI to D0

Aqui estão algumas outras mensagens um pouco mais tarde:

  <6>[721197.226679] PM: resume of devices complete after 3162.340 msecs
  <7>[721197.226861] PM: Finishing wakeup.
  <4>[721197.226862] Restarting tasks ... done.
  <6>[721197.228541] video LNXVIDEO:00: Restoring backlight state

A idéia seria que talvez haja algumas mensagens aqui relacionadas ao modo como o sistema surgiu (WOL ou power switch). Você pode adicionar um script que seja executado como parte de um evento do udev que possa passar pela saída do hwinfo para ver se há mensagens presentes para o WOL vs. o powerswitch. Apenas uma ideia neste momento.

Referências

por 05.06.2013 / 14:59
3

A menos que seu hardware de rede preserve algum estado com base na ativação do WOL, que você possa ler após a inicialização durante o processo de inicialização, não será possível determinar isso.

Eu não olhei o WOL detalhadamente desde 2000, mas as placas de rede com as quais trabalhei na época certamente não tinham esse recurso.

    
por 05.06.2013 / 14:57
0

Desativar o botão liga / desliga.

Se você não tiver um iLO / RAC ou algo assim, que possa assistir a máquina enquanto estiver fora da AFAIK, não há chance.

Eu não ouvi, mas talvez haja alguma ferramenta específica do fornecedor que possa ler da sua placa de rede algum tipo de registro.

    
por 05.06.2013 / 14:57