Impostare manualmente velocità e duplex di una scheda di rete: differenze tra le versioni

m
verificata (la correttezza della procedura, ma non mi è mai capitato di dover utilizzare questi comandi)
m (da controllare)
m (verificata (la correttezza della procedura, ma non mi è mai capitato di dover utilizzare questi comandi))
Riga 1: Riga 1:
{{Guida da controllare}}
{{Versioni compatibili|Wheezy|Jessie}}


{{Versioni compatibili}}
== Introduzione ==
In alcune reti la negoziazione automatica non è possibile, ma è necessario impostare a mano la velocità e la modalità duplex dell'interfaccia di rete. Nella sezione successiva vedremo come fare, e poi come rendere permanente la configurazione scelta, in modo che sia applica automaticamente dal sistema ogni volta che si attiva quella data interfaccia.


 
== Configurazione manuale ==
In alcune reti la negoziazione automatica non è possibile, ma è necessario impostare a mano la velocità e la modalità duplex dell'interfaccia. Ecco i passi fondamentali:
Ecco i passi fondamentali:
 
* installare i pacchetti <code>ethtool</code> e <code>net-tools</code> per avere i programmi <code>ethtool</code> e <code>mii-tool</code>, uno di questi o entrambi potrebbero funzionare (<code>net-tools</code> dovrebbe essere già presente, essendo una componente importante del sistema);
* installare i pacchetti <code>ethtool</code> e <code>net-tools</code> per avere i programmi <code>ethtool</code> e <code>mii-tool</code>, uno di questi o entrambi potrebbero funzionare
* assicurarsi di avere un modo per accedere al sistema, nel caso che l'interfaccia di rete diventi inusabile; una connessione SSH potrebbe venire compromessa, perciò si dovrebbe avere una strategia di ripiego;
* assicurarsi di avere un modo per accedere al sistema, nel caso che l'interfaccia di rete diventi inusabile; una connessione SSH potrebbe venire compromessa, perciò si dovrebbe avere una strategia di ripiego
* identificare l'interfaccia in questione (spesso sarà <code>eth0</code>) e adattare il resto di queste istruzioni di conseguenza;
* identificare l'interfaccia in questione (spesso sarà <code>eth0</code>) e adattare il resto di queste istruzioni di conseguenza
* provare a determinare quale siano le attuali impostazioni di velocità e duplex, ecco come divertirsi:
* provare a determinare quale siano le attuali impostazioni di velocità e duplex, ecco come divertirsi:
**per prima cosa provare il comando "ethtool eth0" come utente root e vedere se le righe "Speed:" e "Duplex:" paiono valide; in caso contrario <code>ethtool</code> potrebbe non essere supportato dalla periferica
**per prima cosa provare il comando "ethtool eth0" come utente root e vedere se le righe "Speed:" e "Duplex:" paiono valide; in caso contrario <code>ethtool</code> potrebbe non essere supportato dalla periferica;
**provare il comando "mii-tool -v eth0" come utente root e vedere se l'output appare corretto, in caso contrario <code>mii-tool</code> potrebbe non essere supportato dalla periferica
**provare il comando "mii-tool -v eth0" come utente root e vedere se l'output appare corretto, in caso contrario <code>mii-tool</code> potrebbe non essere supportato dalla periferica;
**se nessuno dei due è supportato si possono impostare i parametri direttamente nel modulo del kernel, identificando quello in uso leggendo l'output dei comandi "dmesg" e "lsmod"; si può usare "modinfo NOMEMODULO" per vedere se ha dei parametri e quali accetta (per fare confronti <code>modinfo</code> funziona anche su moduli non caricati)  
**se nessuno dei due è supportato si possono impostare i parametri direttamente nel modulo del kernel, identificando quello in uso leggendo l'output dei comandi "dmesg" e "lsmod"; si può usare "modinfo NOMEMODULO" per vedere se ha dei parametri e quali accetta (per fare confronti <code>modinfo</code> funziona anche su moduli non caricati) ;
*provare a cambiare le opzioni dell'interfaccia su cui si sta lavorando, naturalmente è necessario essere root. Usare uno tra:
*provare a cambiare le opzioni dell'interfaccia su cui si sta lavorando, naturalmente sono necessari i [[privilegi di amministrazione]]. Usare uno tra:
<pre>
<pre>
# ethtool -s eth0 autoneg off speed 100 duplex full (nell'ipotesi di 100 Mbps e full duplex)
# ethtool -s eth0 autoneg off speed 100 duplex full (nell'ipotesi di 100 Mbps e full duplex)
Riga 20: Riga 20:
# mii-tool -F 100baseTx-FD eth0 (stessa ipotesi)
# mii-tool -F 100baseTx-FD eth0 (stessa ipotesi)
</pre>
</pre>
Le opzioni possibili sono: '''100baseTxFD''', '''100baseTx-HD''', '''10baseT-FD''', '''10baseT-HD'''
(le opzioni possibili sono: '''100baseTxFD''', '''100baseTx-HD''', '''10baseT-FD''', '''10baseT-HD''');
* in ogni caso ricontrollare che le impostazioni siano effettivamente cambiate e provare ad inviare e ricevere dei dati per vedere se la scheda di rete stia funzionando correttamente.
* in ogni caso ricontrollare che le impostazioni siano effettivamente cambiate e provare ad inviare e ricevere dei dati per vedere se la scheda di rete stia funzionando correttamente.
* se uno di questi comandi configura la scheda con successo lo si può inserire in <code>/etc/network/interfaces</code> affinché venga eseguito quando viene attivata l'interfaccia (ad esempio all'avvio del sistema); tuttavia prima di questo si dovrebbe capire che alcuni driver e dispositivi si comportano diversamente rispetto ad altri.  
 
