1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML LANG="it">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html">
<META NAME="Generator" CONTENT="Alml">
<META NAME="Description" CONTENT="GNU/Linux e altro software libero">
<META NAME="Keywords" CONTENT="Linux, GNU/Linux, Unix, software, software libero, free software">
<META NAME="Author" CONTENT="Daniele Giacomini daniele @ swlibero.org">
<META NAME="Date" CONTENT="2001.08.18 ">
<META NAME="Resource-type" LANG="en" CONTENT="Document" >
<META NAME="Revisit-after" LANG="en" CONTENT="15 days" >
<META NAME="Robots" CONTENT="ALL" >
<TITLE> Appunti di informatica libera</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="a2.css">
<LINK REL="Start" TITLE="Start" HREF="a2.html">
<LINK REL="Prev" TITLE="Previous" HREF="a246.html">
<LINK REL="Next" TITLE="Next" HREF="a248.html">
</HEAD>
<BODY>
<P>
<A HREF="a248.html">[successivo]</A>
<A HREF="a246.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
<A HREF="a241.html">[tomo]</A>
<A HREF="a242.html">[parte]</A>
</P>
<HR>
<DIV>
<H1>Capitolo 30. <A NAME="title520"></A><A NAME="anchor644"></A> Problemi di configurazione dell'hardware <A NAME="index2653"></A> <A NAME="index2654"></A> </H1>
<P>Il <A NAME="index2655"></A>Plug & Play è un protocollo il cui scopo è quello di consentire al <A NAME="index2656"></A>firmware e al sistema operativo di identificare facilmente l'hardware ed eventualmente di riconfigurarlo nel modo più opportuno. I <A NAME="index2657"></A>kernel Linux recenti incorporano delle funzionalità di <A NAME="index2658"></A>Plug & Play (sezione <A HREF="a243.html#anchor576">26.2.6</A>), tuttavia questo non basta a risolvere tutti i problemi che si possono presentare con l'hardware che utilizza questo standard.</P>
<H2>30.1 <A NAME="title521"></A><A NAME="anchor645"></A>
Configurazione del <A NAME="index2659"></A>firmware BIOS </H2>
<P>In presenza di hardware PCI e <A NAME="index2660"></A>Plug & Play è necessario verificare la configurazione del <A NAME="index2661"></A>firmware BIOS a questo proposito. Se tutto l'hardware installato può essere suddiviso semplicemente in schede ISA tradizionali (che non sono <A NAME="index2662"></A>Plug & Play) e schede PCI, dovrebbe essere conveniente indicare al BIOS che <STRONG>non</STRONG> si dispone di un sistema operativo <A NAME="index2663"></A>Plug & Play. In questo modo si lascia al BIOS il compito di gestire opportunamente l'hardware PCI.</P>
<PRE>PnP Operating System: NO</PRE>
<P>Tuttavia, questi tipi di BIOS richiedono l'indicazione, più o meno dettagliata, dei livelli IRQ che sono riservati alle schede ISA normali e di quelli che sono disponibili per le schede PCI e per il <A NAME="index2664"></A>Plug & Play. A volte, per indicare che un livello IRQ è riservato a schede ISA tradizionali, si usa la definizione <EM>legacy ISA</EM>. Per esempio:</P>
<PRE>IRQ3 available to: ISA
IRQ4 available to: ISA
...
IRQ9 available to: PCI/PnP
IRQ10 available to: PCI/PnP
...</PRE>
<P>oppure:</P>
<PRE>IRQ3: Legacy ISA
IRQ4: Legacy ISA
...
IRQ9: available
IRQ10: available
...</PRE>
<P>Nei BIOS più vecchi potrebbe essere stato previsto solo l'elenco dei livelli IRQ disponibili per le schede PCI e per il <A NAME="index2665"></A>Plug & Play, sottintendendo che il resto è destinato a componenti ISA tradizionali.</P>
<PRE>1st available IRQ: 9
2nd available IRQ: 10
3rd available IRQ: 11
4th available IRQ: 13</PRE>
<P>Eventualmente, in presenza di schede ISA <A NAME="index2666"></A>Plug & Play, se si hanno difficoltà a utilizzare gli strumenti per la gestione del <A NAME="index2667"></A>Plug & Play all'interno del sistema operativo, si può provare a indicare al BIOS che si dispone di un sistema capace di gestirlo:</P>
<PRE>PnP Operating System: YES</PRE>
<P>Tuttavia, dopo aver provato, è bene mantenere questo tipo di configurazione solo nel caso in cui siano osservati effettivamente dei risultati migliori. In generale, dovrebbe convenire il lasciare fare tutto al BIOS.</P>
<H2>30.2 <A NAME="title522"></A><A NAME="anchor646"></A>
Punto di vista del <A NAME="index2668"></A>kernel Linux </H2>
<P>Quando si hanno difficoltà con le configurazioni hardware, ma il sistema operativo si avvia ugualmente anche senza riuscire a gestire quella scheda particolare per la quale ci si sta impegnando tanto, è importante osservare cosa riconosce il <A NAME="index2669"></A>kernel Linux della situazione attuale. Questo lo si ottiene analizzando alcuni file virtuali contenuti nella directory <CODE>/proc/</CODE>: <CODE>dma</CODE>, <CODE>interrupts</CODE>, <CODE>ioports</CODE> e <CODE>pci</CODE>.</P>
<H3>30.2.1 <A NAME="title523"></A><A NAME="anchor647"></A>
/proc/dma <A NAME="index2670"></A> </H3>
<P>Il file <CODE>/proc/dma</CODE> contiene l'elenco dei canali DMA utilizzati. In generale si dovrebbe osservare almeno il contenuto seguente:</P>
<PRE> 4: cascade</PRE>
<H3>30.2.2 <A NAME="title524"></A><A NAME="anchor648"></A>
/proc/interrupts <A NAME="index2671"></A> </H3>
<P>Il file <CODE>/proc/interrupts</CODE> elenca i livelli di IRQ utilizzati in un certo momento. Si osservi l'esempio seguente:</P>
<PRE> CPU0
0: 235243 XT-PIC timer
1: 13476 XT-PIC keyboard
2: 0 XT-PIC cascade
4: 22 XT-PIC serial
9: 1171 XT-PIC fdomain
12: 0 XT-PIC eth0
13: 1 XT-PIC fpu
14: 3258 XT-PIC ide0
15: 5 XT-PIC ide1
NMI: 0
ERR: 0</PRE>
<P>Come si vede, non appaiono gli IRQ delle porte seriali e delle porte parallele, ma di queste occorre tenere conto ugualmente. Di solito si tratta di IRQ 4 e IRQ 3 per la prima e la seconda porta seriale, di IRQ 7 per la prima porta parallela, ed eventualmente di IRQ 5 per la seconda porta parallela (ammesso che questa esista effettivamente).<SUP><A HREF="#footnote1" NAME="footnote-ref1">(1)</A></SUP></P>
<H3>30.2.3 <A NAME="title525"></A><A NAME="anchor649"></A>
/proc/ioports <A NAME="index2672"></A> </H3>
<P>Il file <CODE>/proc/ioports</CODE> contiene l'elenco degli indirizzi di I/O utilizzati. Quello che si ottiene leggendo questo file potrebbe essere simile all'esempio seguente:</P>
<PRE>0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(auto)
8000-8007 : ide0
8008-800f : ide1
ff80-ff9f : eth0
ffa0-ffaf : fdomain</PRE>
<H3>30.2.4 <A NAME="title526"></A><A NAME="anchor650"></A>
/proc/pci <A NAME="index2673"></A> </H3>
<P>Il file <CODE>/proc/pci</CODE> è molto importante, dal momento che elenca le caratteristiche delle unità PCI che sono state rilevate automaticamente. Vale la pena di confrontare il contenuto di questo file con le informazioni ottenute dagli altri descritti precedentemente, e anche con quanto definito nella configurazione del <A NAME="index2674"></A>firmware BIOS.</P>
<PRE>PCI devices found:
Bus 0, device 0, function 0:
Host bridge: Intel 82437 (rev 2).
Medium devsel. Master Capable. Latency=32.
Bus 0, device 7, function 0:
ISA bridge: Intel 82371FB PIIX ISA (rev 2).
Medium devsel. Fast back-to-back capable.
Master Capable. No bursts.
Bus 0, device 7, function 1:
IDE interface: Intel 82371FB PIIX IDE (rev 2).
Medium devsel. Fast back-to-back capable.
Master Capable. Latency=32.
I/O at 0x8000 [0x8001].
Bus 0, device 17, function 0:
Ethernet controller: 3Com 3C590 10bT (rev 0).
Medium devsel. IRQ 12.
Master Capable. Latency=248. Min Gnt=3.Max Lat=8.
I/O at 0xff80 [0xff81].
Bus 0, device 18, function 0:
VGA compatible controller: S3 Inc. Trio32/Trio64 (rev 83).
Medium devsel. IRQ 12.
Non-prefetchable 32 bit memory at 0xf8000000 [0xf8000000].
Bus 0, device 19, function 0:
SCSI storage controller: Future Domain TMC-18C30 (rev 0).
Medium devsel. Fast back-to-back capable. IRQ 9.
I/O at 0xffa0 [0xffa1].</PRE>
<H2>30.3 <A NAME="title527"></A><A NAME="anchor651"></A>
Problemi con le schede ISA <A NAME="index2675"></A>Plug & Play </H2>
<P>Riguardo all'hardware <A NAME="index2676"></A>Plug & Play, i problemi maggiori si hanno con le schede ISA, e a volte con quei componenti addizionali integrati nella scheda madre (per esempio per la gestione dell'audio). I motivi possono essere di due tipi: l'hardware in questione può non essere perfettamente aderente alle specifiche del <A NAME="index2677"></A>Plug & Play, oppure la gestione del <A NAME="index2678"></A>kernel per questi componenti può essere rimasta legata a versioni vecchie, non <A NAME="index2679"></A>Plug & Play, dello stesso hardware. Nel primo caso c'è poco da fare, nel secondo, occorre utilizzare del software esterno per configurare queste schede nel modo in cui poi il <A NAME="index2680"></A>kernel si aspetta di trovarle.</P>
<H3>30.3.1 <A NAME="title528"></A><A NAME="anchor652"></A>
<A NAME="index2681"></A>Isapnptools <A NAME="index2682"></A> <A NAME="index2683"></A> <A NAME="index2684"></A> <A NAME="index2685"></A> <A NAME="index2686"></A> <A NAME="index2687"></A> </H3>
<P>Il pacchetto <A NAME="index2688"></A>Isapnptools permette di interrogare le schede <A NAME="index2689"></A>Plug & Play e di eseguire le operazioni di riconoscimento tipiche di un BIOS <A NAME="index2690"></A>Plug & Play. Inoltre, dopo aver determinato le possibilità di queste schede, può impostare la configurazione prescelta.</P>
<TABLE BORDER="3" WIDTH="100%">
<TR><TD>
<P>L'utilizzo di <A NAME="index2691"></A>Isapnptools può creare dei conflitti con il sistema operativo in funzione, nella maggior parte dei casi, tanto che si rischia di bloccare tutto in modo irreversibile (si può utilizzare solo il tastino di reinizializzazione o direttamente l'interruttore generale dell'elaboratore).</P>
</TD></TR>
</TABLE>
<P>Questo significa che questi strumenti vanno usati con prudenza, e probabilmente con un sistema avviato in modo da avere il minor numero di servizi attivi (<SAMP>single</SAMP>), anche se questo non esclude tutti i rischi di perdita dei dati.</P>
<P>Il pacchetto <A NAME="index2692"></A>Isapnptools si compone fondamentalmente di <SAMP>isapnp</SAMP>, per configurare le schede una volta determinate le loro carateristiche <A NAME="index2693"></A>Plug & Play, il file <CODE>/etc/isapnp.conf</CODE>, da preparare con le impostazioni che si vogliono fissare nelle schede, e <SAMP>pnpdump</SAMP>, che aiuta a realizzare il file <CODE>/etc/isapnp.conf</CODE>.<SUP><A HREF="#footnote2" NAME="footnote-ref2">(2)</A></SUP></P>
<P>Se si dispone di una scheda ISA <A NAME="index2695"></A>Plug & Play per la quale si vorrebbe definire la configurazione, si potrebbe usare <SAMP>pnpdump</SAMP>, che si occupa di scandire le schede di questo tipo, generando un rapporto utile come punto di partenza per realizzare il file di configurazione <CODE>/etc/isapnp.conf</CODE>. Purtroppo si tratta di un'operazione delicata che rischia di bloccare il sistema.</P>
<P class="command"><CODE># </CODE><STRONG><CODE>pnpdump | less</CODE></STRONG>[<KBD>Invio</KBD>]</P>
<P>Quello che si ottiene potrebbe essere qualcosa di simile al listato seguente, dove in particolare si rivela la presenza di una scheda <A NAME="index2696"></A>SoundBlaster (<SAMP>Creative SB32 PnP</SAMP>).</P>
<PRE> ...
# Trying port address 0203
# Trying port address 020b
# Board 1 has serial identifier 9a 00 04 09 49 48 00 8c 0e
# (DEBUG)
(READPORT 0x020b)
(ISOLATE PRESERVE)
(IDENTIFY *)
# Card 1: (serial identifier 9a 00 04 09 49 48 00 8c 0e)
# Vendor Id CTL0048, Serial Number 264521, checksum 0x9A.
# Version 1.0, Vendor version 1.0
# ANSI string -->Creative SB32 PnP<--
#
# Logical device id CTL0031
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy
(CONFIGURE CTL0048/264521 (LD 0
# ANSI string -->Audio<--
# Multiple choice time, choose one only !
# Start dependent functions: priority preferred
# IRQ 5.
# High true, edge sensitive interrupt (by default)
# (INT 0 (IRQ 5 (MODE +E)))
# First DMA channel 1.
# 8 bit DMA only
# Logical device is not a bus master
# DMA may execute in count by byte mode
# DMA may not execute in count by word mode
# DMA channel speed in compatible mode
...
# End dependent functions
# (ACT Y)
))
...</PRE>
<P>Osservando attentamente il risultato, si comprende che le direttive che servirebbero a definire le risorse dei componenti sono tutte commentate. In pratica, si potrebbe utilizzare questo risultato togliendo i commenti dove opportuno.</P>
<P class="command"><CODE># </CODE><STRONG><CODE>pnpdump > /etc/isapnp.conf</CODE></STRONG>[<KBD>Invio</KBD>]</P>
<P>Il comando che si vede serve proprio per generare un file <CODE>/etc/isapnp.conf</CODE> pronto per essere modificato in base alle scelte personali. Tuttavia, si potrebbe essere imbarazzati davanti a tutte le scelte possibili. In questo senso viene in aiuto l'opzione <SAMP>-c</SAMP> di <SAMP>pnpdump</SAMP>, con la quale questo programma cerca di determinare anche quale sia la configurazione più sicura, e il risultato che si ottiene è tale da avere le direttive «giuste» senza commento.</P>
<TABLE BORDER="3" WIDTH="100%">
<TR><TD>
<P>Per ottenere questo si avvale anche di <SAMP>lspci</SAMP> che deve essere stato installato, allo scopo di permettere l'interrogazione delle informazioni attuali sulle unità PCI. Questo programma, <SAMP>lspci</SAMP>, dovrebbe trovarsi nel pacchetto <A NAME="index2697"></A>PCIutils.</P>
</TD></TR>
</TABLE>
<P class="command"><CODE># </CODE><STRONG><CODE>pnpdump -c > /etc/isapnp.conf</CODE></STRONG>[<KBD>Invio</KBD>]</P>
<P>Anche con un file generato in questo modo è bene essere prudenti. In generale è meglio commentare tutte le direttive riferite a unità che funzionano già per conto proprio. Una volta definito il file di configurazione che si ritiene corretto, si utilizza <SAMP>isapnp</SAMP> per impostare le schede <A NAME="index2698"></A>Plug & Play.</P>
<P class="command"><CODE># </CODE><STRONG><CODE>isapnp /etc/isapnp.conf</CODE></STRONG>[<KBD>Invio</KBD>]</P>
<TABLE BORDER="3" WIDTH="100%">
<TR><TD>
<P>La dichiarazione di ogni componente <A NAME="index2699"></A>Plug & Play, come si vede dal file generato da <SAMP>pnpdump</SAMP>, deve terminare con l'istruzione <SAMP>(ACT Y)</SAMP> e subito dopo si devono chiudere le parentesi che erano state aperte all'inizio del blocco: <SAMP>(CONFIGURE ... ( ... ))</SAMP>. Se manca questa istruzione, la configurazione non viene passata alla scheda corrispondente, mentre se mancano le parentesi di conclusione, si rischia di includere le istruzioni successive che invece si rivolgono a componenti differenti.</P>
</TD></TR>
</TABLE>
<P>Si è accennato al fatto che con <SAMP>pnpdump</SAMP> si rischia di bloccare il sistema. Questo programma, per trovare le schede <A NAME="index2700"></A>Plug & Play deve eseguire una scansione di indirizzi di I/O nell'intervallo tra 203<SUB>16</SUB> e 3FF<SUB>16</SUB>. Mentre esegue questa scansione può entrare in conflitto con qualcosa (e questo succede sicuramente se non trova alcuna scheda ISA <A NAME="index2701"></A>Plug & Play). Se ciò accade, si dovrebbe avere il modo di annotare l'indirizzo a partire dal quale si è verificato il problema. In seguito, dopo aver riavviato l'elaboratore, si può ritentare la scansione utilizzando un indirizzo di partenza successivo rispetto a quello.</P>
<P class="command"><CODE># </CODE><STRONG><CODE>pnpdump -c 0x320 > /etc/isapnp.conf</CODE></STRONG>[<KBD>Invio</KBD>]</P>
<P>In questo caso si richiede espressamente di iniziare la scansione da 320<SUB>16</SUB>, nella speranza di saltare indirizzi precedenti che hanno creato dei problemi.</P>
<H2>30.4 <A NAME="title529"></A><A NAME="anchor653"></A>
Strumenti specifici della distribuzione <A NAME="index2702"></A>Red Hat <A NAME="index2703"></A> </H2>
<P>la distribuzione <A NAME="index2704"></A>Red Hat propone un programma sperimentale per il riconoscimento dell'hardware. Si tratta di <SAMP>hwdiag</SAMP> (il nome del file RPM dovrebbe essere <CODE>rhs-hwdiag-*i386.rpm</CODE>). Trattandosi di qualcosa che scandisce tutto l'hardware, comprese le porte seriali e parallele, c'è sempre il rischio che a seguito della scansione il sistema operativo resti bloccato, per cui è bene ridurre l'attività al minimo prima di provare a utilizzarlo.</P>
<P>In particolare, la sua breve documentazione ricorda i rischi legati alla scansione delle porte seriali. Per esempio, il fatto di avere il demone <SAMP>gpm</SAMP> in funzione per controllare un mouse seriale, comporta poi un conflitto con la scansione di <SAMP>hwdiag</SAMP>, che porta al blocco delle applicazioni che utilizzano il mouse stesso. Ancora peggio se in quel momento è in funzione il sistema grafico X che utilizza un mouse seriale.</P>
<P>Tuttavia, anche con questi rischi può essere utile raccogliere tutte le informazioni che si riescono ad avere sull'hardware del proprio elaboratore. Il programma si avvia semplicemente, senza opzioni:</P>
<P class="command"><CODE># </CODE><STRONG><CODE>hwdiag</CODE></STRONG>[<KBD>Invio</KBD>]</P>
<P>La figura <A HREF="a247.html#anchor654">30.1</A> mostra la maschera iniziale di questo programma, mentre la figura <A HREF="a247.html#anchor655">30.2</A> mostra il risultato di un'ipotetica scansione: come si vede dai pulsanti grafici, è possibile salvare il rapporto in un file.</P>
<TABLE ID="anchor654" BORDER="0" WIDTH="100%">
<TR><TD>
<HR>
<PRE>.----------------------| Introduction |----------------------.
| |
| The Red Hat HW Discovery Utility is intended to aid |
| end-users in determining the hardware installed in |
| their system. By using various probing methods (PCI, |
| PnP, etc), this utility should find most post-1994 |
| hardware. On older machines hardware may not be |
| detected, since there were few standards on how to |
| detect hardware back then. |
| |
| Would you like to continue? |
| |
| .----. .------. |
| | Ok | | Quit | |
| `----' `------' |
| |
`------------------------------------------------------------'</PRE>
<HR>
<P class="caption"> Figura <A HREF="a247.html#anchor654">30.1</A>. La maschera iniziale di <SAMP>hwdiag</SAMP>. </P>
</TD></TR>
</TABLE>
<TABLE ID="anchor655" BORDER="0" WIDTH="100%">
<TR><TD>
<HR>
<PRE>.---------------------| Currently Installed Devices |----------------------.
| Probe |
| Port Bus Status Mfg/Model/Description |
| ------ ----- -------- ----------------------- |
| /dev/lp0 PARALLEL LOCKED No info available for this port. #|
| /dev/lp1 PARALLEL <Port does not exist> X|
| /dev/lp2 PARALLEL <Port does not exist> X|
| /dev/psaux PSAUX <Port does not exist> X|
| /dev/hda IDE IDE device QUANTUM SIROCCO1700A/HARD DRIVE/ X|
| /dev/hdb IDE FAILED No info available for this port. X|
| /dev/hdc IDE FAILED No info available for this port. X|
| /dev/hdd IDE FAILED No info available for this port. X|
| /dev/hde IDE FAILED No info available for this port. X|
| /dev/hdf IDE FAILED No info available for this port. X|
| |
| .------. .-----------------. .------. |
| | Help | | Generate Report | | Quit | |
| `------' `-----------------' `------' |
| |
`--------------------------------------------------------------------------'</PRE>
<HR>
<P class="caption"> Figura <A HREF="a247.html#anchor655">30.2</A>. Il risultato di una scansione con <SAMP>hwdiag</SAMP>. </P>
</TD></TR>
</TABLE>
<P>Si veda anche il programma <SAMP>sndconfig</SAMP> (del pacchetto omonimo), il cui scopo è quello di facilitare l'individuazione e la configurazione di schede audio (<A NAME="index2705"></A>Plug & Play e anche non). Se ne trova la descrizione nella sezione <A HREF="a2366.html#anchor5559">283.1.2</A>.</P>
<H2>30.5 <A NAME="title530"></A><A NAME="anchor656"></A>
Riferimenti </H2>
<UL>
<LI>
<P>Peter Fox, <EM>ISA PnP utilities</EM></P>
<P><<EM><A HREF="file:///usr/share/doc/isapnptools/README">file:///usr/share/doc/isapnptools/README</A></EM>></P>
</LI>
</UL>
Appunti di informatica libera 2001.08.18 --- <EM>Copyright © 2000-2001 Daniele Giacomini -- daniele @ swlibero.org</EM><HR>
<P><A HREF="#footnote-ref1" NAME="footnote1">1)</A> Bisogna ricordare che IRQ 2 e IRQ 9 sono in pratica la stessa cosa. La voce <SAMP>cascade</SAMP> a fianco di IRQ 2 sta a sottolineare questo fatto.</P>
<P><A HREF="#footnote-ref2" NAME="footnote2">2)</A> Il funzionamento di questi programmi viene mostrato in maniera superficiale. Per approfondire l'argomento occorrerebbe studiare qualcosa sulle specifiche <A NAME="index2694"></A>Plug & Play, e quindi leggere i documenti <EM>isapnp</EM>(8), <EM>isapnp.conf</EM>(5) e <EM>pnpdump</EM>(8).</P>
</DIV>
<HR>
<P>Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome <A HREF="problemi_di_configurazione_dell_hardware.html">problemi_di_configurazione_dell_hardware.html</A></P>
<P>
<A HREF="a248.html">[successivo]</A>
<A HREF="a246.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
</P>
</BODY>
</HTML>
|