Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2011-04-13 19:54:33
Size: 8105
Editor: ?skizzhg
Comment: first translation
Revision 8 as of 2016-06-04 12:27:25
Size: 9257
Comment: sync with English master
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[WakeOnLan|English]] - Italiano-~ ~-[[DebianWiki/EditorGuide#translation|Traduzioni]]: [[WakeOnLan|English]]  - [[es/WakeOnLan|Español]] - [[fr/WakeOnLan|Français]] - Italiano - [[ru/WakeOnLan|Русский]]-~
Line 10: Line 10:
Il primo passo per l'avvio del computer tramite rete è quello di assicurarsi che la scheda ethernet e la scheda madre gestiscano la funzionalità Wake On LAN. In particolare le schede -NM (not managed, non gestito) della 3Com non supportano WOL mentre le -M (managed, gestito) sì. Il primo passo per l'avvio del computer tramite rete è quello di assicurarsi che la scheda Ethernet e la scheda madre gestiscano la funzionalità Wake On LAN. In particolare le schede -NM (not managed, non gestito) della 3Com non supportano WOL mentre le -M (managed, gestito) sì.
Line 12: Line 12:
Ci sono due sistemi: il vecchio metodo usa un connettore Wake On LAN a tre pin tra la scheda di rete e la scheda madre, entrambe le intestazioni sono solitamente etichettate con 'wol'; il nuovo metodo usa un pin Wake On LAN sul bus PCI ovviando alla necessità di utilizzare un cavo. Alcune schede madri supportano entrambi a forniscono l'intestazione solo per retrocompatibilità con le schede ethernet che non supportano il pin PCI. Ci sono due sistemi: il vecchio metodo usa un connettore Wake On LAN a tre pin tra la scheda di rete e la scheda madre, entrambi i terminali sono solitamente marchiati con 'wol'; il nuovo metodo usa un pin Wake On LAN sul bus PCI eliminando la necessità di utilizzare un cavo. Alcune schede madri supportano entrambi e forniscono il connettore solo per retrocompatibilità con le schede Ethernet che non supportano il pin PCI.
Line 22: Line 22:
Dopo aver attivato Wake On LAN lato hardware è necessario farlo lato software utilizzando DebianPkg:ethtool, che dice all'interfaccia di rispondere all'invio dei magic packet. Sostituire eth0 con il device della propria interfaccia di rete: {{{
==== stretch ====

Aggiungere questo file
{{{
$ cat /etc/network/interfaces.d/eth0
auto eth0
iface eth0 inet dhcp
        ethernet-wol g
}}}
riavviare. Controllare se ha funzionato con
{{{
$ sudo ethtool eth0

Settings for eth0:
 Supported ports: [ MII ]
 Supported link modes: 10baseT/Half 10baseT/Full
                         100baseT/Half 100baseT/Full
                         1000baseT/Full
 Supported pause frame use: No
 Supports auto-negotiation: Yes
 Advertised link modes: 10baseT/Half 10baseT/Full
                         100baseT/Half 100baseT/Full
                         1000baseT/Full
 Advertised pause frame use: No
 Advertised auto-negotiation: Yes
 Speed: 100Mb/s
 Duplex: Full
 Port: MII
 PHYAD: 1
 Transceiver: external
 Auto-negotiation: on
 Supports Wake-on: g
 Wake-on: g
 Link detected: yes
}}}

{{{Wake-on: g}}} indica che ha funzionato

==== Squeeze ====

A partire da [[it/DebianSqueeze|Squeeze]] i parametri di {{{ethtool}}} possono essere impostati direttamente da {{{/etc/network/interfaces}}}. Quanto fatto sopra può essere ottenuto in questo modo:{{{
iface eth0 inet dhcp
        ethernet-wol g
}}}

Lo script {{{/etc/network/if-up.d/ethtool}}} si occuperà poi di chiamare {{{ethtool}}} al momento di ifup. Vedere {{{/usr/share/doc/ethtool/README.Debian}}} per maggiori informazioni.

Si può successivamente spegnere il proprio sistema e preparare l'altro sistema che lo sveglierà.

==== Prima di squeeze ====

Dopo aver attivato il Wake On LAN sul lato hardware è necessario farlo dal lato software utilizzando DebianPkg:ethtool, che dice all'interfaccia di rispondere all'invio dei Magic Packet. Sostituire eth0 con il device della propria interfaccia di rete: {{{
Line 33: Line 85:
{i} In [[it/DebianLenny|Lenny]] il percorso del programma è {{{/usr/sbin/ethtool}}}.
Line 35: Line 86:
Questo esegue ethtool ogni volta che eth0 è attivata e ogn ivolta che è disattivata, perciò WOL dovrebbe funzionare anche se la rete non viene disattivata correttamente. Questo esegue ethtool ogni volta che eth0 è attivata e ogni volta che è disattivata, perciò WOL dovrebbe funzionare anche se la rete non viene disattivata correttamente.
Line 37: Line 88:
Si può quindi spegnere il sistema e preparare l'altro che lo sveglierà.
Line 42: Line 92:
# etherwake <mac address> # etherwake <indirizzo mac>
Line 45: Line 95:
È inoltre disponibile DebianPkg:wakeonlan, un programma leggermene più configurabile che utilizza pacchetti UDP anziché TCP e quindi non necessita di essere eseguito da root: {{{ È inoltre disponibile DebianPkg:wakeonlan, un programma leggermente più configurabile che utilizza pacchetti UDP anziché TCP e quindi non necessita di essere eseguito da root: {{{
Line 47: Line 97:
$ wakeonlan <mac address> $ wakeonlan <indirizzo mac>
Line 51: Line 101:
L'autore non vuole nessuna delle opzioni Wake On LAN tranne Wake on "Magic Packet" (g), in modo da accendere la macchina quando esperessamento richiesto invece che in conseguenza di messaggi unicast (u), broadcast (b) o multicast (m). L'autore non vuole nessuna delle opzioni Wake On LAN tranne Wake on "Magic Packet" (g), in modo da accendere la macchina solo quando esperessamente richiesto e non come conseguenza di messaggi unicast (u), broadcast (b) o multicast (m).
Line 54: Line 104:
L'hardware cerca delle specifiche, si pensa di aver impostato correttamente il BIOS ma non funziona senza alcun adattamento software. Secondo le FAQ di Wake On Lan client FAQ la maggior parte dei driver per Linux disabilita la funzionalità WOL all'avvio<<FootNote([[http://replay.waybackmachine.org/20080424041500/http://ahh.sourceforge.net/wol/faq.html|http://ahh.sourceforge.net/wol/faq.html]])>>, quindi bisogna farlo funzionare. L'hardware sembra conforme alle specifiche, si pensa di aver impostato correttamente il BIOS ma ancora non funziona se non si fa qualche azione software. Secondo le FAQ del client di Wake On Lan la maggior parte dei driver per Linux disabilita la funzionalità WOL all'avvio<<FootNote([[http://replay.waybackmachine.org/20080424041500/http://ahh.sourceforge.net/wol/faq.html|http://ahh.sourceforge.net/wol/faq.html]])>>, quindi bisogna farla partire.
Line 57: Line 107:
Con un kernel 2.6 si usa la directory {{{/etc/modprobe.d}}}, si sta forse usando il file {{{/etc/modprobe.conf}}} ma se {{{/etc/modprobe.d}}} non è incluso si viene probabilmente avvertiti di ciò ad ogni avvio e alcune cose possono non venire configurate correttamente. Aggiungere quindi il file {{{local.conf}}} nella directory che contiene: {{{ Con un kernel 2.6 si usa la directory {{{/etc/modprobe.d}}}. In caso si stia usando il file {{{/etc/modprobe.conf}}} che non include {{{/etc/modprobe.d}}}, si viene probabilmente avvertiti di ciò ad ogni avvio e alcune cose possono non venire configurate correttamente. Usando {{{/etc/modprobe.d}}}, aggiungere un file {{{local.conf}}} nella directory contenente: {{{
Line 60: Line 110:
{i} In [[it/DebianLenny|Lenny]] il percorso del programma è {{{/usr/sbin/ethtool}}}.
Line 62: Line 111:
ethtool proviene dal pacchetto DebianPkg:ethtool e va installato, tranne che la scheda supporti un'opzione per impostare WOL; in tal caso nel file {{{local.conf}}} si aggiungerà qualcosa di simile: {{{ ethtool proviene dal pacchetto DebianPkg:ethtool e va installato, ''a meno che'' che la scheda non supporti un'opzione per impostare WOL; in tal caso nel file {{{local.conf}}} si aggiungerà una riga options appropriata, come: {{{
Line 68: Line 117:
Provando su un'altra macchina con una C3905B-TXNM e una 3C905C-TXM che usa il modulo 3c59x per controllarli entrambi pare che ethtool non fosse in grado di interrogarle o impostare WOL, ma che fosse richiesta l'opzione {{{enable_wol=1}}} e abbia funzionato. Provando su un'altra macchina con una C3905B-TXNM e una 3C905C-TXM  e che usa il modulo 3c59x per controllarle entrambe si è scoperto che ethtool non era in grado di interrogarle o impostare WOL, ma che era richiesta l'opzione {{{enable_wol=1}}} e che ha funzionato.
Line 70: Line 119:
Nel mentre si è notato che fossero caricati entrambi i moduli 8139too e 8139cp, ma caricando solo 8139cp è fallito dal momento che il chipset in questione non è sufficientemente recente, perciò è stato inserito in [[KernelModuleBlacklisting|blacklist]].

Il driver forcedeth nel kernel 2.6.18 (in Etch) si comporta in modo strano ed [[http://www.ussg.iu.edu/hypermail/linux/kernel/0609.3/1337.html|è necessario inviare un MAC address invertito]]; se il proprio MAC address è 00:11:22:33:44:55 andrà scritto così: {{{
# etherwake -D 55:44:33:22:11:00
}}}
Nel mentre si è notato che venivano caricati entrambi i moduli 8139too e 8139cp, ma caricare solo 8139cp non funzionava dal momento che il chipset sulla scheda non era sufficientemente recente, perciò è stato inserito in [[KernelModuleBlacklisting|blacklist]].
Line 77: Line 122:
Dopo un'ora passata cercando di capire perché il sistema non funzionava ancora, l'autore ha iniziato a lanciare richieste ovunque tramite il comando {{{ethtool}}} per vedere dove fosse il problema: {{{ Dopo un'ora passata cercando di capire perché il sistema non funzionasse ancora, l'autore ha iniziato a lanciare richieste ovunque tramite il comando {{{ethtool}}} per vedere dove fosse il problema: {{{
Line 82: Line 127:
Con il driver 8139too su Debian 3.1/Sarge la riga d'installazione ha funzionato caricando il modulo con {{{modprobe 8139too}}} ma [[DebianMan:8/ifup|ifup]] ha azzerato le impostazioni WOL, perciò è stato necessario aggiungere una stringa nel file {{{/etc/network/interfaces}}} riguardante il blocco eth0: {{{ Ha così scoperto che, almeno con il driver 8139too su Debian 3.1/Sarge, la riga d'installazione funzionava se si caricava il modulo con {{{modprobe 8139too}}} ma [[DebianMan:8/ifup|ifup]] azzerava le impostazioni WOL, perciò è stato necessario aggiungere una riga nel file {{{/etc/network/interfaces}}} nel blocco eth0: {{{
Line 86: Line 131:
{i} In [[it/DebianLenny|Lenny]] il percorso del programma è {{{/usr/sbin/ethtool}}}.
Line 88: Line 132:
È stato inoltre lasciato il comando ethtool nel file {{{/etc/modprobe.d/local.conf}}}, nel caso che all'avvio ifup non venga eseguito prima di spegnersi. È stato inoltre lasciato il comando ethtool nel file {{{/etc/modprobe.d/local.conf}}}, nel caso si avvii la macchina e ifup non venga eseguito prima dello spegnimento.
Line 93: Line 137:
Si è in grado di accedere al proprio sistema remoto e avviare il desktop, prelevare quello che si necessita e quindi spegnerlo a distanza. L'autore utilizza il DHCP con la mappatura MAC-to-IP in modo da poter guardare in quel file sul sistema remoto per sapere l'indirizzo MAC del sistema che vuole risvegliare, in caso contrario sarebbe stato possibile tenere un file di testo con una lista. L'autore ad esempio può accedere al proprio gateway e avviare il suo sistema desktop, prelevare quello di cui ha bisogno e quindi spegnerlo a distanza. L'autore utilizza il DHCP con la mappatura MAC-to-IP in modo da poter guardare in quel file sul sistema gateway per sapere l'indirizzo MAC del sistema che vuole risvegliare; senza questo sistema sarebbe stato possibile tenere un file di testo con una lista.
Line 95: Line 139:
Il suo passo successivo sarà quello di disporre dello spegnimento di sistemi non essenziali (non solo halt) in seguito a un'interruzione di corrente per estendere la durata della batteria per sistemi essenziali e quindi utilizzare WOL per riaccendere altri sistemi dopo che viene ripristinata l'alimentazione e la batteria è a uno specifico livello di carica. Alcune impostazioni con halt o APM o ACPI potrebbero non essere adatte su quei sistemi, vedere come [[OffAndOnAgain|accendere e spegnere un sistema Debian]]. Il suo passo successivo sarà quello far sì che i sistemi non essenziali vengano completamente spenti (non solo messi in halt) in seguito a un'interruzione di corrente per estendere la durata della batteria per sistemi essenziali e quindi utilizzare WOL per riaccendere gli altri sistemi dopo che è stata ripristinata l'alimentazione e la batteria ha raggiunto uno specifico livello di carica. L'autore ritiene che alcune configurazioni che usano halt o APM o ACPI non siano adatte su quel tipo di sistemi. Vedere [[it/OffAndOnAgain|Accendere e spegnere un sistema Debian]].

Traduzioni: English - Español - Français - Italiano - Русский


Wake On LAN

Alcune indicazioni su come ottenere l'opzione Wake On LAN (WOL) funzionante su un sistema Debian.

Hardware

Il primo passo per l'avvio del computer tramite rete è quello di assicurarsi che la scheda Ethernet e la scheda madre gestiscano la funzionalità Wake On LAN. In particolare le schede -NM (not managed, non gestito) della 3Com non supportano WOL mentre le -M (managed, gestito) sì.

Ci sono due sistemi: il vecchio metodo usa un connettore Wake On LAN a tre pin tra la scheda di rete e la scheda madre, entrambi i terminali sono solitamente marchiati con 'wol'; il nuovo metodo usa un pin Wake On LAN sul bus PCI eliminando la necessità di utilizzare un cavo. Alcune schede madri supportano entrambi e forniscono il connettore solo per retrocompatibilità con le schede Ethernet che non supportano il pin PCI.

Le schede madri recenti, fornite di scheda di rete intgrata, supportano Wake On LAN senza il bisogno di alcun pin o cavo.

Firmware / BIOS

In un bel BIOS, nella sezione sulla gestione energetica si avrà una chiara e intuitiva opzione denominata "Wake On LAN". Purtroppo il sistema dell'autore non è così chiaro ed ha un paio di opzioni disponibili; una sembra funzionare sempre mentre l'altra funziona solo a volte. Ha risolto sulla base delle informazioni condivise da Mark Ivey in quanto anche lui ha uno Shuttle XPC SK41G e usa l'opzione "PowerOn by PCI Card" con successo. 1

Software

Configurazione dell'interfaccia

stretch

Aggiungere questo file

$ cat /etc/network/interfaces.d/eth0
auto eth0
iface eth0 inet dhcp
        ethernet-wol g

riavviare. Controllare se ha funzionato con

$ sudo ethtool eth0

Settings for eth0:
 Supported ports: [ MII ]
 Supported link modes:   10baseT/Half 10baseT/Full 
                         100baseT/Half 100baseT/Full 
                         1000baseT/Full 
 Supported pause frame use: No
 Supports auto-negotiation: Yes
 Advertised link modes:  10baseT/Half 10baseT/Full 
                         100baseT/Half 100baseT/Full 
                         1000baseT/Full 
 Advertised pause frame use: No
 Advertised auto-negotiation: Yes
 Speed: 100Mb/s
 Duplex: Full
 Port: MII
 PHYAD: 1
 Transceiver: external
 Auto-negotiation: on
 Supports Wake-on: g
 Wake-on: g
 Link detected: yes

Wake-on: g indica che ha funzionato

Squeeze

A partire da Squeeze i parametri di ethtool possono essere impostati direttamente da /etc/network/interfaces. Quanto fatto sopra può essere ottenuto in questo modo:

iface eth0 inet dhcp
        ethernet-wol g

Lo script /etc/network/if-up.d/ethtool si occuperà poi di chiamare ethtool al momento di ifup. Vedere /usr/share/doc/ethtool/README.Debian per maggiori informazioni.

Si può successivamente spegnere il proprio sistema e preparare l'altro sistema che lo sveglierà.

Prima di squeeze

Dopo aver attivato il Wake On LAN sul lato hardware è necessario farlo dal lato software utilizzando ethtool, che dice all'interfaccia di rispondere all'invio dei Magic Packet. Sostituire eth0 con il device della propria interfaccia di rete:

$ su
# aptitude install ethtool
# ethtool -s eth0 wol g

L'operazione può essere automatizzata modificando il file /etc/network/interfaces:

iface eth0 inet dhcp
        post-up /sbin/ethtool -s $IFACE wol g
        post-down /sbin/ethtool -s $IFACE wol g

Questo esegue ethtool ogni volta che eth0 è attivata e ogni volta che è disattivata, perciò WOL dovrebbe funzionare anche se la rete non viene disattivata correttamente.

Invio messaggi WOL

Installare il pacchetto etherwake nel sistema di controllo per avere il comando che invia i "Magic Packet" all'altro computer in modo da risvegliarlo; va eseguito da root o tramite sudo:

# aptitude install etherwake
# etherwake <indirizzo mac>

È inoltre disponibile wakeonlan, un programma leggermente più configurabile che utilizza pacchetti UDP anziché TCP e quindi non necessita di essere eseguito da root:

# aptitude install wakeonlan && exit
$ wakeonlan <indirizzo mac>

Sensibilità di WOL

L'autore non vuole nessuna delle opzioni Wake On LAN tranne Wake on "Magic Packet" (g), in modo da accendere la macchina solo quando esperessamente richiesto e non come conseguenza di messaggi unicast (u), broadcast (b) o multicast (m).

Persistenza di WOL

L'hardware sembra conforme alle specifiche, si pensa di aver impostato correttamente il BIOS ma ancora non funziona se non si fa qualche azione software. Secondo le FAQ del client di Wake On Lan la maggior parte dei driver per Linux disabilita la funzionalità WOL all'avvio2, quindi bisogna farla partire.

Kernel 2.6

Con un kernel 2.6 si usa la directory /etc/modprobe.d. In caso si stia usando il file /etc/modprobe.conf che non include /etc/modprobe.d, si viene probabilmente avvertiti di ciò ad ogni avvio e alcune cose possono non venire configurate correttamente. Usando /etc/modprobe.d, aggiungere un file local.conf nella directory contenente:

install 8139too /sbin/modprobe -i 8139too; /sbin/ethtool -s eth0 wol g

ethtool proviene dal pacchetto ethtool e va installato, a meno che che la scheda non supporti un'opzione per impostare WOL; in tal caso nel file local.conf si aggiungerà una riga options appropriata, come:

options 3c59x enable_wol=1
  • {i} Se il kernel usa un'immagine initramfs (come quello predefinito in Debian) eseguire anche update-initramfs -u (o update-initramfs -u -k all se necessario) per ricostruire il ramdisk iniziale.

Provando su un'altra macchina con una C3905B-TXNM e una 3C905C-TXM e che usa il modulo 3c59x per controllarle entrambe si è scoperto che ethtool non era in grado di interrogarle o impostare WOL, ma che era richiesta l'opzione enable_wol=1 e che ha funzionato.

Nel mentre si è notato che venivano caricati entrambi i moduli 8139too e 8139cp, ma caricare solo 8139cp non funzionava dal momento che il chipset sulla scheda non era sufficientemente recente, perciò è stato inserito in blacklist.

Debug di ethtool

Dopo un'ora passata cercando di capire perché il sistema non funzionasse ancora, l'autore ha iniziato a lanciare richieste ovunque tramite il comando ethtool per vedere dove fosse il problema:

# ethtool eth0

ifup

Ha così scoperto che, almeno con il driver 8139too su Debian 3.1/Sarge, la riga d'installazione funzionava se si caricava il modulo con modprobe 8139too ma ifup azzerava le impostazioni WOL, perciò è stato necessario aggiungere una riga nel file /etc/network/interfaces nel blocco eth0:

iface eth0 inet dhcp
        up /sbin/ethtool -s $IFACE wol g

È stato inoltre lasciato il comando ethtool nel file /etc/modprobe.d/local.conf, nel caso si avvii la macchina e ifup non venga eseguito prima dello spegnimento.

Conclusioni

Wake On LAN funziona su Debian e fornisce nuove possibilità.

L'autore ad esempio può accedere al proprio gateway e avviare il suo sistema desktop, prelevare quello di cui ha bisogno e quindi spegnerlo a distanza. L'autore utilizza il DHCP con la mappatura MAC-to-IP in modo da poter guardare in quel file sul sistema gateway per sapere l'indirizzo MAC del sistema che vuole risvegliare; senza questo sistema sarebbe stato possibile tenere un file di testo con una lista.

Il suo passo successivo sarà quello far sì che i sistemi non essenziali vengano completamente spenti (non solo messi in halt) in seguito a un'interruzione di corrente per estendere la durata della batteria per sistemi essenziali e quindi utilizzare WOL per riaccendere gli altri sistemi dopo che è stata ripristinata l'alimentazione e la batteria ha raggiunto uno specifico livello di carica. L'autore ritiene che alcune configurazioni che usano halt o APM o ACPI non siano adatte su quel tipo di sistemi. Vedere Accendere e spegnere un sistema Debian.

Collegamenti esterni


CategoryNetwork | CategorySystemAdministration