Quando il modulo viene caricato la scheda di rete può iniziare la negoziazione automatica senza alcun modo di fermarla (in particolare con driver che non accettano parametri); le impostazioni del file  <code>/etc/network/interfaces</code> vengono applicate in un momento successivo e ciò potrebbe accadere nel bel mezzo della negoziazione; per alcuni perciò è necessario ritardare il comando <code>ethtool</code> o <code>mii-tool</code> di pochi secondi:
== Rendere permanenti le modifiche ==
<pre>
Se uno dei comandi presentati nella sezione precedente configura la scheda di rete con successo, lo si può inserire in <code>/etc/network/interfaces</code> affinché venga eseguito quando viene attivata l'interfaccia: ad esempio all'avvio del sistema. Tuttavia, prima di questo, si dovrebbe capire che alcuni driver e dispositivi si comportano diversamente rispetto ad altri.
 
Quando il modulo viene caricato la scheda di rete può iniziare la negoziazione automatica senza alcun modo di fermarla (in particolare con driver che non accettano parametri); le impostazioni del file  <code>/etc/network/interfaces</code> permettono l'esecuzione di comandi una volta che l'interfaccia è stata configurata (dopo <code>up</code>), ma potrebbero accadere nel bel mezzo della negoziazione; per alcuni perciò è necessario ritardare il comando <code>ethtool</code> o <code>mii-tool</code> di pochi secondi, con il comando <code>sleep</code>:
 
  iface eth0 inet static
  iface eth0 inet static
         address ...
         address ...
         netmask ...
         netmask ...
         gateway ...
         gateway ...
         up sleep 5; ethtool -s eth0 ...
         '''up sleep 5; ethtool -s eth0 ...'''
</pre>
 
o analogamente per il comando <code>mii-tool</code>
o analogamente per il comando <code>mii-tool</code>.
* riavviare la macchina per assicurarsi che venga attivata correttamente e prepararsi ad intervenire manualmente (Ctrl-Alt-Del e avviare in modalità single-user da GRUB o LILO) nel caso non funzioni.
 
Come ultima verifica, riavviare la macchina per assicurarsi che venga attivata correttamente e prepararsi ad intervenire manualmente (Ctrl-Alt-Del e avviare in modalità single-user da GRUB o LILO) nel caso non funzioni.


{{Autori
{{Autori
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 09:56, 9 mag 2011 (CEST)
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 09:56, 9 mag 2011 (CEST)
|Estesa_da =
|Verificata_da =
: [[Utente:HAL 9000|HAL 9000]] 10:44, 17 apr 2016 (CEST)
|Numero_revisori = 1
}}
}}


3 581

contributi