Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 217

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Linux Ethernet-HOWTO: Miscellanea</TITLE>
 <LINK HREF="Ethernet-HOWTO-9.html" REL=previous>
 <LINK HREF="Ethernet-HOWTO.html#toc10" REL=contents>
</HEAD>
<BODY>
Avanti
<A HREF="Ethernet-HOWTO-9.html">Indietro</A>
<A HREF="Ethernet-HOWTO.html#toc10">Indice</A>
<HR>
<H2><A NAME="misc"></A> <A NAME="s10">10. Miscellanea</A></H2>

<P>
<P>Tutta quella roba che non ci stava bene da nessun'altra parte &egrave; stata
messa qui.  Potrebbe non essere rilevante e potrebbe non essere
d'interesse generale, ma &egrave; comunque qui.
<P>
<H2><A NAME="lilo"></A> <A NAME="ss10.1">10.1 Passare al kernel argomenti Ethernet</A>
</H2>

<P>
<P>Ci sono due comandi generici che possono essere passati al kernel al
momento del boot: <CODE>ether</CODE> e <CODE>reserve</CODE>.  Questa cosa pu&ograve; essere
fatta con LILO, loadlin o qualsiasi altra utilit&agrave; di boot che accetta
argomenti opzionali.
<P>Per esempio, se il comando fosse `blah' e si aspettasse 3 argomenti
(diciamo 123, 456 e 789) allora, con LILO, si potrebbe usare:
<P><CODE>LILO: linux blah=123,456,789</CODE>
<P>Per maggiori informazioni sugli argomenti di boot (e un elenco
completo) si veda il 
<A HREF="http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html">BootPrompt-HOWTO</A>.
<P>
<H3><A NAME="ether"></A> Il comando <CODE>ether</CODE></H3>

<P>
<P>L'argomento <CODE>ether=</CODE> &egrave; usato in congiunzione a driver direttamente
compilati dentro al kernel.  <EM>Non ha assolutamente alcun effetto</EM>
su driver compilati come moduli.  Nella sua forma pi&ugrave; generale, pu&ograve;
essere qualcosa di simile:
<P>
<BLOCKQUOTE><CODE>
ether=IRQ,IND_BASE,PARAM_1,PARAM_2,NOME
</CODE></BLOCKQUOTE>
<P>Tutti gli argomenti sono opzionali.  Il primo argomento non numerico &egrave;
intrepretato come NOME.
<P><B>IRQ:</B> ovvio.  Un valore di IRQ di `0' (solitamente il valore
predefinito) significa autoIRQ.  &Egrave; accidentale che l'impostazione
dell'IRQ sia prima di quella dell'ind_base: questa cosa verr&agrave; corretta
non appena cambier&agrave; qualcos'altro.
<P><B>IND_BASE:</B> altrettanto ovvio.  Il valore `0' (solitamente quello
predefinito) indica di rilevare una scheda nell'elenco di indirizzi
spefici per quella scheda.
<P><B>PARAM_1:</B>
Originariamente usato come valore per ridefinire l'indirizzo iniziale
della memoria per una scheda Ethernet a memoria condivisa, come la
WD80*3.  Alcuni driver usano i 4 bit meno significativi di questo
valore per impostare il livello dei messaggi di debug.  0:
predefinito, 1-7: livello 1..7 (con 7 si ottiene il massimo della
verbosit&agrave;), 8: livello 0 (nessun messaggio).  Inoltre, il driver LANCE
usa i 4 bit meno significativi di questo valore per selezionare il
canale DMA. Altrimenti usa auto-DMA.
<P><B>PARAM_2:</B>
Il driver 3c503 usa questo valore per selezionare tra il transceiver
interno ed esterno.  0: predefinito/interno, 1: AUI esterno.  La
scheda E21XX della Cabletron usa i 4 bit meno significativi di PARAM_2
per selezionare il mezzo d'uscita.  Altrimenti lo rileva automaticamente.
<P><B>NOME:</B>
Seleziona il dispositivo di rete a cui fa rifemento il valore.  Il
kernel standard usa i nomi `eth0', `eth1', `eth2' e `eth3' per le
schede Ethernet attaccate sul bus e `atp0' per gli adattatori
Ethernet `pocket' su porta parallela.  Il driver arcnet come nome usa
`arc0'.  L'impostazione predefinita &egrave; per il rilevamento di un'unica
scheda Ethernet, la `eth0'.  L'abilitazione di pi&ugrave; schede &egrave; possibile
solamente impostando esplicitamente il loro indirizzo base usando
questi parametri di LILO.  Il kernel 1.0 trattava le schede Ethernet
basate su LANCE in modo speciale.  Gli argomenti di LILO erano
ignorati e alle schede LANCE erano sempre assegnati i nomi
`eth&lt;n&gt;' partendo da `eth0'.   Ulteriori schede Ethernet non
LANCE dovevano essere esplicitamente assegnate a `eth&lt;n+1&gt;', e
il rilevamento standard di `eth0' doveva essere disabilitato con qualcosa
di simile a `ether=0,-1,eth0' (s&igrave;, questo &egrave; un bug).
<P>
<H3><A NAME="reserve"></A> Il comando <CODE>reserve</CODE></H3>

<P>
<P>Questo comando di lilo &egrave; usato proprio come il precedente `ether=',
ovvero &egrave; accodato al nome di avvio selezionato in lilo.conf.
<P>
<BLOCKQUOTE><CODE>
reserve=IO-base,estensione{,IO-base,estensione...}
</CODE></BLOCKQUOTE>
<P>In alcune macchine pu&ograve; essere necessario impedire ai driver di
dispositivo di controllare la presenza di dispositivi (auto
probing) in regioni specifiche.  Ci&ograve; pu&ograve; essere dovuto ad hardware mal
progettato che causa il <EM>congelamento</EM> del boot (come alcune schede
Ethernet), ad hardware che viene mal identificato, ad hardware il cui
stato &egrave; cambiato da un rilevamento precedente, o semplicemente ad hardware
che non vuole essere inizializzato dal kernel.
<P>L'argomento di boot <CODE>reserve</CODE> indirizza questo problema
specificando la regione di una porta I/O che non dovrebbe essere
controllata. Tale regione viene riservata nella tabella di
registrazione delle porte del kernel come se vi si fosse gi&agrave; rilevato
un dispositivo.  Si noti che questo meccanismo non dovrebbe essere
necessario nella maggior parte della macchine.  Sar&agrave; necessario usare
questo comando solo quando c'&egrave; un problema o un caso particolare.
<P>Le porte I/O nella regione specificata sono protette dai controlli dei
dispositivi.  Questa cosa si &egrave; resa necessaria quando alcuni driver si
piantavano su una NE2000 o mal identificavano altri dispositivi come
propri.  Un driver di dispositivo corretto non dovrebbe controllare
una regione riservata a meno che qualche altro argomento di boot non
specifici esplicitamente di farlo.  La maggior parte dei driver ignora
la tabella di registrazione delle porte se gli viene passato un
indirizzo specifico.
<P>Per esempio, la riga di boot
<P>
<BLOCKQUOTE><CODE>
LILO: linux  reserve=0x300,32  ether=0,0x300,eth0
</CODE></BLOCKQUOTE>
<P>impedisce a tutti i device driver, tranne a quelli della scheda
Ethernet, di controllare la regione 0x300-0x31f.
<P>Come al solito, c'&egrave; un limite di 11 parametri come in tutti i comandi
di boot, quindi si possono specificare solo 5 regioni riservate per
ciascun comando <CODE>keyword</CODE>.  Possono essere specificati pi&ugrave;
<CODE>reserve</CODE> se si hanno richieste insolitamente complicate.
<P>
<H2><A NAME="modules"></A> <A NAME="ss10.2">10.2 Usare un driver Ethernet come modulo</A>
</H2>

