NVIDIA nForce Linux-Treiber
- Dieses Inhaltsverzeichnis
- Überblick
- Verfügbarkeit des Treiberpakets
- Mindestvoraussetzungen
- Lizenzierung
- Inhalt des Installationspakets
- Funktion des Installationspakets
- Installation
- Konfiguration
- Laden der Treiber
- Modulparameter
- Audiobedienfeld
- Fehlerbehebung
- FAQs (Häufig gestellte Fragen)
- Danksagungen
- Änderungsliste
Der nForce-Chipsatz enthält eine Reihe von Hardwaregeräten, die unter Linux eingesetzt werden können. Dazu gehören ein Netzwerkgerät (MAC), Audiohardware, Speichercontroller (IDE/SATA) und OHCI/EHCI USB-Controller. Bei vielen Komponenten des nForce-Chipsatzes werden Schnittstellen nach Industriestandard verwendet. Daher sind nicht für alle Komponenten angepasste Treiber erforderlich. Sie können ohne angepasste Treiber unter Linux verwendet werden.
Fehlerberichte und Fragen zur Installation richten Sie bitte an:
linux-nforce-bugs@nvidia.com
Bevor Sie einen Fehlerbericht einreichen, lesen Sie bitte zunächst die Abschnitte Fehlerbehebung und FAQs (Häufig gestellte Fragen) sowie die Liste der bekannten Probleme für die von Ihnen verwendete Treiberversion. Eventuell ist das von Ihnen beobachtete Problem dort bereits beschrieben. Diese Materialien finden Sie auf der NVIDIA Website oder der Versionsseite der jeweiligen Treiberversion.
Bei Fehlerberichten schicken Sie bitte die Datei nforce-bug-report.log mit, die Sie erzeugen können, indem Sie nforce-bug-report.sh ausführen.
Das Treiberpaket steht auf der folgenden NVIDIA Website zur Verfügung:
http://www.nvidia.de/view.asp?PAGE=drivers
Wir empfehlen Ihnen dringend, für Ihre nForce-Hardware nur Software von dieser Website oder aus einer vertrauenswürdigen Linux-Distribution zu verwenden.
Zurzeit erfordern die nForce-Treiber einen Kernel der Serie 2.4 oder 2.6 auf einem System mit 32- oder 64-Bit-Hauptprozessor von AMD.
Der NVIDIA Audiotreiber ist ein OSS-Treiber, der Kernel muss also OSS-Soundunterstützung bieten. Das NVIDIA Audiobedienfeld ist Qt-basiert und benötigt daher die Qt-Laufzeitbibliotheken.
Die von NVIDIA zur Verfügung gestellten Netzwerk- und Audiotreiber unterliegen der NVIDIA-Softwarelizenz. Diese Lizenz steht auf der NVIDIA-Website zur Verfügung und ist im Paket enthalten. Durch die Verwendung dieser Software erklären Sie sich mit den Bestimmungen der Lizenz einverstanden.
Das Paket enthält Folgendes:
- Diese Installationsanleitung
- Die NVIDIA-Lizenz für die Netzwerktreibersoftware
- Fertig kompilierte Kernelbibliothek für den nForce-Audiotreiber
- Fertig kompilierte Kernelbibliothek für den nForce-Netzwerktreiber
- Audio-Bedienfeld (als fertige Binärdatei)
- Fertig kompilierte Kernelschnittstellen-Binärdateien für alle wichtigen Distributionen
- Quellcode für die Kernelschnittstelle des Audiotreibers
- Quellcode für die Kernelschnittstelle des Netzwerktreibers
Das Installationspaket bereitet einen Netzwerktreiber und einen Audiotreiber vor und kopiert diese dann in den passenden Pfad für ladefähige Kernelmodule. Diese Netzwerk- und Audiotreiber sind von NVIDIA entwickelt. Wenn der Audiotreiber installiert wird, wird automatisch auch das Audio-Bedienfeld installiert.
Das selbstentpackende Installationspaket bereitet automatisch die Treiber vor und installiert sie passend in der Modulhierarchie des verwendeten Kernels. Bitte beachten Sie, dass es sowohl in einer 32-Bit-Version als auch in einer 64-Bit-Version vorliegt. Die 64-Bit-Version ist für x86_64-Kernel vorgesehen. An der Ausgabe des Befehls uname -m
können Sie sehen, welches System auf Ihrem Rechner läuft. Wenn in der Ausgabe x86_64
gemeldet wird, verwenden Sie einen 64-Bit-Kernel und sollten daher das 64-Bit-Installationspaket verwenden.
Zur Installation des Treibers melden Sie sich einfach als root an und führen dann in einer Shell die Installations-Binärdatei aus. Anschließend befolgen sie die angezeigten Anweisungen.
Der .run-Datei können Sie eine Reihe von Befehlszeilenoptionen übergeben. Einige der geläufigeren Optionen sind hier beschrieben:
--info
Gibt eingebettete Informationen zur .run-Datei aus und beendet die Ausführung dann.
--check
Prüft die Integrität des Archivs und beendet die Ausführung dann.
--extract-only
Entpackt den Inhalt der .run-Datei, startet 'nforce-installer' jedoch nicht.
--help
Gibt Informationen zur Verwendung der wichtigsten Befehlszeilenoptionen aus und beendet die Ausführung dann.
--advanced-options
Gibt zusätzlich Informationen zur Verwendung der erweiterten Befehlszeilenoptionen aus und beendet die Ausführung dann.
Wenn eine passende ncurses-Bibliothek gefunden werden kann, verwendet das Installationsprogramm eine ncurses-basierte Oberfläche. Anderenfalls zeigt es eine einfache interaktive Textoberfläche an. Wenn Sie das Installationsprogramm ohne die ncurses-Oberfläche ausführen möchten, können Sie die Option "--ui=none" verwenden.
Das Installationspaket enthält fertig kompilierte Binärtreiber für alle wichtigen Linux-Distributionen. Wenn Sie einen Kernel verwenden, für den kein vorkompilierter Treiber enthalten ist, versucht das Installationsprogramm automatisch, einen passenden Treiber zu erzeugen. In diesem Falle müssen die Kernelquellen für den betreffenden Kernel installiert sein.
Sie können auch die BIOS-Konfiguration auf Ihrem System überprüfen, um sicherzustellen, dass die Audio- und Netzwerkgeräte erkannt werden. Erläuterungen dazu finden Sie im Abschnitt "System-BIOS-Konfiguration" unter "Fehlerbehebung".
Achtung: Wenn Sie den Netzwerktreiber aktualisieren möchten, müssen Sie zunächst das NVIDIA-Netzwerkgerät deaktivieren, bevor Sie das Installationsprogramm starten. Anderenfalls wird für dieses Gerät ein Modul erkannt, was dazu führt, dass der Netzwerktreiber nicht korrekt installiert werden kann.
Konfiguration
Das Installationsprogramm nimmt keine Änderungen an den Konfigurationsdateien vor. Um das System so zu konfigurieren, dass die neu installierten Treiber verwendet werden, bedienen Sie sich bitte der integrierten Netzwerk- und Audio-Konfigurationsmechanismen Ihrer Linux-Distribution. Alternativ können Sie die Konfigurationsdateien von Hand bearbeiten.
Speicherort der Modulkonfigurationsdateien
Die Modulkonfigurationsdateien unterscheiden sich zwischen Kernelversionen der Serien 2.4 und 2.6. Darüber hinaus kann sich die Vorgehensweise bei der Modulkonfiguration je nach Linux-Distribution unterscheiden.
- Bei Distributionen mit einem Kernel der Serie 2.4 heißt die Modulkonfigurationsdatei in der Regel
/etc/modules.conf
.
- Bei Distributionen mit einem Kernel der Serie 2.6 heißt die Modulkonfigurationsdatei in der Regel
/etc/modprobe.conf
. Bei einigen Distributionen ist darüber hinaus ein Unterverzeichnis /etc/modprobe.d/
vorhanden, in dem spezifische Konfigurationsdateien für Soundmodule usw. abgelegt werden.
Konfiguration des Netzwerktreibers
SuSE
Unter SuSE Linux Enterprise Server 9 können Sie den Netzwerktreiber mithilfe von YaST konfigurieren. Starten Sie die YaST-Oberfläche und wählen Sie dort "Netzwerkgeräte" und anschließend "Netzwerkkarte". Nun sollte ein Dialogfeld zur Netzwerkkarten-Konfiguration erscheinen.
Wählen Sie "Andere" (nicht erkannt) und klicken Sie auf "Konfigurieren". Setzen Sie im Abschnitt "Kernelmodul" den Modulnamen auf "nvnet" und klicken Sie auf "Weiter". Konfigurieren Sie die Schnittstellenparameter je nach Bedarf. Kehren Sie dann mit "Weiter" zur Kartenkonfiguration zurück und wählen Sie dort "Fertig stellen".
Red Hat
Unter Red Hat Enterprise Linux Version 3, Red Hat 8, Red Hat 9 und Fedora Core 1 bearbeiten Sie die Konfigurationsdatei /etc/modules.conf
gemäß der Anleitung im Abschnitt Sonstige Distributionen. Anschließend können Sie die Parameter der Netzwerkschnittstelle mit dem Tool "Network Configuration" (Netzwerkkonfiguration) im Menü "System Settings" (Systemeinstellungen) konfigurieren. Sie können das Konfigurationstool auch direkt mit dem Befehl "neat" starten.
Unter Fedora Core 2 bearbeiten Sie die Konfigurationsdatei /etc/modprobe.conf
gemäß der Anleitung im Abschnitt Sonstige Distributionen. Anschließend können Sie die Parameter der Netzwerkschnittstelle mit dem Tool "Network Configuration" (Netzwerkkonfiguration) im Menü "System Settings" (Systemeinstellungen) konfigurieren. Sie können das Konfigurationstool auch direkt mit dem Befehl "neat" starten.
Mandrake
Unter Mandrake 10 konfigurieren Sie den Netzwerktreiber über das Mandrake Control Center (Befehl: mcc
). Wählen Sie "Network & Internet" (Netzwerk und Internet) und wählen Sie "New Connection" (Neue Verbindung). Wählen Sie "LAN Connection" (LAN-Verbindung), dann "Next" (Weiter) und "Manual Choice" (Manuelle Auswahl). Wählen Sie in der Liste der verfügbaren Netzwerktreiber den Eintrag "nvnet" aus und klicken Sie auf "Next". Wählen Sie "autoprobe" (automatische Abfrage). Nun wird der Treiber konfiguriert und es wird eine neue Schnittstelle angelegt. Diese können Sie anschließend auswählen, um die IP-Adresse usw. einzurichten.
Unter früheren Mandrake-Distributionen bearbeiten Sie zunächst die Konfigurationsdatei /etc/modules.conf
gemäß der Anleitung im Abschnitt Sonstige Distributionen. Anschließend können Sie im Mandrake Control Center für die auf nvnet basierende Schnittstelle die IP-Adresse und die sonstigen relevanten Einstellungen einrichten.
Sonstige Distributionen
Wenn Ihre Distribution einen eigenen Konfigurationsmechanismus für die Netzwerktreiber anbietet, können Sie dort das Treibermodul nvnet für die im nForce-Chip integrierte Ethernet-Schnittstelle auswählen und die nötigen Netzwerkparameter (IP-Adresse usw.) einrichten. Anderenfalls müssen Sie die Modulkonfigurationsdatei von Hand bearbeiten.
Wenn diese Datei bereits einen Eintrag für den forcedeth-Treiber (ein Open-Source-Netzwerktreiber für den nForce-Netzwerkcontroller) enthält, müssen Sie diesen Eintrag entfernen oder mit #
auskommentieren:
# alias eth0 forcedeth
Fügen Sie die folgende Zeile in die Konfigurationsdatei ein:
alias eth0 nvnet
Wenn Ihr System über mehrere Ethernet-Schnittstellen verfügt, müssen Sie "eth0" eventuell in "eth1" (oder einen entsprechend höheren Index) abändern.
Konfiguration des Audiotreibers
SuSE
Unter SuSE Linux Enterprise Server 9 war es zum Redaktionsschluss nicht möglich, den Audiotreiber nvsound mit YaST zu konfigurieren. Sie müssen in diesem Fall die Konfigurationsdatei /etc/modprobe.d/sound
gemäß der Anleitung im Abschnitt Sonstige Distributionen bearbeiten.
Red Hat
Unter Red Hat Enterprise Linux Version 3, Red Hat 8, Red Hat 9 und Fedora Core 1 bearbeiten Sie die Konfigurationsdatei /etc/modules.conf
gemäß der Anleitung im Abschnitt Sonstige Distributionen.
Unter Fedora Core 2 bearbeiten Sie die Konfigurationsdatei /etc/modprobe.conf
gemäß der Anleitung im Abschnitt Sonstige Distributionen.
Mandrake
Zum Redaktionsschluss war es nicht möglich, den Audiotreiber nvsound über das Mandrake Control Center zu konfigurieren.
Sie müssen daher die Konfigurationsdatei wie im Abschnitt Sonstige Distributionen beschrieben von Hand bearbeiten. Unter Mandrake 10 und anderen Mandrake-Distributionen mit 2.6-Kernel heißt die Konfigurationsdatei /etc/modprobe.conf
. Unter früheren Distributionen mit 2.4-Kernel heißt sie /etc/modules.conf
.
Sonstige Distributionen
Wenn Ihre Distribution einen eigenen Konfigurationsmechanismus für die Audiotreiber anbietet, können Sie dort das Treibermodul nvsound für die im nForce-Chip integrierte Audioschnittstelle auswählen. Anderenfalls müssen Sie die Modulkonfigurationsdatei von Hand bearbeiten.
Wenn diese Datei bereits einen Eintrag für einen der Treiber i810_audio, snd-intel8x0 oder nvaudio (Open-Source-Audiotreiber für den nForce-Audiocontroller) enthält, müssen Sie diesen Eintrag entfernen oder mit #
auskommentieren:
# alias sound-slot-0 i810_audio
Fügen Sie die folgende Zeile in die Konfigurationsdatei ein:
alias sound-slot-0 nvsound
Bei einigen Distributionen müssen Sie unter Umständen sound-slot-0
durch snd-card-0
ersetzen.
Wenn Sie möchten, dass die nvmixer-Audioeinstellungen beim Laden des nvsound-Treibers automatisch wiederhergestellt werden, so können Sie dies in der Kernel-Konfigurationsdatei einrichten. Bei einem 2.4-Kernel fügen Sie folgende Zeilen in die Datei ein:
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 ||:
Bei einem 2.6-Kernel fügen Sie folgende Einträge ein:
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
Bei Kernels beider Serien (2.4 und 2.6) sollten Sie außerdem noch der Datei /etc/rc.d/init.d/halt
(bzw. bei SuSE-Distributionen /etc/init.d/halt.local
) die folgenden Einträge hinzufügen:
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
Bei Red Hat Enterprise Linux 4 und Fedora Core 3 fügen Sie die folgende Zeile in /etc/rc.local
ein:
/usr/bin/nvmix-reg -f /etc/nvmixrc -L >/dev/null 2>&1
Laden der Treiber
Ob die neuen Module nach der Installation direkt geladen sind, hängt von der vorhandenen Konfiguration ab. Mit insmod bzw. modprobe können Sie das Laden der Module erzwingen:
insmod <Modulname>
bzw.
modprobe <Modulname>
Ab dem nächsten Neustart sollten die Module automatisch geladen werden.
Modulparameter
Das Laufzeitverhalten der NVIDIA-Treiber lässt sich über eine Reihe von Modulparametern steuern. Modulparameter können entweder beim Laden des Moduls in der Befehlszeile oder in der Modulkonfigurationsdatei (z. B. /etc/modules.conf) festgelegt werden. Wenn Sie zum Beispiel erreichen wollen, dass der nForce-Ethernet-Treiber im Durchsatzoptimierungsmodus arbeitet, geben Sie Folgendes in die Modulkonfigurationsdatei ein:
options nvnet optimization=1
Wenn Sie das Modul manuell über die Befehlzeile laden, geben Sie Folgendes ein:
modprobe nvnet optimization=1
Die Modulparameter für den Ethernet-Treiber können Sie mit dem folgenden Befehl überprüfen:
modinfo -p nvnet
Es folgt eine Beschreibung aller verfügbarer Modulparameter.
nvnet-Modulparameter
Der nForce-Netzwerktreiber unterstützt folgende optionale Parameter:
- hwmode (Hardware-Offload-Modus)
- optimization (Optimierung)
- autonegotiate (Negotiation-Modus)
- force_speed_duplex (Geschwindigkeit und Duplexmodus)
- media (Medium)
- max_tx_packets (Maximalwert für TX-Pakete)
- max_rx_packets (Maximalwert für RX-Pakete)
- MTU
- poll_interval_in_us (Abfrageintervall)
- seg_offload (Segmentierungs-Offload)
- tx_checksum_offload (TX-Prüfsummen-Offload)
- rx_checksum_offload (RX-Prüfsummen-Offload)
hwmode (Hardware-Offload-Modus)
Dieser Parameter regelt den Hardware-Offload-Modus. Der nForce-Netzwerktreiber unterstützt zwei Hardware-Offload-Modi:
- hwmode=1 - aus
- hwmode=2 - ein
Bei aktiviertem Hardware-Offload-Modus sind die TX-/RX-Prüfsummen- und Segmentierungs-Offloads aktiv. Als Medium wird RGMII (Reduced Gigabit Media Independent Interface) verwendet, und der MTU-Wert kann individuell eingestellt werden. Bei ausgeschaltetem Hardware-Offload-Modus werden die genannten Offloads nicht verwendet. Als Medium wird MII (Media Independent Interface) verwendet. Der MTU-Parameter wird ignoriert.
Die Standardeinstellung für diesen Parameter hängt vom Netzwerkcontroller ab. Sie können die gewünschte Einstellung für den Hardware-Offload-Modus festlegen, indem Sie den Modulparameter "hwmode" angeben.
optimization (Optimierung)
Der nForce-Netzwerktreiber unterstützt zwei Optimierungsmodi:
- optimization=0 - Durchsatzoptimierung
- optimization=1 - CPU-Optimierung
Der CPU-Optimierungsmodus reduziert die CPU-Belastung mithilfe einer Interrupt-Moderation.
Bei der Durchsatzoptimierung wird der Durchsatz maximiert. Bei diesem Modus ist die CPU-Belastung höher.
Standardmäßig läuft der Treiber im Durchsatzoptimierungsmodus. Sie können den gewünschten Optimierungsmodus festlegen, indem Sie den Modulparameter "optimization" angeben.
autonegotiate (Negotiation-Modus)
Der nForce-Netzwerktreiber unterstützt zwei Negotiation-Modi:
- autonegotiate=0 - Auto-Negotiation deaktiviert
- autonegotiate=1 - Auto-Negotiation aktiviert
Bei aktivierter Auto-Negotiation ermittelt der Controller automatisch die optimale Geschwindigkeit und den passenden Duplexmodus. Bei deaktivierter Auto-Negotiation wird unabhängig von der Netzwerkumgebung immer die eingestellte Geschwindigkeit und der eingestellte Duplexmodus verwendet.
Standardmäßig ist die Auto-Negotiation aktiviert (autonegotiate = 1).
force_speed_duplex (Geschwindigkeit und Duplexmodus)
Sie können Schnittstellengeschwindigkeit und Duplexmodus des Ethernet-Controllers festlegen, indem Sie den Modulparameter "force_speed_duplex" angeben. Es werden folgende Werte unterstützt:
- force_speed_duplex=0 - Auto-Negotiation (Duplexmodus und optimale Geschwindigkeit werden automatisch ermittelt)
- force_speed_duplex=1 - 10 Mbps, Halbduplex
- force_speed_duplex=2 - 10 Mbps, Vollduplex
- force_speed_duplex=3 - 100 Mbps, Halbduplex
- force_speed_duplex=4 - 100 Mbps, Vollduplex
- force_speed_duplex=5 - Auto-Negotiation mit 10 Mbps, Halbduplex
- force_speed_duplex=6 - Auto-Negotiation mit 10 Mbps, Vollduplex
- force_speed_duplex=7 - Auto-Negotiation mit 100 Mbps, Halbduplex
- force_speed_duplex=8 - Auto-Negotiation mit 100 Mbps, Vollduplex
- force_speed_duplex=9 - Auto-Negotiation mit 1000 Mbps, Vollduplex
Bei einem Parameterwert von 0 (Auto-Negotiation) stellt der Controller Geschwindigkeit und Duplexmodus automatisch optimal ein.
Bei Werten von 1 bis 4 hängt das Verhalten vom Modulparameter "autonegotiate" ab. Bei aktivierter Auto-Negotiation (autonegotiate = 1) versucht der Controller, Geschwindigkeit und Duplexmodus im Negotiation-Verfahren wie gewünscht einzustellen. Bei deaktivierter Auto-Negotiation wird unabhängig von der Netzwerkumgebung immer die eingestellte Geschwindigkeit und der eingestellte Duplexmodus verwendet.
Bei Werten von 5 bis 9 führt der Controller eine Auto-Negotiation mit dem Ziel durch, die jeweilige Geschwindigkeit und den Duplexmodus zu erreichen. In diesem Fall gilt der Modulparameter "autonegotiate" implizit als aktiviert.
Standardmäßig ist die Auto-Negotiation aktiv, d. h. der Controller ermittelt Geschwindigkeit und Duplexmodus automatisch optimal.
media (Medium)
Mit dem Modulparameter "media" können Sie das Schnittstellenmedium festlegen. Es werden folgende Werte unterstützt:
- media=0 - automatisch
- media=1 - RGMII
- media=2 - MII
Welche Einstellung standardmäßig aktiv ist, hängt davon ab, ob der Hardware-Offload-Modus aktiviert ist. Bei aktiviertem Hardware-Offload-Modus wird RGMII als Standard verwendet. Bei deaktiviertem Hardware-Offload-Modus wird hingegen MII als Standard verwendet.
max_tx_packets (Maximalwert für TX-Pakete)
Der Modulparameter "max_tx_packets" legt die maximale Anzahl ausstehender TX-Pakete (Sendepakete) fest. Zulässige Werte sind 32 bis einschließlich 1024. Standardmäßig sind 64 TX-Pakete eingestellt.
max_rx_packets (Maximalwert für RX-Pakete)
Der Modulparameter "max_rx_packets" legt die maximale Anzahl ausstehender RX-Pakete (Empfangspakete) fest. Zulässige Werte sind 32 bis einschließlich 1024. Standardmäßig sind 64 RX-Pakete eingestellt.
MTU
Der Modulparameter "mtu" regelt die MTU-Größe in Byte. Zulässige Werte sind 576 bis einschließlich 9202. Standardmäßig ist eine MTU von 1500 Byte eingestellt. Dieser Parameter ist nur relevant, wenn der Hardware-Offload-Modus aktiviert ist.
poll_interval_in_us (Abfrageintervall)
Der Modulparameter "poll_interval_in_us" legt das Abfrageintervall für Hardwareevents fest. Er ist ausschließlich für den CPU-Optimierungsmodus relevant. Ist der Durchsatzoptimierungsmodus aktiv, wird er ignoriert. Als Werte sind 0 bis 2000 Mikrosekunden möglich. Die Standardeinstellung ist 0.
seg_offload (Segmentierungs-Offload)
Der Segmentierungs-Offload kann im nForce-Netzwerktreiber wahlweise aktiviert oder deaktiviert werden:
- seg_offload=0 - deaktiviert
- seg_offload=1 - aktiviert
Bei hwmode=0 (deaktiviert) ist "seg_offload" standardmäßig auf 0 eingestellt (d. h. deaktiviert). Bei hwmode=1 (aktiviert) ist "seg_offload" standardmäßig auf 1 eingestellt (d. h. aktiviert).
tx_checksum_offload (TX-Prüfsummen-Offload)
Der TX-Prüfsummen-Offload kann im nForce-Netzwerktreiber wahlweise aktiviert oder deaktiviert werden:
- tx_checksum_offload=0 - deaktiviert
- tx_checksum_offload=1 - aktiviert
Bei hwmode=0 (deaktiviert) ist "tx_checksum_offload" standardmäßig auf 0 eingestellt (d. h. deaktiviert). Bei hwmode=1 (aktiviert) ist "tx_checksum_offload" standardmäßig auf 1 eingestellt (d. h. aktiviert).
rx_checksum_offload (RX-Prüfsummen-Offload)
Der RX-Prüfsummen-Offload kann im nForce-Netzwerktreiber wahlweise aktiviert oder deaktiviert werden:
- rx_checksum_offload=0 - deaktiviert
- rx_checksum_offload=1 - aktiviert
Bei hwmode=0 (deaktiviert) ist "rx_checksum_offload" standardmäßig auf 0 eingestellt (d. h. deaktiviert). Bei hwmode=1 (aktiviert) ist "rx_checksum_offload" standardmäßig auf 1 eingestellt (d. h. aktiviert).
nvsound-Modulparameter
Das Modul nvsound verfügt aktuell über keine Modulparameter.
Audiobedienfeld
Im Lieferumfeld des nForce-Audiotreibers ist jetzt ein Bedienfeld-Applet (nvmixer) enthalten, mit dem Sie die verschiedenen Funktionsmerkmale des Treibers einrichten können. Dazu gehören unter anderem:
- Lautsprechereinrichtung
- Master-Lautstärkeregelung
- Kanalweise Lautstärkeregelung / stumm
- Auswahl der Eingabequelle
- Ausgabesteuerung analog/digital
- SoundStorm Hardwaremixer
Einsatzweisen
Das Audiobedienfeld lässt sich über die Befehlszeile mit dem Befehl nvmixer aufrufen: erde% nvmixer
Benutzer, die von einem älteren NVIDIA Audiotreiber umsteigen, sollten beachten, dass das alte Bedienfeld nvaudio nicht mehr mit dem neuen Audiotreiber funktioniert.
Systemanforderungen
Die Anwendung nvmixer verwendet das GUI-Toolkit Qt. Die mit dieser Version ausgelieferte Binärversion von nvmixer wurde mit Qt Version 3.1 erstellt; für den Betrieb müssen daher die Qt 3.1 Laufzeitbibliotheken auf dem System installiert sein.
Ist dies nicht der Fall, so erscheint beim Versuch, nvmixer zu starten, aller Wahrscheinlichkeit nach die Fehlermeldung "relocation error: ... undefined symbol". In diesem Fall gibt es zwei Lösungsmöglichkeiten:
Dieser Abschnitt behandelt einige gängigere Probleme, die bei der Installation der nForce-Treiber unter Linux auftreten können. Sollten Sie auf Probleme stoßen, so lesen Sie bitte zunächst diesen Abschnitt, den Abschnitt FAQs (Häufig gestellte Fragen) sowie die Liste der bekannten Probleme für die von Ihnen verwendete Treiberversion. Eventuell ist das von Ihnen beobachtete Problem dort bereits beschrieben. Diese Materialien finden Sie auf der NVIDIA Website oder der Versionsseite der jeweiligen Treiberversion.
Bei Fehlerberichten schicken Sie bitte die Datei nforce-bug-report.log mit, die Sie erzeugen können, indem Sie nforce-bug-report.sh ausführen.
Fehlerberichte und Fragen zur Installation richten Sie bitte an:
linux-nforce-bugs@nvidia.com
Da Audio- und Netzwerktreiber auf dem nForce-Chipset arbeiten, werden diese Geräte zusammen mit den anderen Geräten auf der Systemplatine vom System-BIOS gesteuert. Wenn die installierten Treiber die Hardware auf dem System nicht erkennen, kann dies an der Plug-and-Play-Konfiguration des System-BIOS liegen. Wenn das System-BIOS erwartet, dass das Betriebssystem Hardwaregeräte konfiguriert, der Linux-Kernel eine Konfiguration nach dem ACPI-Prinzip jedoch nicht unterstützt, müssen Sie die BIOS-Einstellungen ändern. Dasselbe gilt, wenn die Audio- oder Netzwerkkomponente im BIOS deaktiviert ist.
Wenn Sie ein Award-System-BIOS anzeigen oder ändern wollen, starten Sie das System neu und drücken die Taste ENTF. Wenn ein Konfigurationsbildschirm angezeigt wird, wählen Sie dort "PnP/PCI Configurations". Wenn bei "PNP OS Installed []" die Option "Yes" ausgewählt ist, ändern Sie dies in "No".
Bei einem Phoenix-BIOS drücken Sie F2 anstelle von ENTF und blättern durch die Menüs, bis Sie den Betriebssystemtyp (OS Type) finden. Wählen Sie "Other". Die Einzelheiten der System-BIOS-Konfiguration variieren je nach BIOS-Hersteller. Die Bildschirme sind daher nicht immer gleich.
WARNUNG: Bevor Sie BIOS-Einstellungen ändern, notieren Sie sich unbedingt die ursprüngliche Konfiguration. Änderungen an der System-BIOS-Konfiguration können sich negativ auf den Systembetrieb auswirken und sogar dazu führen, dass das System nicht mehr bootet.
- F: Wenn ich zu generieren versuche, bekomme ich eine Meldung, dass ich nie versuchen sollte, System-Header zu verwenden. Was ist los?
A: Sie müssen die Quelldateien für Ihren Kernel installieren. Bitte laden Sie das geeigneten Kernelquellpaket für Ihren Kernel herunter und installieren Sie es.
-
F: Wie kann ich herausfinden, ob meine Kernelquelldateien installiert sind?
A: Wenn Sie eine Distribution benutzen, bei der der RPM verwendet wird (RedHat, Mandrake, SuSE usw.), können Sie dies mithilfe des RPM herausfinden. Geben Sie in einer Shell Folgendes ein:
example% rpm -qa | grep kernel
Achten Sie dann auf die Befehlsausgabe. Darin sollte ein Paket aufgelistet werden, das Ihrem Kernel entspricht (oft mit einem Namen wie zum Beispiel "kernel-2.4.18-3"), und dazu ein Kernelquellpaket mit der gleichen Version (oft mit einem Namen wie zum Beispiel "kernel-source-2.4.18-3"). Wenn keine der Zeilen einem der Quellpakete entsprechen, müssen Sie das Kernelquellpaket wahrscheinlich installieren. Wenn die aufgelisteten Versionen nicht übereinstimmen (Beispiel: kernel-2.4.18-10, aber kernel-source-2.4.18-3), dann müssen Sie das Kernelquellpaket aktualisieren, so dass es dem installierten Kernel entspricht. Wenn mehrere Kernel installiert sind, müssen Sie das Kernelquellpaket installieren, das dem laufenden Kernel entspricht (oder dafür sorgen, dass das installierte Quellpaket dem laufenden Kernel entspricht). Dazu können Sie sich die Ausgabe des Befehls "uname -r" ansehen und prüfen, ob die Versionen übereinstimmen.
- F: Nach einem Kernel-Upgrade lässt sich das NVIDIA-Kernelmodul nicht mehr laden. Was ist los?
A: Die Kernelschnittstellenschicht des NVIDIA-Kernelmoduls muss eigens für die von Ihnen eingesetzte Kernelkonfiguration und -version kompiliert werden. Wenn Sie ein Kernel-Upgrade durchgeführt haben, können Sie das Problem am einfachsten beheben, indem Sie den Treiber neu installieren.
FÜR FORTGESCHRITTENE: Sie können das NVIDIA-Kernelmodul auch für einen noch nicht aktiven Kernel installieren, z. B. wenn Sie gerade eine neue Kernel-Build erstellt und den Kernel installiert haben, das System jedoch noch nicht neu gebootet haben. Verwenden Sie hierzu die Befehlszeilenoption --kernel-name='KERNEL_NAME'. 'KERNEL_NAME' wäre hierbei der Kernelname, den 'uname -r' ausgäbe, wenn der gewünschte Kernel ausgeführt würde.
- F: nforce-installer funktioniert auf meinem Rechner nicht. Wie kann ich den Treiber aus der .run-Datei installieren?
A: Um den NVIDIA-Treiber in der .run-Datei ohne nforce-installer zu installieren, können Sie die enthaltene Makefile verwenden. Hierfür müssen Sie zunächst die .run-Datei mit der Befehlszeilenoption --extract-only entpacken. Die Makefile für den Audiotreiber befindet sich im Verzeichnis nvsound/main der entpackten .run-Datei, die Makefile für den Netzwerktreiber im Verzeichnis nvnet. Diese Installationsmethode wird nicht empfohlen und quasi nur als "ultima ratio" angeboten, falls nvidia-installer auf Ihrem System nicht korrekt funktioniert.
- F: Ich habe mehrere Kernelversionen auf meinem System installiert. Wenn ich nun das NVIDIA Installationspaket unter einem der Kernels ausführe, entfernt es Module, die ich vorher für einen der anderen Kernels installiert habe. Wie lässt sich dies verhindern?
A: Dies lässt sich vermeiden, indem Sie ab der zweiten Installation die Option --kernel-module-only des Installationspakets verwenden. Mit dieser Option wird nur das Kernelmodul (d. h. ohne Dokumentation usw.) installiert und es werden keine zuvor installierten Treibermodule entfernt.
- F: Ich habe den nvsound-Treiber installiert, aber xmms scheint bei der Wiedergabe von Sounddateien keine Audioausgabe zu erzeugen.
A: nvsound ist ein OSS-Treiber, also muss xmms so konfiguriert sein, dass das OSS-Ausgabe-Plugin verwendet wird. Die diesbezüglichen Einstellungen von xmms finden Sie im Menü Options/Preferences (Optionen/Einstellungen).
- F: Wenn ich versuche, nvmixer aufzurufen, bekomme ich die Fehlermeldung "relocation error: ... undefined symbol" und nvmixer startet nicht. Was ist los?
A: Vermutlich sind die von nvmixer benötigten Qt-Laufzeitbibliotheken nicht auf dem System installiert. Lösungsmöglichkeiten finden Sie im Abschnitt Systemanforderungen.
-
F: Wenn nvsound geladen ist und ich KDE starte, erscheint die Fehlermeldung "Sound server fatal error: AudioSubSystem::handleIO: write failed len=-1, can_write=1024, errno=11 (Resource temporarily unavailable)".
A: Öffnen Sie das KDE Kontrollzentrum (über die Menüs oder den Befehl kcontrol
). Wählen Sie "Sound & Multimedia" und anschließend "Sound System". Öffnen Sie die Registerkarte "Hardware" und wählen Sie in der Liste "Select the audio device" (Audiogerät auswählen) den Eintrag "Threaded Open Sound System". Klicken Sie auf "Apply" (Übernehmen) und schließen Sie das Kontrollzentrum. Die Fehlermeldung vom Sound-Server sollte nun nicht mehr erscheinen.
Für den Netzwerktreiber nvnet gibt es momentan keine Informationen zur Fehlerbehebung.
Fragen zum Installationspaket
- F: Warum bietet NVIDIA keine rpm-Pakete mehr an?
A: Einige Linux-Distributionen verwenden keine rpm-Pakete, NVIDIA wollte jedoch eine einheitliche Lösung für alle Linux-Distributionen anbieten. Wie in der NVIDIA-Softwarelizenz angegeben können die einzelnen Linux-Distributionen den NVIDIA-Linux-Treiber gerne nach Belieben in ein anderes Paketformat packen und weitergeben.
- F: Wie entpacke ich den Inhalt der .run-Datei, ohne den Treiber tatsächlich zu installieren?
A: Führen Sie das Installationsprogramm mit der Befehlszeilenoption --extract-only aus. So wird ein Verzeichnis angelegt, das den entpackten Inhalt der .run-Datei enthält.
- F: Wie kann ich auf den Quelltext für die Kernelschnittstellenschicht zugreifen?
A: Die Quelldateien für die Kernelschnittstellenschicht des Audiotreibers befinden sich im Verzeichnis nvsound/main der entpackten .run-Datei. Die Quelldateien für die Kernelschnittstellenschicht des Netzwerktreibers befinden sich im Verzeichnis nvnet der entpackten .run-Datei.
- F: Kann ich eine .run-Datei mit meinen eigenen vorkompilierten Kernelschnittstellen erweitern?
A: Ja, dies ist über die Option "--add-this-kernel" der .run-Datei möglich. Mit dieser Option wird die .run-Datei entpackt, eine vorkompilierte Kernelschnittstelle für den gerade ausgeführten Kernel erstellt und eine neue .run-Paketdatei mit dieser Kernelschnittstelle erzeugt. An den Namen dieser neuen Datei wird die Endung "-custom" angehängt. Diese Option kann beispielsweise hilfreich sein, wenn Sie für die Administration mehrerer Rechner mit demselben Linux-Kernel verantwortlich sind.
- F: Wo finde ich den Quelltext für das Hilfsprogramm nforce-installer?
A: Das für die Installation der nForce-Treiber verwendete Hilfsprogramm nforce-installer basiert im Wesentlichen auf nvidia-installer, dem Hilfsprogramm zur Installation der NVIDIA-Grafiktreiber. nvidia-installer wird unter der GPL veröffentlicht. Die aktuellsten Quellen sind unter folgender Adresse verfügbar:
ftp://download.nvidia.com/XFree86/nvidia-installer/
Fragen zum Treiber
- F: Meine IDE-Festplatte läuft sehr langsam. Wie kann ich den DMA-Modus aktivieren?
A: Zu Kernel 2.4.21pre3-ac1 gibt es ein Kernel-Patch, das den DMA-Modus beim nForce2-IDE-Controller ermöglicht. Dieses Patch sollte im ersten freigegebenen Release des Kernels 2.4.21 zur Verfügung stehen. Eine Alternative zum Kernel-Upgrade ist das Dienstprogramm "hdparm", mit dem Sie den DMA-Modus für Ihre Festplatte ebenfalls aktivieren können. Beispiel:
example% su
Password: ******
example# hdparm -d 1 /dev/hdX
Dabei ist /dev/hdX das IDE-Gerät, für das Sie DMA aktivieren wollen. Sie müssen dieses Verfahren bei jedem Neustart ausführen oder die Befehlsfolge in ein rc-Skript einfügen. In einigen Distributionen gibt es die Datei "/etc/sysconfig/harddisks", in der Sie die Aktivierung des DMA-Modus für alle Festplatten beim Booten des Systems festlegen können.
- F: Stellt NVIDIA einen Linux-Treiber für USB- und USB 2.0-Geräte zur Verfügung?
A: USB- und USB 2.0-Geräte verwenden OHCI- und EHCI-Schnittstellen nach Industriestandard und können daher mit den Linux-USB-Standardtreibern eingesetzt werden.
- F: Ich habe den nForce-Treiber neu generiert, aber wenn ich versuche, ihn einzufügen, bekomme ich die Nachricht, dass "unresolved symbols" vorliegen.
A. Nicht aufgelöste Symbole ("unresolved symbols") gehen oftmals auf Abweichungen zwischen den Kernelquelldateien und dem laufenden Kernel zurück. Beide müssen aber übereinstimmen, damit die nForce-Treibermodule korrekt generiert werden können. Bitte sorgen Sie dafür, dass Ihre Kernelquelldateien so installiert und konfiguriert sind, dass sie mit dem laufenden Kernel übereinstimmen.
- F: Gibt es von NVIDIA einen Linux-Treiber für 1394-Unterstützung (FireWire) auf nForce2-Chipsets?
A: Der Linux-Treiber 1394 unterstützt den nForce2-1394-Controller ab Kernelversion 2.4.21.
- F: Wird der nForce3 IDE-Controller unter Linux unterstützt?
A: Der nForce3 IDE-Controller wird ab Kernelversion 2.4.23 unterstützt.
- F: Gibt es Open-Source-Netzwerktreiber und -Audiotreiber für nForce-Hardware?
A: Für die Audiofunktionen kann auch der Audiotreiber i810 verwendet werden. Bei den Netzwerkfunktionen hängt die Antwort von der verwendeten Kernelversion ab. Einige Kernelversionen verfügen über einen Treiber namens forcedeth. Ältere Versionen dieses Treibers unterstützen ausschließlich nForce2-Chipsätze, während neuere Versionen auch nForce3-Chipsätze mit Gigabit Ethernet unterstützen.
- F: Bei den Linux-Distributionen etabliert sich ALSA gegenwärtig als Standardarchitektur für Soundtreiber. nvsound ist jedoch ein OSS-Treiber. Warum bietet NVIDIA keinen ALSA-Treiber an?
A: Bei der Entwicklung des nvsound-Treibers lag die Priorität darauf, Unterstützung für nForce-Hardwarefunktionen zu bieten, die im alten nvaudio-Treiber nicht realisiert waren. NVIDIA beabsichtigt, auch einen ALSA-nForce-Treiber anzubieten, sobald es die Entwicklungskapazitäten zulassen.
Danksagungen
Das für die Installation der nForce-Treiber verwendete Hilfsprogramm nforce-installer basiert im Wesentlichen auf nvidia-installer, dem Hilfsprogramm zur Installation der NVIDIA-Grafiktreiber. nvidia-installer wurde durch das Tool loki_update inspiriert: http://www.lokigames.com/development/loki_update.php3.
Das selbstextrahierende Archiv (die ".run-Datei") wird mit makeself.sh erzeugt: http://www.megastep.org/makeself/.
Neuere Änderungen stehen am Listenanfang. Die Punkte kennzeichnen öffentliche Releases auf der NVIDIA Website.
- Unterstützung für Kernelversionen 2.6.10, 2.6.11 integriert
nvmixer-Einstellungen können beim Neustart automatisch wiederhergestellt werden
Kompatibilitätsprobleme zwischen nvsound und verschiedenen Anwendungen behoben
WOL-Unterstützung in nvnet korrigiert
Einige nvnet-Performanceprobleme behoben
- Vorkompilierte 64-Bit-Binärversionen für verschiedene Distributionen integriert
Unterstützung für Kernel-Installation mit separater Kernelquelle, Kernel-Objekthierarchien erzeugt
Problem in nvnet behoben (führte zum Absturz von rmmod auf Systemen mit mehreren Netzwerkschnittstellen)
Build-Problem mit nvnet auf Uniprozessor-Systemen mit aktiviertem Spinlock-Debugging behoben
Problem in nvsound behoben: Modul hängte sich auf einigen Distributionen auf, wenn APIC aktiviert war
Probleme in nvsound behoben: kein oder verzögerter Sound in bestimmten Spielen
- Neue Installationsmethode (selbstentpackendes Installationspaket statt RPM bzw. tarball)
Unterstützung für SoundStorm (mit Hardware-Mixer)
AC3 kann jetzt durchgeschleift werden
Unterstützung für Ethernet-Treiberstatistiken und Konfigurationsinfos via procfs
Neu: Unterstützung für 2.6-Kernels
Neues Audiobedienfeld ("nvmixer", löst "nvaudio" ab)
- Performanceproblem im Netzwerktreiber behoben, das zu Aussetzern bei der Soundwiedergabe führte
Unterstützung für nForce3-Plattformen
Neu: Unterstützung für x86-64 Architektur
Binär-RPMs für SuSE Enterprise Server 8 x86-64 integriert
Neues Bedienfeld zum Einstellen der Audioeigenschaften
Neue Merkmale im Soundtreiber: 6-Kanal-Ausgabe, Auswahl des Audio-Eingangs, Lautsprecherauswahl, kanalweise Lautstärkeregelung, Analog/Digitalfunktionalität
GART-Patch für Kernel 2.4.21
- Kernel-Patch zur Unterstützung von GART auf nForce hinzugefügt
Modulparameter "spdif_status" zum Audiotreiber hinzugefügt -- aktiviert oder deaktiviert zu Kompatibilitätszwecken die S/PDIF-Unterstützung
Fehler im Audiotreiber behoben -- auf einem MSI-MB auf nForce-Basis wurden nur 2 Kanäle genutzt
mmap-Fehler im Audiotreiber behoben -- Quake III hängte sich auf
Build-Problem mit remap_page_range() unter Red Hat Linux 9 behoben
Problem bei der Neuerstellung von SRPMs unter Red Hat Linux 9 behoben
Binär-RPMs für Red Hat Linux 9 und Mandrake Linux 9.1 hinzugefügt
- Problem mit Compiler-Argumenten zwischen gcc3.X und gcc2.X behoben
Installationsskript geändert: verwendet jetzt niedrigste verfügbare Nummer beim Nummerieren der Netzwerk- und Audiogeräte in modles.conf
Audiotreiber geändert in unabhängige Quelldatei auf der Basis des Treibers i810_audio
SPDIF-Unterstützung in Audiotreiber integriert
Aktualisierte Binärpakete für neueste Releases von RedHat-Kernels
Versionshinweise ergänzt durch FAQ-Abschnitt (häufig gestellte Fragen)
- Zusätzliche PCI-ID-Unterstützung für MCP2 für i810-Audiotreiber
Bestimmte Bereinigungsfunktionen für Spezifikationsdatei und Makefiles
SRPMs und tar-Dateien verwenden jetzt Datei i810_audio.c auf lokalem System und geben eine Meldung aus, falls diese nicht vorhanden ist (Ergebnis: größere Unabhängigkeit von Distribution)
- Codeänderung für fehlerfreie Kompilierung mit gcc3.X und gcc2.X
Zusätzliche Unterstützung für Mandrake 9.0 und RedHat 8.0
nForce2-Unterstützung für Netzwerktreiber