pkg://Ftape-HOWTO.html.tgz:50081/Ftape-HOWTO-10.html
downloads
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>The Linux Ftape-HOWTO: FAQ: domande relative alla «Compilazione ed installazione di Ftape»</TITLE>
<LINK HREF="Ftape-HOWTO-11.html" REL=next>
<LINK HREF="Ftape-HOWTO-9.html" REL=previous>
<LINK HREF="Ftape-HOWTO.html#toc10" REL=contents>
</HEAD>
<BODY>
<A HREF="Ftape-HOWTO-11.html">Avanti</A>
<A HREF="Ftape-HOWTO-9.html">Indietro</A>
<A HREF="Ftape-HOWTO.html#toc10">Indice</A>
<HR>
<H2><A NAME="s10">10. FAQ: domande relative alla «Compilazione ed installazione di Ftape»</A></H2>
<P>
<P>
<H2><A NAME="ss10.1">10.1 Che versione di Ftape devo utilizzare?</A>
</H2>
<P>
<P>Sempre l'ultima versione stabile che si <EM>suppone</EM> sia disponibile
agli indirizzi
<A HREF="ftp://sunsite.unc.edu/pub/Linux/kernel/tapes">ftp://sunsite.unc.edu/pub/Linux/kernel/tapes</A> e
<A HREF="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/">http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/</A>.
<P>Nel momento in cui sto scrivendo, l'ultima versione stabile è la
<CODE>ftape-4.02</CODE>.
<P><risposta di Claus Heine>
<P>
<P>
<H2><A NAME="ss10.2">10.2 Sto riscontrando problemi nel cercare di far girare l'unità <I>XYZ</I> con il kernel 2.0.<I>xx</I> con il driver compilato staticamente. Come faccio a rimediare?</A>
</H2>
<P>
<P>La versione predefinita di <EM>Ftape</EM> inclusa con i sorgenti del
kernel 2.0.<I>xx</I> è la 2.08 o la 2.09 ed è alquanto datata. Si prega
di aggiornare i <EM>driver di Ftape</EM> all'ultima versione disponibile
all'
<A HREF="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/">home-page di Ftape</A>.
<P><risposta di Tim Jones>
<P>
<P>
<H2><A NAME="ss10.3">10.3 Sto lavorando con Linux/SMP e il sistema si congela quando tento di accedere ai device di Ftape!</A>
</H2>
<P>
<P>È necessario aggiungere <CODE>-D__SMP__</CODE> alla variabile <CODE>KERNEL_OPT</CODE>
nel file <CODE>MCONFIG</CODE>. Nelle versioni di <CODE>ftape</CODE> piú aggiornate è
sufficiente togliere il commento ad alcune linee presenti nel file
<CODE>MCONFIG</CODE>.
<P><risposta di Claus Heine>
<P>
<P>
<H2><A NAME="ss10.4">10.4 Perché <CODE>depmod</CODE> si lamenta di certi ``undefined symbols'' [simboli indefiniti]?</A>
</H2>
<P>
<P>Si ignorino i messaggi d'errore di <CODE>depmod</CODE>. Il problema è che i
<EM>moduli di Ftape</EM> devono essere compilati senza la caratteristica
del <I>checksum</I> di versione (cioè <CODE>CONFIG_MODVERSIONS</CODE>) con i
kernel 2.0.*;. Questo non comporta alcun problema, anche quando i
moduli vengono utilizzati con un kernel che supporta questa
caratteristica; solo che <CODE>depmod</CODE> erroneamente si lamenta di certi
simboli indefiniti. Si ignorino le lamentele di <CODE>depmod</CODE> e si
provi ad inserire i moduli nonostante queste lamentele:
<P>
<BLOCKQUOTE><CODE>
<PRE>
modprobe zftape
</PRE>
</CODE></BLOCKQUOTE>
<P>Se non funziona, c'è qualcosa di sbagliato.
<P><risposta di Claus Heine>
<P>
<P>
<H2><A NAME="ss10.5">10.5 <CODE>insmod</CODE> dice che la versione del kernel è sbagliata.</A>
</H2>
<P>
<P>Il programma <CODE>insmod</CODE> può confrontare la versione del kernel con la
versione per la quale <EM>Ftape</EM> è stato compilato in due modi: può
direttamente comparare il numero di versione del kernel registrato nel
<EM>modulo di Ftape</EM> con la versione del kernel che sta girando,
oppure, se sia il kernel che <EM>Ftape</EM> sono stati compilati con i
simboli di versione, confrontare la versione dei simboli utilizzati
dal kernel.
<P>Se la versione di GCC è stata aggiornata alla v2.7.0 o successive, è
necessario ricompilare le utility dei moduli con <CODE>gcc</CODE> v2.7.<I>x</I>.
<P>Versioni di <CODE>insmod</CODE> piú recenti permettono di ``forzare''
l'inserimento di un modulo nel kernel, anche se la stringa di versione
non è corretta.
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.6">10.6 <CODE>insmod</CODE> dice che kernel 1.2.0 e 1.2.0 differiscono.</A>
</H2>
<P>
<P>Ci si è ricordati di applicare il patch <CODE>ksyms.c</CODE> al kernel? Se
non lo si è fatto, leggere il file <CODE>README.linux-1.2</CODE> nella
distribuzione dei sorgenti.
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.7">10.7 Provando a compilare Ftape si ottiene l'errore: «<CODE>modversions.h: no such file or directory</CODE>».</A>
</H2>
<P>
<P>Il file <CODE>modversions.h</CODE> viene creato quando il kernel è compilato
con il flag di configurazione <CODE>CONFIG_MODVERSIONS</CODE> attivato. Con
questa opzione abilitata, il file verrà creato durante il passo
<CODE>make dep</CODE>.
<P>Un consiglio piú pratico: <CODE>make mrproper</CODE> rimuoverà
<CODE>/usr/include/linux/modversions.h</CODE>. È necessario riconfigurare
il kernel ed impartire un <CODE>make dep</CODE> per riottenere il file.
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.8">10.8 In ogni caso, cosa sono questi ``versioned symbols'' [simboli di versione]?</A>
</H2>
<P>
<P>Rispondendo affermativamente al <CODE>CONFIG_MODVERSIONS</CODE> durante il
<CODE>make config</CODE>, tutti i simboli esportati dal kernel, cioè i simboli
che i moduli caricabili possono ``vedere'', vengono aumentati per
comprendere una somma di controllo attraverso i tipi dei parametri di
chiamata/ritorno. Ciò permette ad <CODE>insmod</CODE> di rilevare se la
definizione di una variabile o funzione nel kernel è cambiata dal
tempo in cui <EM>Ftape</EM> è stato compilato.
<P>Questo assicura un alto grado di sicurezza, tale da evitare un
tracollo del kernel nel caso si utilizzi un modulo vecchio con il
proprio kernel.
<P>Se si abilita <CODE>CONFIG_MODVERSIONS</CODE> nel kernel, assicurarsi di aver
tolto il commento da
<PRE>
-DMODVERSIONS -include /usr/include/linux/modversions.h
</PRE>
alla linea <CODE>MODULE_OPT</CODE> nel Makefile di <EM>Ftape</EM>. Viceversa, se
non si ha <CODE>CONFIG_MODVERSIONS</CODE> abilitato, assicurarsi di avere la
linea commentata.
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.9">10.9 Mi sembra di avere sftape invece di zftape. Quando lancio il comando <CODE>ftmt status</CODE>, ottengo una risposta che, nei documenti di Ftape, corrisponde a sftape (<CODE>/dev/qft0: Invalid argument</CODE>). Perché?</A>
</H2>
<P>
<P>Ci sono (almeno) due possibili cause a questo problema:
<UL>
<LI>Tutte le versioni Ftape-3.*; precedenti alla 3.04 installano i
moduli in <CODE>/lib/modules/misc</CODE> invece di <CODE>/lib/modules/uname
-r/misc</CODE>. Poiché <CODE>modprobe</CODE> cerca in
<CODE>/lib/modules/misc/</CODE> come ultima risorsa, ci potrebbe essere un
vecchio modulo <CODE>ftape.o</CODE> disperso in
<CODE>/lib/modules/</CODE><EM>uname -r</EM><CODE>/misc</CODE> che
<CODE>modprobe</CODE> trova prima (``<CODE>uname -r</CODE>'' sta per la versione del
kernel). In questo caso rimuovere il vecchio modulo <CODE>ftape.o</CODE>.
</LI>
<LI>Il proprio kernel ha il supporto per <EM>Ftape</EM> compilato. In
questo caso riconfigurare il proprio kernel senza il supporto per
<EM>Ftape</EM> (<CODE>CONFIG_FTAPE</CODE>), ricompilarlo ed installarlo.</LI>
</UL>
<P><risposta Claus Heins>
<P>
<P>
<H2><A NAME="ss10.10">10.10 La mia scheda DASH/FC-20/Exabyte Accelerator funziona sotto Microsoft Windows, ma ottengo un errore di tipo ``unità non trovata'' in <CODE></CODE>var/log/messages/ quando provo ad utilizzarlo sotto Linux.</A>
</H2>
<P>
<P>Probabilmente si sta provando ad utilizzare le stesse impostazioni di
IRQ e DMA dell'FDC installato. Ciò non funziona per le versioni di
<EM>Ftape</EM> precedenti alla 3.03b. Si prega di aggiornare il
<EM>driver di Ftape</EM> all'ultima versione disponibile dall'
<A HREF="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/">home-page di Ftape</A>.
<P><risposta di Tim Jones>
<P>
<P>
<H2><A NAME="ss10.11">10.11 I trasferimenti DMA di Ftape danno errori di ECC.</A>
</H2>
<P>
<P>Sono spiacente di dover dire che ci sono alcune schede SVGA e schede
Ethernet che non decodificano correttamente i propri indirizzi.
Questo tipicamente accade quando i buffer di <EM>Ftape</EM> si trovano
nell'intervallo <CODE>0x1a0000</CODE>-<CODE>0x1c0000</CODE>. In qualche modo i cicli
di scrittura DMA vengono rovinati ed ogni altro byte scritto ottiene
un valore sbagliato (<CODE>0xff</CODE>). Questi problemi si sono avuti sia
con schede SVGA che schede Ethernet. Siamo a conoscenza di almeno una
(cattiva?) scheda VGA ATI 16bit che provoca questo.
<P>La soluzione piú semplice consiste nel mettere la scheda in uno slot
ad 8bit (spesso non è abbastanza riconfigurare la scheda per
trasferimenti ad 8bit). Spostare il buffer di <EM>Ftape</EM> lontano
dall'intervallo della VGA è solo una soluzione parziale. Tutti i
buffer DMA utilizzati in Linux possono avere questo problema! Vorrei
che fosse chiaro questo concetto: questo non ha niente a che fare con
il software di <EM>Ftape</EM>.
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.12">10.12 Aiuto! Sto avendo dei ``<CODE>dmaalloc() failed</CODE>'' nel mio file di syslog.</A>
</H2>
<P>
<P>Si dovrebbe vedere questo solo se si sta tentando di eseguire un
<CODE>insmod</CODE> con il modulo <CODE>ftape.o</CODE>. Provare a lanciare prima
<CODE>swapout</CODE>. Viene fornito con i sorgenti di <EM>Ftape</EM> distribuito
singolarmente. Non compare nei sorgenti di <EM>Ftape</EM> che vengono
forniti con il kernel.
<P>Qui di seguito è riportato un esempio di come si possa impostare il
file <CODE>rc.local</CODE> per un suo utilizzo.
<P>
<BLOCKQUOTE><CODE>
<PRE>
# Install the Floppy Tape Driver
if [ -f /boot/modules/`uname -r`/misc/ftape.o ]; then
echo Installing ftape for Linux `uname -r`
swapout
insmod /boot/modules/`uname -r`/misc/ftape.o
fi
</PRE>
</CODE></BLOCKQUOTE>
<P>Si noti che questo problema non compare se il <EM>driver di Ftape</EM>
viene compilato nel kernel.
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.13">10.13 Syslogd lavora in continuazione quando gira Ftape.</A>
</H2>
<P>
<P>Le opzioni in fase di compilazione <CODE>NO_TRACE</CODE> e
<CODE>NO_TRACE_AT_ALL</CODE> in <EM>Ftape</EM> controllano l'ammontare dei log di
sistema. Aggiungere tutto quello che si ritiene opportuno alla linea
<CODE>FTAPE_OPT</CODE> nel Makefile e ricompilare.
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.14">10.14 Come posso cambiare il trace-level?</A>
</H2>
<P>
<P>Ci sono tre modi per fare questo (in ordine di preferenza personale).
Quando ci arriveremo, qui ci sono i significati dei vari trace-level.
<P>
<UL>
<LI>0 bugs [bachi]</LI>
<LI>1 + errors [errori]</LI>
<LI>2 + warnings [avvertimenti]</LI>
<LI>3 + information [informazioni]</LI>
<LI>4 + more information [informazini ulteriori]</LI>
<LI>5 + program flow [flusso del programma]</LI>
<LI>6 + FDC/DMA info [informazioni FDC/DMA]</LI>
<LI>7 + data flow [flusso dei dati]</LI>
<LI>8 + everything else [qualsiasi altra cosa]</LI>
</UL>
<P>
<OL>
<LI><B>Utilizzare <CODE>insmod</CODE> per cambiare trace-level:</B> se si sta
utilizzando il meccanismo dei moduli per caricare il driver di
<EM>Ftape</EM>, è possibile specificare il trace-level come opzione del
comando <CODE>insmod</CODE>.
<BLOCKQUOTE><CODE>
<PRE>
/sbin/insmod ftape.o tracing=<trace-level>
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI><B>Utilizzare <CODE>mt</CODE> per cambiare trace-level:</B> il driver di
<EM>Ftape</EM> ha un hack
<BLOCKQUOTE>taglio</BLOCKQUOTE>
che permette all'opzione
<CODE>fsr</CODE> di <CODE>mt</CODE> di venir utilizzata per impostare il trace-level.
<CODE>zftape</CODE> non ha questo hack.
<BLOCKQUOTE><CODE>
<PRE>
mt -f /dev/ftape fsr <trace-level>
</PRE>
</CODE></BLOCKQUOTE>
L'utilizzo del comando <CODE>fsr</CODE> in <CODE>mt</CODE> è un <EM>hack</EM> e
probabilmente sparirà o cambierà col tempo.
</LI>
<LI><B>Ricompilare per cambiare trace-level:</B> il file
<CODE>tracing.c</CODE> contiene una linea <CODE>int tracing = 3;</CODE>. Cambiare il
3 in ciò che si ritiene opportuno e ricompilare.</LI>
</OL>
<P><dall'Ftape-HOWTO>
<P>
<P>
<H2><A NAME="ss10.15">10.15 Sto avendo problemi con Ftape. Sto utilizzando l'ultima versione di Ftape prelevata dall'home-page di Ftape e credo di aver individuato un bug vero. Cosa devo fare?</A>
</H2>
<P>
<P>Controllare l'
<A HREF="http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/">home-page di Ftape</A> per una versione ancora piú recente. Poi
controllare che le FAQ contenute nel pacchetto non riportino il
problema riscontrato. Successivamente provare a controllare che il
manuale che arriva con la <EM>distribuzione di Ftape</EM> non menzioni i
problema.
<P>Non c'è bisogno di leggere l'intero manuale. Piú semplicemente si
cerchi nell'indice analitico una parola che possa riferirsi al proprio
problema e leggere il paragrafo relativo.
<P>Se ancora si è convinti di aver trovato un baco, allora postare una
domanda di carattere generale che descriva il problema nella
<A HREF="mailto:linux-tape@vger.rutgers.edu">mailing-list di Linux-Tape</A>, ma non allegare tutto il log dell'errore di <EM>Ftape</EM>.
Se ci siamo già imbattuti nel problema in passato, faremo sapere dove
si trova la soluzione. Se, invece, non lo abbiamo mai visto, il
<A HREF="mailto:heine@math1.rwth-aachen.de">manutentore di Ftape</A> probabilmente richiederà l'intero log d'errore (ottenuto dal
proprio file dei messaggi di sistema).
<P><risposta di Tim Jones>
<P>
<P>
<HR>
<A HREF="Ftape-HOWTO-11.html">Avanti</A>
<A HREF="Ftape-HOWTO-9.html">Indietro</A>
<A HREF="Ftape-HOWTO.html#toc10">Indice</A>
</BODY>
</HTML>