<P>
<P>La maggior parte delle distribuzioni di Linux utilizzano ora dei
kernel con pochissi driver al loro interno.  I driver sono piuttosto
forniti come gruppo di moduli indipendenti caricabili
dinamicamente.  Questi driver modulari sono tipicamente caricati
dall'amministratore con il comando <CODE>modprobe(8)</CODE> o in alcuni casi
sono automaticamente caricati dal kernel attraverso `kerneld' (nei
2.0) o `kmod' (nei 2.1) che a loro volta chiamano <CODE>modprobe</CODE>.
<P>La propria distribuzione pu&ograve; offrire uno strumento grafico carino
per l'impostazione dei moduli Ethernet.  Se possibile prima si dovrebbe
provare a usare quello.  La descrizione che segue fornisce le
informazioni che stanno sotto a qualsiasi programma di configurazione
e indica cosa quei programmi vanno a modificare.
<P>Le informazioni che controllano quali moduli sono usati e quali
opzioni sono passate a ciascun modulo sono solitamente salvate nel
file <CODE>/etc/conf.modules</CODE>.  Le due opzioni principali di
interesse per le schede Ethernet che saranno usate in questo file sono
<CODE>alias</CODE> e <CODE>options</CODE>.  Il comando <CODE>modprobe</CODE> consulta questo
file per le informazioni sui moduli.
<P>I moduli stessi sono tipicamente salvati in una directory chiamata
<CODE>/lib/modules/`uname -r`/net</CODE> dove il comando <CODE>uname -r</CODE>
restituisce la versione del kernel (e.g. 2.0.34).  Si pu&ograve; andare l&agrave;
per vedere quale modulo corrisponde alla propria scheda.
<P>La prima cosa che ci deve essere nel proprio file <CODE>conf.modules</CODE> &egrave;
qualcosa che dice a <CODE>modprobe</CODE> quale driver usare per l'interfaccia
di rete <CODE>eth0</CODE> (e per <CODE>eth1</CODE> e per...).   Per questa cosa si
dovr&agrave; usare il comando <CODE>alias</CODE>.  Per esempio, se si ha una scheda
ISA EtherEZ della SMC che usa il modulo del driver <CODE>smc-ultra.o</CODE>,
si deve creare <CODE>alias</CODE> per questo driver che corrisponda a
<CODE>eth0</CODE>, aggiungendo la riga:
<P>
<PRE>
        alias eth0 smc-ultra
