Driver Linux per NVIDIA nForce:
- Il contenuto
- Panoramica
- Disponibilità del pacchetto
- Requisiti minimi
- Licenza
- Contenuto del pacchetto
- Scopo del pacchetto
- Installazione
- Configurazione
- Caricamento dei driver
- Parametri del modulo
- Pannello di controllo audio
- Soluzione dei problemi
- Domande frequenti (FAQ)
- Riconoscimenti
- Elenco delle modifiche
Il chipset nForce contiene un certo numero di dispositivi hardware che possono essere eseguiti in ambiente Linux: un dispositivo di rete (MAC), hardware audio, controller di storage (IDE e SATA) e controller OHCI USB. Numerosi componenti del chipset nForce si avvalgono di interfacce standard del settore; pertanto, non tutti i componenti richiedono l'uso di driver personalizzati con Linux.
Inviare resoconti di problemi e domande relative all'installazione all'indirizzo:
linux-nforce-bugs@nvidia.com
Prima di inviare un resoconto su un problema, accertarsi di leggere le sezioni Soluzione dei problemi e FAQ, nonché di riesaminare l'elenco dei Problemi noti della versione del driver in uso. Questo elenco è disponibile nel sito Web NVIDIA, nella pagina della release per la versione del driver in questione.
Se si decide di inviare un resoconto del problema, accertarsi di includere nforce-bug-report.log nel resoconto del problema eseguendo nforce-bug-report.sh.
Questo pacchetto è disponibile al sito Web NVIDIA:
http://www.nvidia.it/page/drivers.html
Suggeriamo di utilizzare per il proprio hardware nForce esclusivamente software scaricato da questo sito Web o da una distribuzione Linux fidata.
Al momento attuale, i driver nForce richiedono un kernel serie 2.4 o 2.6 eseguito su CPU AMD a 32 o 64 bit.
Il driver audio NVIDIA è di tipo OSS e richiede che il kernel disponga del supporto audio OSS. Il pannello di controllo audio di NVIDIA è un'applicazione basata su Qt e richiede librerie run-time Qt per l'esecuzione.
Il driver di rete e audio fornito da NVIDIA è soggetto alla licenza software NVIDIA; la licenza è disponibile sul sito Web NVIDIA, ed è inclusa nel presente pacchetto. L'uso di questo software implica l'accettazione dei termini della Licenza d'uso.
Il pacchetto contiene i seguenti elementi:
- La presente guida all'installazione
- La licenza NVIDIA per il software driver di rete
- Libreria kernel predefinita per il driver audio nForce
- Libreria kernel predefinita per il driver network nForce
- Binario per il pannello di controllo audio
- Binari interfaccia del kernel predefiniti per le principali distribuzioni
- Sorgente per la porzione dell'interfaccia del kernel del driver audio
- Sorgente per la porzione dell'interfaccia del kernel del driver di rete
Il presente pacchetto crea un driver di rete e un driver audio, quindi li colloca nelle posizioni appropriate per i moduli kernel caricabili. I driver di rete e audio sono NVIDIA. Se si installa il driver audio, il programma di installazione installa anche il pannello di controllo audio.
Nvidia ha fornito un programma di installazione autoestraente che prepara i driver e li installa nella posizione più appropriata per il modulo del kernel. Si noti che del programma di installazione viene fornita una versione a 32 bit oltre che quella a 64 bit. Il programma di installazione a 64 bit è necessario per i kernel x86_64. Si può verificare quale tipo di macchina sia attualmente in esecuzione controllando cosa viene restituito da uname -m
. Se il report restituisce x86_64
, si sta eseguendo un kernel a 64 bit e si dovrebbe ricorrere al pacchetto a 64 bit.
Per installare i driver è sufficiente eseguire il binario del programma di installazione all'interno di una shell con privilegi radice e seguire le istruzioni a schermo.
Il file .run accetta numerose opzioni della riga di comando. Ecco alcune delle più comuni:
--info
Stampa le informazioni incorporate nel file .run ed esce.
--check
Verifica l'integrità dell'archivio ed esce.
--extract-only
Estrae il contenuto del file .run, ma non esegue 'nforce-installer'.
--help
Stampa le informazioni d'utilizzo per le opzioni comuni della riga di comando ed esce.
--advanced-options
Stampa le informazioni d'utilizzo per le opzioni comuni della riga di comando, ma anche per le opzioni avanzate, ed esce.
Il programma di installazione utilizza l'interfaccia utente basata su ncurses se riesce a trovare la libreria ncurses necessaria. In caso contrario, il sistema ripiega su una semplice interfaccia testuale interattiva. Per disabilitare l'uso dell'interfaccia utente ncurses, usare l'opzione '--ui=none'.
Il programma di installazione contiene driver predefiniti per le principali distribuzioni di Linux. Se il programma di installazione non riesce a individuare un driver predefinito per il proprio kernel, tenta di crearlo. In tal caso è necessario installare il sorgente del kernel corrispondente al driver di installazione.
È opportuno controllare la configurazione del BIOS del sistema per individuare con certezza i dispositivi audio e di rete. Vedere la descrizione della configurazione del BIOS di sistema nella sezione relativa alla soluzione dei problemi.
SI NOTI che per aggiornare i driver di rete, è necessario innanzitutto disattivare il dispositivo di rete NVIDIA prima di eseguire il programma di installazione. In caso contrario il conteggio del modulo per il dispositivo non sarà pari a zero e l'installazione del driver di rete non potrà riuscire.
Configurazione
Il programma di installazione non aggiorna i file di configurazione. Dopo aver installato i driver, configurare il sistema per l'uso dei driver usando i meccanismi di configurazione integrati nella distribuzione per il networking e l'audio, oppure modificare manualmente i file richiesti.
Posizione del file di configurazione del modulo
I file di configurazione del modulo sono differenti per i kernel serie 2.4 e 2.6. Le varie distribuzioni di Linux differiscono anche per il metodo di gestione della configurazione del modulo.
- Per le distribuzioni basate su un kernel serie 2.4, il file di configurazione del modulo solitamente viene denominato
/etc/modules.conf.
- Per le distribuzioni basate su un kernel serie 2.6, il file di configurazione del modulo viene solitamente denominato
/etc/modules.conf.
Alcune distribuzioni si avvalgono di una sottodirectory, /etc/modprobe.d/
, per contenere i singoli file di configurazione per i moduli audio, ecc.
Configurazione del driver di rete
SuSE
Per SuSE Linux Enterprise Server 9, usare YaST per configurare il driver di rete. Avviare la GUI di YaST, selezionare "Network Devices", quindi selezionare "Network Card". Questa procedura dovrebbe far comparire la finestra di dialogo "Network cards configuration".
Selezionare "Other (not detected)", quindi selezionare il pulsante "Configure". Nella sezione "Kernel Module", impostare l'opzione "Module Name" sul valore "nvnet", quindi selezionare il pulsante "Next". Configurare i parametri dell'interfaccia secondo necessità, selezionare il pulsante "Next" per tornare alla finestra di dialogo di configurazione della scheda, quindi selezionare "Finish".
Red Hat
Per Linux Red Hat Enterprise versione 3, Red Hat 8, Red Hat 9 e Fedora Core 1, seguire le istruzioni contenute in Altre distribuzioni per modificare il file di configurazione /etc/modules.conf
. Una volta terminato, configurare i parametri di interfaccia di rete usando lo strumento Network Configuration contenuto nel menu System Settings. Lo strumento di configurazione può inoltre essere lanciato direttamente come "neat".
Per Fedora Core 2, seguire le istruzioni in Altre distribuzioni per modificare il file di configurazione /etc/modprobe.conf
. Ona volta terminato, configurare i parametri di interfaccia di rete usando lo strumento Network Configuration contenuto nel menu System Settings. Lo strumento di configurazione può inoltre essere lanciato direttamente come "neat".
Mandrake
Per Mandrake 10, usare Mandrake Control Center (disponibile per mezzo del comando mcc
) per configurare il driver di rete. Selezionare "Network & Internet", quindi selezionare "New Connection". Selezionare "LAN Connection", selezionare "Next", quindi selezionare "Manual Choice". Dall'elenco dei driver di rete disponibili, selezionare "nvnet", quindi selezionare "Next". e "autoprobe". A questo punto, il driver sarà configurato e verrà resa disponibile una nuova interfaccia; selezionare l'interfaccia appena aggiunta per configurare le impostazioni degli indirizzi IP, ecc.
Per le distribuzioni Mandrake precedenti, seguire le istruzioni in Altre distribuzioni per modificare il file di configurazione /etc/modules.conf
. Una volta terminato, è possibile usare Mandrake Control Center per configurare le impostazioni degli indirizzi IP, ecc., nell'interfaccia di rete supportata da nvnet.
Altre distribuzioni
Se la distribuzione che state usando offre un meccanismo di configurazione per i driver di rete, usarlo per selezionare il modulo del driver nvnet da usare con il dispositivo ethernet nForce e per impostare i parametri di networking (indirizzo IP, ecc.) per l'interfaccia. Altrimenti, modificare manualmente il file di configurazione del modulo.
Se il file di configurazione contiene già una voce per il driver forcedeth (un driver di rete open-source che supporta il controller di rete nForce), quella voce deve essere esclusa con un codice #
o rimossa:
# alias eth0 forcedeth
Aggiungere l'istruzione seguente al file di configurazione:
alias eth0 nvnet
Se il sistema dispone di più interfacce ethernet, può essere necessario fare ricorso a 'eth1' o superiore al posto di 'eth0'.
Configurazione del driver audio
SuSE
Per SuSE Linux Enterprise Server 9, al momento della preparazione di questo file non è possibile usare YaST per configurare il driver audio nvsound. Seguire le istruzioni in Altre distribuzioni per modificare il file di configurazione /etc/modprobe.d/sound
.
Red Hat
Per Linux Red Hat Enterprise versione 3, Red Hat 8, Red Hat 9 e Fedora Core 1, seguire le istruzioni in Altre distribuzioni per modificare il file di configurazione /etc/modules.conf
.
Per Fedora Core 2, seguire le istruzioni in Altre distribuzioni per modificare il file di configurazione /etc/modprobe.conf
.
Mandrake
Al momento dell'estensione del presente file, non è possibile usare Mandrake Control Center per configurare il driver audio nvsound.
Seguire le istruzioni in Altre distribuzioni per modificare manualmente il file di configurazione.
Per Mandrake 10 o altre distribuzioni di Mandrake che eseguono i kernel 2.6, il file di configurazione è /etc/modprobe.conf
. Per le distribuzioni precedenti che eseguono kernel 2.4, il file di configurazione è /etc/modules.conf
.
Altre distribuzioni
Se la distribuzione che si sta utilizzando offre un meccanismo di configurazione per i driver audio, usarlo per selezionare il modulo del driver nvsound per l'uso con il dispositivo audio di nForce. In caso contrario modificare manualmente il file di configurazione del modulo.
Se il file di configurazione contiene già una voce per i driver i810_audio, snd-intel8x0, o nvaudio (driver audio open-source che supportano il controller audio di nForce), quella voce deve essere esclusa con un #
o rimossa:
# alias sound-slot-0 i810_audio
Aggiungere l'istruzione seguente al file di configurazione:
alias sound-slot-0 nvsound
In alcune distribuzioni può essere necessario sostituire sound-slot-0
con snd-card-0
.
Per fare in modo che le impostazioni audio di nvmixer siano ripristinate automaticamente ad ogni caricamento del driver nvsound, aggiungere le righe seguenti al file di configurazione per i kernel 2.4:
post-install nvsound sleep 1; /usr/bin/nvmix-reg -f /etc/nvmixrc -L >/dev/null 2>&1 ||:
pre-remove nvsound /usr/bin/nvmix-reg -f /etc/nvmixrc -S >/dev/null 2>&1 ||:
Per i kernel 2.6:
install nvsound /sbin/modprobe --ignore-install nvsound ; sleep 1; /usr/bin/nvmix-reg -f /etc/nvmixrc -L >/dev/null 2>&1 || :
remove nvsound { /usr/bin/nvmix-reg -f /etc/nvmixrc -S >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove nvsound
Per i kernel sia 2.4 che 2.6, si dovrebbe modificare anche /etc/rc.d/init.d/halt
, oppure /etc/init.d/halt.local
nelle distribuzioni SuSE:
if grep -q "\(nvsound\)" /proc/modules && [ -x /usr/bin/nvmix-reg ]; then
/usr/bin/nvmix-reg -f /etc/nvmixrc -S >/dev/null 2>&1
fi
Per Linux Red Hat Enterprise 4 e Fedora Core 3, aggiungere la riga seguente a /etc/rc.local
:
/usr/bin/nvmix-reg -f /etc/nvmixrc -L >/dev/null 2>&1
Caricamento dei driver
Il pacchetto può lasciare o meno i nuovi modulo caricati al termine della procedura di installazione, a seconda della configurazione esistente. È possibile forzare il caricamento del modulo usando insmod o modprobe :
insmod <modulename>
oppure
modprobe <modulename>
Nei riavvii successivi, i moduli dovrebbero essere caricati automaticamente.
Parametri del modulo
Il comportamento run-time dei driver NVIDIA può essere configurato mediante l'uso dei parametri del modulo. Questi possono essere specificati sia nella riga di comando quando si carica il modulo, che nel file di configurazione del modulo (ad esempio /etc/modules.conf). Per esempio, per fare in modo che il driver ethernet nForce usi la modalità throughput ottimizzata, aggiungere quanto segue al file di configurazione del modulo:
options nvnet optimization=1
Oppure, se il caricamento del modulo avviene manualmente dalla riga di comando:
modprobe nvnet optimization=1
I parametri del modulo per il driver ethernet possono essere verificati usando il comando:
modinfo -p nvnet
Le seguenti sezioni contengono descrizioni di tutti i parametri dei moduli del driver.
Parametri del modulo nvnet
Il driver di rete di nForce supporta i seguenti parametri opzionali:
- Modalità offload hardware
- Ottimizzazione
- Modalità di negoziazione
- Velocità e duplex
- Media
- Pacchetti TX max
- Pacchetti RX max
- MTU
- Intervallo di polling
- Offload della segmentazione
- Offload del checksum TX
- Offload del checksum RX
Modalità offload hardware
Questo parametro controlla la modalità di offload hardware. Il driver di rete nForce supporta due modalità di offload hardware:
- hwmode=1 - Inattiva
- hwmode=1 - Attiva
Quando la modalità di offload hardware è attiva, sono attive anche offload checksum TX, offload checksum RX, offload di segmentazione e si utilizza RGMII (Reduced Gigabit Media Independent Interface), quindi la MTU può essere impostata su un valore non predefinito. Quando la modalità di offload hardware è inattiva, queste modalità di offload sono disattivate e si utilizza MII (Media Independent Interface), quindi il parametro MTU viene ignorato.
La modalità offload hardware mode predefinita dipende dal controller di rete. la modalità offload hardware può essere specificata fornendo il parametro del modulo "hwmode".
Ottimizzazione
Il driver di rete di nForce supporta le seguenti modalità di ottimizzazione:
- optimization=0 - Ottimizzazione di throughput
- optimization=0 - Ottimizzazione della CPU
La modalità di ottimizzazione della CPU riduce l'utilizzo della CPU impiegando la moderazione dell'interrupt.
La modalità di ottimizzazione del throughput massimizza il throughput. Questa modalità utilizza la CPU in modo più intensivo.
Per opzione predefinita, il driver viene eseguito in modalità di ottimizzazione del throughput. La modalità di ottimizzazione può essere specificata fornendo il parametro del modulo "ottimizzazione".
Modalità di negoziazione
Il driver di rete nForce supporta due modalità di negoziazione:
- autonegotiate=0 - Disabilitata
- autonegotiate=1 - Abilitata
Quando la modalità di negoziazione è abilitata, il controller negozia gli stati di velocità e duplex desiderati. Se invece la negoziazione è disabilitata, il controller impone le impostazioni di velocità e duplex senza negoziazione.
Per opzione predefinita è abilitata la negoziazione automatica.
Velocità e duplex
Il parametro del modulo "force_speed_duplex" può essere utilizzato per configurare velocità e duplex dell'interfaccia del controller ethernet. Sono supportati i valori seguenti:
- force_speed_duplex=0 - Negoziazione automatica
- force_speed_duplex=1 - 10Mbps semi duplex
- force_speed_duplex=2 - 10Mbps duplex pieno
- force_speed_duplex=3 - 100Mbps semi duplex
- force_speed_duplex=4 - 100Mbps duplex pieno
- force_speed_duplex=5 - Negoziazione automatica per 10Mbps semi duplex
- force_speed_duplex=6 - Negoziazione automatica per 10Mbps duplex pieno
- force_speed_duplex=7 - Negoziazione automatica per 100Mbps semi duplex
- force_speed_duplex=8 - Negoziazione automatica per 100Mbps duplex pieno
- force_speed_duplex=9 - Negoziazione automatica per 1000Mbps duplex pieno
Se si usa un valore di 0 (negoziazione automatica), il controller provvede a negoziare i valori ottimali di velocità e duplex.
Se si usa un valore compreso tra 1 e 4, inclusi, allora il comportamento della negoziazione dipende dal valore del parametro del modulo di negoziazione automatica. Se questo parametro è attivato, provvede a negoziare i valori desiderati di velocità e duplex. Se invece è disattivato, il controller imposta i valori di velocità e duplex senza negoziazione.
Se si imposta per il parametro un valore compreso tra 5 e 9, inclusi, allora il controller provvede a negoziare i valori desiderati di velocità e duplex. In tal caso, il parametro del modulo di negoziazione automatica è abilitato implicitamente.
Per opzione predefinita, il controller negozia automaticamente i valori ottimali di velocità e duplex.
Media
Il parametro del modulo "media" può essere utilizzato per specificare i media dell'interfaccia. Questo parametro del modulo supporta i valori seguenti:
- media=0 - Automatico
- media=1 - RGMII
- media=2 - MII
Il valore predefinito di questo parametro dipende dall'eventuale attivazione della modalità di offload hardware. Se la modalità di offload hardware è abilitata, RGMII è l'opzione predefinita. Se la modalità di offload hardware è disabilitata, MII è l'opzione predefinita.
Pacchetti TX max
Il parametro del modulo "max_tx_packets" controlla il numero massimo di pacchetti TX (trasmissione) in circolazione. Questo parametro assume un valore compreso tra 32 e 1024, inclusi. Per opzione predefinita, si usa un massimo di 64 pacchetti TX.
Pacchetti RX max
Il parametro del modulo "max_rx_packets" controlla il numero massimo di pacchetti RX (ricezione) in circolazione. Questo parametro assume un valore compreso tra 32 e 1024, inclusi. Per opzione predefinita, si usa un massimo di 64 pacchetti RX.
MTU
Il parametro del modulo "mtu" controlla le dimensioni in byte dell'MTU. Questo parametro assume un valore compreso tra 576 e 9202, inclusi. Per opzione predefinita, si usa un valore MTU di 1500 byte. Questo parametro è importante soltanto se la modalità di offload hardware è attivata.
Intervallo di polling
Il parametro del modulo "poll_interval_in_us" viene utilizzato per controllare il tasso al quale agli eventi hardware viene applicato il polling, ed è utile soltanto quando viene eseguita la modalità di ottimizzazione CPU. Questo parametro viene ignorato nella modalità di ottimizzazione throughput. Questo parametro assume un valore in microsecondi compreso tra 0 e 2000, mentre il valore predefinito è 0.
Offload della segmentazione
Il driver di rete nForce supporta due modalità di offload di segmentazione:
- seg_offload=0 - Disabilitato
- seg_offload=1 - Abilitato
Se hwmode=0 (disabilitato), il parametro del modulo "tx_checksum_offload" passa per opzione predefinita a 0 (disabilitato). Se hwmode=1 (enabled), il parametro del modulo "tx_checksum_offload" passa per opzione predefinita a 1 (abilitato).
Offload del checksum TX
Il driver di rete nForce supporta due modalità di offload del checksum TX:
- tx_checksum_offload=0 - Disabilitato
- tx_checksum_offload_offload=1 - Abilitato
Se hwmode=0 (disabilitato), il parametro del modulo "tx_checksum_offload" passa per opzione predefinita a 0 (disabilitato). Se hwmode=1 (enabled), il parametro del modulo "tx_checksum_offload" passa per opzione predefinita a 1 (abilitato).
Offload del checksum RX
Il driver di rete nForce supporta due modalità di offload del checksum RX:
- rx_checksum_offload=0 - Disabilitato
- rx_checksum_offload_offload=1 - Abilitato
Se hwmode=0 (disabilitato), il parametro del modulo "rx_checksum_offload" passa per opzione predefinita a 0 (disabilitato). Se hwmode=1 (enabled), il parametro del modulo "rx_checksum_offload" passa per opzione predefinita a 1 (abilitato).
Parametri del modulo nvnet
Attualmente non ci sono parametri del modulo nvsound.
Pannello di controllo audio
Un'applicazione pannello di controllo, nvmixer, è inclusa con il driver audio per controllare le funzionalità audio del driver nForce driver. Le funzionalità includono:
- Configurazione altoparlanti
- Controllo volume principale
- Controllo volume/azzeramento per singolo canale
- Selezione sorgente di ingresso
- Controllo uscita analogica e digitale
- Mixaggio SoundStorm HW
Utilizzo
Il pannello controllo audio può essere richiamato digitando "nvmixer" nella riga di comando: example% nvmixer
Per gli utenti che stanno eseguendo la migrazione da un driver audio NVIDIA precedente, si noti che il vecchio pannello di controllo "nvaudio" non funziona con il nuovo driver audio.
Requisiti minimi
L'applicazione nvmixer si avvale del toolkit per GUI Qt. La console nvmixer predefinita inclusa nella presente release è stata realizzata usando Qt versione 3.1, e richiede la presenza delle librerie di run-time Qt 3.1 nel sistema per poter essere eseguita.
Se il sistema non dispone delle librerie di Qt 3.1 installare, con ogni probabilità verrà visualizzato un messaggio di errore "relocation error: ... undefined symbol" al tentativo di eseguire nvmixer. Se compare il suddetto messaggio, il problema può essere risolto in due modi diversi:
Questa sezione tratta problemi che si possono verificare durante l'installazione dei driver nForce su Linux. Se si riscontrano problemi, leggere la presente sezione e la FAQ, quindi esaminare l'elenco Problemi noti concernente la versione del driver in uso. Questo elenco è presente nel sito Web di NVIDIA, nella pagina della release per la versione del driver.
Se si decide di inviare un resoconto del problema, accertarsi di includere nforce-bug-report.log nel resoconto del problema eseguendo nforce-bug-report.sh.
Inviare resoconti di problemi e domande relative all'installazione all'indirizzo:
linux-nforce-bugs@nvidia.com
Dato che i driver audio e di rete utilizzano il chipset nForce, questi dispositivi, assieme ad altri dispositivi della scheda madre, vengono controllati dal BIOS di sistema. Se i driver installati non riconoscono l'hardware del sistema, il problema può risiedere nella configurazione plug and play del BIOS di sistema. Se i dispositivi audio o di rete sono disabilitati nel BIOS, oppure il BIOS di sistema si attende che il sistema operativo configuri i dispositivi hardware e il kernel di Linux non supporta la configurazione di tipo ACPI, occorre cambiare le impostazioni del BIOS.
Per esaminare o modificare un BIOS di sistema di tipo Award, riavviare la macchina e premere il tasto Canc. Quando compare la schermata di configurazione, selezionare "PnP/PCI Configurations". Se "PNP OS Installed []" ha "Yes" impostato, cambiare la selezione a "No".
Se il BIOS è di tipo Phoenix, usare il tasto F2 al posto di Canc, quindi scorrere i menu sino a trovare il tipo di SO, quindi scegliere "Other". I dettagli precisi della configurazione del BIOS di sistema variano a seconda dell'esatto tipo di BIOS, quindi le schermate possono essere lievemente diverse.
Avvertenza: è opportuno annotare la configurazione originaria del BIOS prima di alterarla. La modifica della configurazione del BIOS di sistema può avere un effetto negativo sul funzionamento del sistema e persino impedirne il normale avvio.
- D: Quando tento l'assemblaggio, compare un messaggio che mi sconsiglia di usare gli header di sistema. Cosa succede?
R: Occorre installare le sorgenti del kernel. Effettuare il download e installare il pacchetto sorgente kernel appropriato.
-
D: Come posso verificare lo stato di installazione delle sorgenti del kernel?
R: Se si sta eseguendo una distribuzione che si avvale di RPM (Red Hat, Mandrake, SuSE, ecc), allora è possibile usare gli RPM per verificare. A un prompt della shell, digitare:
example% rpm -qa | grep kernel
e verificare l'output. Dovrebbe essere presente un pacchetto che corrisponde al kernel (spesso denominato con definizioni quali kernel-2.4.18-3) e un pacchetto della sorgente del kernel con lo stesso codice di versione (spesso denominato con definizioni quali kernel-source-2.4.18-3). Se nessuna delle righe sembra corrispondere a un pacchetto sorgente, allora è probabile che sia necessario installarlo. Se le versioni elencate non corrispondono (per esempio, kernel-2.4.18-10 a fronte di kernel-source-2.4.18-3), allora occorre aggiornare il pacchetto sorgente del kernel in modo che corrisponda al kernel effettivamente installato. Se sono installati più kernel, occorre installare il pacchetto sorgente del kernel che corrisponde al kernel effettivamente eseguito (oppure accertarsi che il pacchetto sorgente del kernel installato corrisponda al kernel in esecuzione). Questo è possibile verificando l'output di "uname -r" e le versioni corrispondenti.
- D: Ho appena aggiornato il kernel e ora il modulo del kernel NVIDIA non si carica. Cosa succede?
R: Il livello dell'interfaccia del kernel del modulo kernel NVIDIA deve essere specificamente compilato per la configurazione e la versione del kernel in oggetto. Se si aggiorna il kernel, la soluzione più semplice è la reinstallazione del driver.
AVANZATE: È possibile installare il modulo del kernel NVIDIA per un kernel non eseguito (per esempio: qualora si sia appena creato e installato un nuovo kernel, ma non si sia ancora riavviato il sistema) con l'opzione della riga di comando --kernel-name='KERNEL_NAME', dove KERNEL_NAME è quello che 'uname -r' riporterebbe se il kernel target fosse in esecuzione.
- D: Il programma di installazione di nforce non funziona sul mio computer. Come posso installare il driver contenuto nel file .run?
R: Per installare il driver NVIDIA contenuto nel file .run senza usare il programma di installazione nforce, è possibile usare il makefile incluso che viene estratto con l'opzione della riga di comando --extract-only. Il makefile del driver audio si trova nella directory nvsound/main del file .run estratto, mentre il makefile per il driver di rete è nella directory nvnet del file .run estratto. Questo metodo di installazione è sconsigliato, ed è fornito soltanto come estrema risorsa, nel caso in cui il programma di installazione di nforce non funzionasse correttamente sul proprio sistema.
- D: Ho installato più kernel. Quando eseguo il programma di installazione NVIDIA con un kernel, questo rimuove i moduli che ho installato in precedenza per uno degli altri kernel. Come posso evitare che il programma di installazione si comporti a questo modo?
R: Questo inconveniente può essere evitato utilizzando l'opzione --kernel-module-only del programma di installazione quando si procede all'installazione per il secondo kernel e per i successivi. Questa opzione avanzata installa soltanto il modulo del kernel (niente documentazione, ecc.) e non rimuove alcun modulo del driver installato in precedenza.
- D: Ho installato il driver nvsound, ma xmms non produce alcun output audio quando tento di riprodurre i file audio.
R: Verificare che xmms sia configurato per utilizzare il plug-in di output OSS (nvsound è un driver OSS). Le impostazioni del plug-in di output xmms possono essere visualizzate nel sottomenu Options->Preferences di xmms.
- D: Quando tento di avviare nvmixer, ottengo un messaggio "relocation error: ... undefined symbol" e nvmixer non si avvia. Cosa succede?
R: Questo è con ogni probabilità provocato dal fatto che il sistema non dispone delle librerie run-time di Qt richieste da nvmixer per l'esecuzione. Fare riferimento alla sezione Requisiti di sistema di nvmixer per ulteriori dettagli sulla soluzione di questo problema.
-
D: Quando avvio KDE con il driver nvsound caricato, ottengo un messaggio di errore, "Sound server fatal error: AudioSubSystem::handleIO: write failed len=-1, can_write=1024, errno=11 (Resource temporarily unavailable)".
R: Aprire il KDE Control Center (usando un menu o il comando kcontrol
). Selezionare "Sound & Multimedia". quindi selezionare "Sound System". Scegliere la scheda "Hardware" e, nel comando a discesa "Select the audio device", selezionare "Threaded Open Sound System". Scegliere "Apply", quindi uscire dal Control Center. Questo dovrebbe risolvere il problema indicato dalla comparsa del messaggio di errore relativo al server audio.
Attualmente non ci sono informazioni relative alla soluzione di problemi concernenti il driver di rete nvnet.
FAQ del programma di installazione
- D: Perché NVIDIA non fornisce più RPM?
R: Non tutte le distribuzioni di Linux utilizzano gli RPM e NVIDIA voleva un'unica soluzione che potesse funzionare su tutte le distribuzioni di Linux. Come indicato nella licenza software NVIDIA, riconosciamo alle distribuzioni di Linux il diritto di inserire in altri pacchetti e redistribuire il driver Linux NVIDIA in qualsiasi forma di pacchetto esse preferiscano.
- D: Come posso estrarre il contenuto del file .run senza dover installare il driver?
R: Eseguire il programma di installazione con l'opzione della riga di comando --extract-only. Questa opzione permette di creare una directory che contiene il contenuto scompattato del file .run.
- D: Come posso vedere il codice sorgente del livello dell'interfaccia del kernel?
R: I file sorgenti del livello dell'interfaccia del kernel per il driver audio sono nella directory nvsound/main del file .run estratto. I file sorgenti del livello dell'interfaccia del kernel per il driver di rete sono nella directory nvnet del file .run estratto.
- D: Posso aggiungere le mie interfacce del kernel precompilate a un file .run?
A: Sì, l'applicazione dell'opzione "--add-this-kernel" al file .run permette di scompattare il file .run, creare un'interfaccia del kernel precompilata per il kernel attualmente in esecuzione e reimpacchettare il file .run, aggiungendo "-custom" al nome del file. Questo può essere utile, per esempio, se si amministrano più macchine Linux, ciascuna con lo stesso kernel in esecuzione.
- D: Dove posso trovare il codice sorgente per il programma di installazione nforce?
R: Il programma di installazione nforce per i driver nForce deriva dall'utility di installazione nvidia utilizzata per i driver video NVIDIA. L'utility di installazione dei driver video NVIDIA viene rilasciata ai sensi del GPL. Il codice sorgente più recente per questa utility è disponibile all'indirizzo:
ftp://download.nvidia.com/XFree86/nvidia-installer/
FAQ dei driver
- D: Il mio disco fisso IDE è molto lento, posso attivare la modalità DMA?
R: Una patch del kernel è stata aggiunta nella versione 2.4.21pre3-ac1 del kernel allo scopo di abilitare il DMA per il controller IDE nForce2 e dovrebbe essere disponibile nella release definitiva 2.4.21 del kernel. In alternativa all'aggiornamento del kernel è possibile usare l'utility "hdparm" per abilitare il servizio DMA per il disco fisso. Per esempio:
example% su
Password: ******
example# hdparm -d 1 /dev/hdX
Dove /dev/hdX è il dispositivo IDE per il quale abilitare il servizio DMA. Questo va fatto ad ogni riavvio del computer, oppure si deve aggiungere questa istruzione a uno script rc. Alcune distribuzioni dispongono di un file "/etc/sysconfig/harddisks" nel quale è possibile abilitare questa opzione per tutti i dischi fissi all'avvio del sistema.
- D: NVIDIA offre un driver Linux per i dispositivi USB e USB2.0?
R: I dispositivi USB e USB2.0 si avvalgono delle interfacce OHCI e EHCI standard del settore, e funzionano con i driver USB standard di Linux.
- D: Ho ricostruito il driver Nforce, ma quando tento di inserirlo, ottengo un messaggio che mi dice che ci sono simboli non risolti.
R: I simboli non risolti sono nella maggior parte dei casi provocati da un mismatch tra le sorgenti del kernel e il kernel in esecuzione. Questi devono essere identici perché i moduli del driver nForce siano creati correttamente. Accertarsi che le sorgenti del kernel siano installate e configurate in modo identico al kernel in esecuzione.
- D: NVIDIA ha un driver Linux per 1394 su nForce2?
R: Il driver Linux 1394 supporta il controller nForce2 1394 nelle versioni del kernel a partire dalla 2.4.21.
- D: Il controller IDE nForce3 è supportato da Linux?
R: Il controller nForce3 IDE esisterà a partire dal kernel 2.4.23.
- D: Esistono driver audio e di rete open source per l'hardware nForce?
R: Per l'audio si può usare il driver i810. Per il networking, dipende dalla versione del kernel che si sta utilizzando. Alcune versioni del kernel hanno un driver denominato forcedeth. Le versioni più vecchie del driver supportano soltanto nForce2, mentre le versioni successive del driver supportano anche nForce3 gigabit Ethernet.
- D: Le distribuzioni Linux si stanno indirizzando verso ALSA quale architettura standard per il driver audio, ma nvsound è un driver OSS. Perché NVIDIA non fornisce un driver ALSA?
R: La nostra priorità nella distribuzione dei driver nvsound consiste nell'offrire supporto alle funzionalità hardware di nForce che erano assenti nel precedente driver nvaudio. NVIDIA programma di presentare un driver nForce ALSA nel prossimo futuro.
Riconoscimenti
Il programma di installazione nforce per i driver nForce deriva dal programma di installazione nvidia usato per i driver video di NVIDIA: Il programma di installazione per i driver video Nvidia si ispira al tool loki_update: (http://www.lokigames.com/development/loki_update.php3).
L'archivio autoestraente (anche noto come "file .run") viene generato usando makeself.sh: (http://www.megastep.org/makeself/).
Le variazioni più recenti sono all'inizio dell'elenco. Ciascun indicatore di riga rappresenta una release pubblica sul sito Web NVIDIA.
- Aggiunto il supporto per i kernel 2.6.10, 2.6.11.
Aggiunto il supporto per il ripristino delle impostazioni nvmixer al riavvio.
Risolti i problemi di compatibilità nvsound con varie applicazioni.
Risolto il supporto WOL in nvnet.
Risolti alcuni problemi di prestazioni nvnet.
- Aggiunti binari a 64 bit precompilati per varie distribuzioni.
Aggiunto il supporto per le installazioni del kernel che si avvalgono di sorgenti del kernel separate e di strutture generate dagli oggetti del kernel.
Risolto il problema di nvnet che provocava il crash di rmmod sui sistemi con più di un interfaccia di rete.
Risolto il problema di compilazione di nvnet per i sistemi monoprocessore con l'opzione di debugging spinlock abilitata.
Risolto il problema che in alcune distribuzioni portava al blocco del modulo nvsound all'attivazione dell'APIC.
Risolto il problema del modulo nvsound che provocava mancanza o ritardo dell'audio in alcuni giochi.
- È stato cambiato il metodo di installazione. Ora si usa il nuovo programma di installazione autoestraente che va a sostituire i vecchi RPM o tarball
Aggiunto il supporto a SoundStorm (supporto del mixaggio hardware)
Aggiunto il pass-through AC3
Aggiunto il supporto alle statistiche del driver Ethernet e alle informazioni di configurazione mediante procfs
Aggiunto il supporto ai kernel della serie 2.6
L'eseguibile del pannello di controllo audio ora si chiama "nvmixer", e non più "nvaudio"
- Risolto il problema di prestazioni del driver di rete che provocava il saltellamento della riproduzione audio
Aggiunto il supporto per le piattaforme nForce3
Aggiunto il supporto per l'architettura x86-64
Aggiunti gli RPM binari per SuSE Enterprise Server 8 x86-64
Aggiunta l'applicazione pannello controllo audio
Aggiunta uscita a 6 canali, selezione ingresso audio, selezione altoparlante, controllo volume per canale, e abilitazione driver analogica/digitale.
Aggiunta una patch GART per il kernel 2.4.21
- Aggiunta una patch del kernel per supportare nForce GART
Aggiunto il parametro del modulo "spdif_status" ai driver audio per abilitare/disabilitare il supporto S/PDIF per la compatibilità
Risolto il problema del driver audio che limitava la scheda MSI nForce all'uso di 2 soli canali
Risolto il problema di mmap nel driver audio che provocava il blocco di Quake III.
Risolto il problema di remap_page_range() della build di Red Hat Linux 9.
Risolto il problema di ricreazione dell'SRPM su Red Hat Linux 9.
Aggiunti gli RPM binari di Red Hat Linux 9 e Mandrake Linux 9.1.
- Risolto il problema con le istruzioni del compilatore tra gcc3.X e gcc2.X
Modificato lo script di installazione in modo da consentire l'uso del numero minimo disponibile quando si enumerano i dispositivi di rete e audio in modles.conf
Modificato il driver audio in modo da renderlo un file sorgente indipendente basato sul driver i810_audio.
Aggiunto il supporto SPDIF ai driver audio
Aggiornati i pacchetti binari alle ultime release dei kernel Linux RedHat.
Aggiunta la sezione FAQ alle note sulla release.
- Aggiunto il supporto ID PCI per MCP2 al driver audiop i810_audio.
Pulizia del file spec e dei Makefile
I file SRPM e tar ora si avvalgono del file i810_audio.c del sistema locale e visualizzano un messaggio in caso di assenza; questo li rende maggiormente indipendenti dalla distribuzione.
- Il codice è stato modificato per una corretta compilazione con gcc3.X e gcc2.X
Supporto aggiunto per Mandrake9.0 e Redhat8.0
Supporto nForce2 per driver di rete