</PRE>
<P>L'altra cosa di cui si pu&ograve; aver bisogno &egrave; una riga <CODE>options</CODE> che
indica quali opzioni devono essere usate con un particolare modulo (o
alias di modulo).  Continuando con l'esempio di prima, se si usa
solamente la riga <CODE>alias</CODE> con nessuna riga <CODE>options</CODE>, il kernel
avviser&agrave; (si veda <CODE>dmesg</CODE>) che l'auto rilevamento di una scheda ISA
non &egrave; una buona idea.  Per venir a capo di questo problema, si
aggiunga un'altra riga che dice al modulo a quale indirizzo I/O base &egrave;
configurata la scheda, ad esempio l'indirizzo esadecimale <CODE>0x280</CODE>.
<P>
<PRE>
        options smc-ultra io=0x280
</PRE>
<P>La maggior parte dei moduli ISA accettano parametri come <CODE>io=0x340</CODE>
e <CODE>irq=12</CODE> sulla riga di comando di <CODE>insmod</CODE>. Fornire questi
parametri &egrave;  <EM>RICHIESTO</EM> o almeno <EM>CALDAMENTE CONSIGLIATO</EM> per
evitare il rilevamento della scheda.  Diversamente dai dispositivi PCI e
EISA, non c'&egrave; alcun modo sicuro per fare l'auto rilevamento della
maggior parte dei dispositivi ISA e quindi lo si dovrebbe evitare
quando si usa un driver come modulo.
<P>Un elenco di tutte le opzioni che ciascun modulo accetta pu&ograve; essere
trovata nel file:
<P><CODE>/usr/src/linux/Documentation/networking/net-modules.txt</CODE>
<P>Si raccomanda la sua lettura per trovare quali opzioni si possono
usare con la propria scheda.  Si noti che alcuni moduli supportano
un elenco di valori separati da virgola.  Solitamente questo &egrave; il caso
di moduli che sono in grado di gestire pi&ugrave; dispositivi con un unico
modulo, come tutti i driver basati su 8390 e il driver PLIP.  Per
esempio:
<P>
<HR>
<PRE>
        options 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1
</PRE>
<HR>
<P>Con la riga precedente si avr&agrave; un unico modulo che controlla quattro
schede 3c503, con la scheda 2 e 4 che usano il tranceiver esterno.
Non si aggiungano spazi attorno a `=' o alle virgole.
<P>Si noti inoltre che un modulo <EM>occupato</EM> non pu&ograve; essere rimosso.
Ci&ograve; significa che si dovr&agrave; fare <CODE>ifconfig eth0 down</CODE> (disattivare
la scheda Ethernet) prima di rimuovere il modulo.
<P>Il comando <CODE>lsmod</CODE> mostrer&agrave; quali moduli sono caricati e se sono in
uso, mentre il comando <CODE>rmmod</CODE> pu&ograve; essere usato per rimuoverli.
<P>
<H2><A NAME="ss10.3">10.3 Documentazione correlata</A>
</H2>

<P>
<P>La maggior parte dei queste informazioni provengono da messaggi che ho
salvato dai gruppi comp.os.linux, che si sono dimostrati una
insostituibile fonte di informazioni.  Altre informazioni utili
provengono da un gruppo di piccoli file di Donald stesso.
Naturalmente, se si sta impostando una scheda Ethernet, allora sar&agrave;
bene leggere il NET-2 Howto in modo che si possa realmente configurare
il software che la user&agrave;.  Inoltre, se ci si diverte a fare un po'
l'hacker, si possono sempre trovare alcune informazioni addizionali
nei file sorgente dei driver.  Solitamente prima che cominci il codice
c'&egrave; sempre un paragrafo o due che descrive i punti importanti.
<P>A quanti cercano informazioni che non sono in alcun modo
specifiche su Linux (per esempio, cos'&egrave; 10BaseT, cos'&egrave; AUI, cosa fa un hub,
ecc.) suggerisco caldamente di rivolgersi a newsgroup come
<EM>comp.dcom.lans.ethernet</EM> e/o
<EM>comp.sys.ibm.pc.hardware.networking</EM>.  Gli archivi dei newsgroup
come quelli a <CODE>dejanews.com</CODE> possono essere una insostituibile
fonte di informazioni.  Si possono prendere le FAQ da RTFM (che
conserva tutte le FAQ dei newsgroup) al l'URL seguente:
<P>
<A HREF="ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/">Usenet FAQs</A><P>Si pu&ograve; anche dare un'occhiata alla cosiddetta `Ethernet-HomePage', che
&egrave; all'URL seguente:
<P>
<A HREF="http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html">Ethernet-HomePage</A><P>
<P>
<H2><A NAME="copyright"></A> <A NAME="ss10.4">10.4 Liberatoria e copyright (in inglese)</A>
</H2>

<P>
<P>This document is <EM>not</EM> gospel. However, it is probably the most
up to date info that you will be able to find. Nobody is responsible
for what happens to your hardware but yourself. If your ethercard
or any other hardware goes up in smoke (...nearly impossible!)
we take no responsibility. ie. THE AUTHORS ARE NOT RESPONSIBLE
FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE
INFORMATION INCLUDED IN THIS DOCUMENT.
<P>This document is Copyright (c) 1993-1997 by Paul Gortmaker.
Permission is granted to make and distribute verbatim copies
of this manual provided the copyright notice and this permission
notice are preserved on all copies.
<P>Permission is granted to copy and distribute modified versions
of this document under the conditions for verbatim copying,
provided that this copyright notice is included exactly as in
the original, and that the entire resulting derived work is
distributed under the terms of a permission notice identical
to this one.
<P>Permission is granted to copy and distribute translations
of this document into another language, under the above
conditions for modified versions.
<P>A hint to people considering doing a translation.  First,
translate the SGML source (available via FTP from the HowTo
main site) so that you can then generate other output formats.
Be sure to keep a copy of the original English SGML source that
you translated from! When an updated HowTo is released,
get the new SGML source for that version, and then a simple
<CODE>diff -u old.sgml new.sgml</CODE> will show you exactly what has
changed so that you can easily incorporate those changes into
your translated SMGL source without having to re-read or
re-translate everything.
<P>If you are intending to incorporate this document into a
published work, please make contact (via e-mail) so that
you can be supplied with the most up to date information
available. In the past, out of date versions of the Linux
HowTo documents have been published, which caused the developers
undue grief from being plagued with questions that were already
answered in the up to date versions.
<P>
<H2><A NAME="ss10.5">10.5 Chiusura</A>
</H2>

<P>
<P>Se in questo documento si &egrave; trovato un qualsiasi errore madornale o
informazione non aggiornata, mi si mandi una e-mail.  &Egrave; grande ed &egrave;
facile non accorgersi di qualcosa.  Se si &egrave; inviata una mail per una
modifica e non &egrave; stata inclusa nella versione successiva, non si esiti
a scrivere ancora, in quanto potrebbe essersi persa tra la marea
di SPAM e junk mail che ricevo.
<P>Grazie!
<P>Paul Gortmaker, <CODE>p_gortmaker@yahoo.com</CODE>
<HR>
Avanti
<A HREF="Ethernet-HOWTO-9.html">Indietro</A>
<A HREF="Ethernet-HOWTO.html#toc10">Indice</A>
</BODY>
</HTML>