Contents

  1. These Contents
  2. Overview
  3. Package Availability
  4. Minimum Requirements
  5. Licensing
  6. What The Installer Contains
  7. What The Installer Does
  8. Installation
  9. Configuration
  10. Loading The Drivers
  11. Module Parameters 
  12. Audio Control Panel
  13. Troubleshooting
  14. Frequently Asked Questions (FAQ)
  15. Acknowledgments
  16. Change List

Overview

The nForce chipset contains a number of hardware devices that can be run under Linux; a network device (MAC), audio hardware, storage controllers (IDE and SATA), and OHCI/EHCI USB controllers. Many of the components of the nForce chipset use industry standard interfaces; thus, not all components require custom drivers to be used on Linux.

Bug reports and installation questions may be directed to:

linux-nforce-bugs@nvidia.com

Before submitting a bug report, please read the Troubleshooting and FAQ sections first, and review the Known Problems list for the driver version you are using. This can be found at NVIDIA's web site, on the release page for the driver version.

If you decide to submit a bug report, make sure to include nforce-bug-report.log in the bug report by running nforce-bug-report.sh.

Package Availability

This package can be found at the NVIDIA web site:

http://www.nvidia.com/content/drivers/drivers.asp

We strongly urge you to only use software obtained from this website or a trusted Linux distribution for your nForce hardware.

Minimum Requirements

At the current time, the nForce drivers require a 2.4 or 2.6 series kernel running on 32- or 64-bit AMD CPUs.

NVIDIA's audio driver is an OSS driver, and requires OSS sound support in the kernel. NVIDIA's audio control panel is a Qt-based application, and requires Qt run-time libraries in order to run.

Licensing

The network and audio driver provided by NVIDIA is subject to the NVIDIA software license; the license is available on the NVIDIA website, and is included in this package. By using this software, you are agreeing to the terms of the license.

What the Installer Contains

The package contains the following items:

  1. This Installation Guide
  2. The NVIDIA license for the network driver software
  3. Pre-built kernel library for the nForce audio driver
  4. Pre-built kernel library for the nForce network driver
  5. Audio control panel binary
  6. Pre-built kernel interface binaries for major distributions
  7. Source for the kernel interface portion of the audio driver
  8. Source for the kernel interface portion of the network driver

What the Installer Does

This installer will prepare a network driver and an audio driver, then place them in the appropriate locations for loadable kernel modules.  The network and audio drivers are from NVIDIA.  If the audio driver is installed, the installer will also install the audio control panel application.

Installation

Nvidia has provided a self-extracting installer that will prepare the drivers and install them into the appropriate location for your kernel's module tree.  Note that there is a 32-bit installer as well as a 64-bit installer.  The 64-bit installer is required for x86_64 kernels.  You can check what kind of machine you are currently running on by checking the output of uname -m. If the output reports x86_64, you are running a 64-bit kernel and should use the 64-bit installer.

To install the drivers, simply run the installer binary under a shell with root privileges, and follow the onscreen instructions.

The .run file accepts many command line options.  Here are a few of the more common options:

--info
Print embedded info about the .run file and exit.

--check
Check integrity of the archive and exit.

--extract-only
Extract the contents of the .run file, but do not run 'nforce-installer'.

--help
Print usage information for the common command line options and exit.

--advanced-options
Print usage information for the common command line options as well as the advanced options, and exit.

The installer will use an ncurses-based user interface if it can find the correct ncurses library.  Otherwise, it will fall back to a simple interactive text interface.  To disable use of the ncurses user interface, use the option '--ui=none'.

The installer contains pre-built drivers for major Linux distributions.  In the event that the installer cannot find a pre-built driver for your kernel, the installer will attempt to build the driver.  In this case, it is necessary to install the kernel source corresponding to the kernel for which the driver will be installed for.

You might want to check the BIOS configuration on your system to ensure that the audio and networking devices will be detected. See the System BIOS Configuration description in the Troubleshooting section.

NOTE that for network driver updates, you must first deactivate the NVIDIA network device prior to running the installer. Otherwise the module count for that device will not be zero and installation of network driver will fail.

Configuration

The installer does not update configuration files.  After installing the drivers, configure the system to use the drivers by using the distribution's built-in configuration mechanisms for networking and sound, or edit the required files manually.

Module Configuration File Location

Module configuration files are different for 2.4 and 2.6 series kernels. The various Linux distributions also differ in how they handle module configuration.

Configuring the network driver

SuSE

For SuSE Linux Enterprise Server 9, use YaST to configure the network driver. Start the YaST GUI, select "Network Devices", then select "Network Card". This should bring up the "Network cards configuration" dialog.

Select "Other (not detected)", then select the "Configure" button. In the "Kernel Module" section, set "Module Name" to "nvnet", then select the "Next" button. Configure the interface parameters as required, select the "Next" button to return to the card configuration dialog, and select "Finish".

Red Hat

For Red Hat Enterprise Linux version 3Red Hat 8, Red Hat 9 and Fedora Core 1, follow the instructions in other distributions to edit the configuration file /etc/modules.conf. Once this is done, configure the network interface parameters using the Network Configuration tool on the System Settings menu. The configuration tool can also be launched directly as "neat".

For Fedora Core 2, follow the instructions in other distributions to edit the configuration file /etc/modprobe.conf. Once this is done, configure the network interface parameters using the Network Configuration tool on the System Settings menu. The configuration tool can also be launched directly as "neat".

Mandrake

For Mandrake 10, use Mandrake Control Center (available via the mcc command) to configure the network driver. Select "Network & Internet", then select "New Connection". Select "LAN  Connection", select  "Next", then select "Manual Choice".  From the list of available network drivers, select "nvnet", then select "Next". and select "autoprobe". At this point, the driver will be configured and a new interface made availabe; select the newly-added interface to configure IP address settings, etc.

For earlier Mandrake distributions, follow the instructions in other distributions to edit the configuration file /etc/modules.conf. Once this is done, Mandrake Control Center can be used to configure IP address settings, etc., on the network interface supported by nvnet.

Other distributions

If the distribution you are using provides a configuration mechanism for network drivers, use it to select the nvnet driver module for use with the nForce ethernet device, and to set the networking parameters (IP address, etc.) for the interface. Otherwise, manually edit the module configuration file.

If your configuration file already contains an entry for the forcedeth driver (an open-source network driver that supports the nForce network controller), that entry needs to be commented out with a # or removed:

# alias eth0 forcedeth

 Add the following line to the configuration file:

alias eth0 nvnet

If your system has multiple ethernet interfaces, you may need to use 'eth1'  or higher in place of 'eth0'.

Configuring the audio driver

SuSE

For SuSE Linux Enterprise Server 9,  at the time of writing it isn't possible to use YaST to configure the nvsound audio driver. Following the instructions in other distributions to edit the configuration file /etc/modprobe.d/sound.

Red Hat

For Red Hat Enterprise Linux version 3Red Hat 8, Red Hat 9 and Fedora Core 1, follow the instructions in other distributions to edit the configuration file /etc/modules.conf.

For Fedora Core 2, follow the instructions in other distributions to edit the configuration file /etc/modprobe.conf.

Mandrake

At the time of writing, it isn't possible to use Mandrake Control Center to configure the nvsound audio driver.

Follow the instructions in other distributions to manually edit the configuration file. For Mandrake 10 or other Mandrake distributions running 2.6 kernels, the configuration file is  /etc/modprobe.conf. For earlier distributions that run 2.4 kernels, the configuration file is /etc/modules.conf.

Other distributions

If the distribution you are using provides a configuration mechanism for audio drivers, use it to select the nvsound driver module for use with the nForce audio device. Otherwise, manually edit the module configuration file.

If your configuration file already contains an entry for the i810_audio, snd-intel8x0, or nvaudio drivers (open-source audio drivers that supports the nForce audio controller), that entry needs to be commented out with a # or removed:

# alias sound-slot-0 i810_audio

Add the following line to the configuration file:

alias sound-slot-0 nvsound

On some distributions, you may need to replace sound-slot-0 with snd-card-0.

Loading The Drivers

The installer may or may not leave the new modules loaded after the installation, depending on the existing configuration. You can force the module to be loaded using insmod or modprobe :

insmod <modulename>

or

modprobe <modulename>

On subsequent reboots, the modules should load automatically.

Module Parameters

The run-time behavior of NVIDIA drivers may be configured by use of module parameters. These  can be specified either on the command line when loading the module, or in the module configuration file (such as /etc/modules.conf). For example, to have the nForce ethernet driver use throughput optimized mode, add the following to the module configuration file:

options nvnet optimization=1

Or if loading the module manually from the command line:

modprobe nvnet optimization=1

The module parameters for the ethernet driver can be verified using the command:

modinfo -p nvnet

The following sections contain descriptions of all driver module parameters.

nvnet Module Parameters

The nForce network driver supports the following optional parameters:
  1. hardware offload mode
  2. optimization
  3. negotiation mode
  4. speed and duplex
  5. media
  6. max TX packets
  7. max RX packets
  8. MTU
  9. poll interval
  10. segmentation offload
  11. TX checksum offload
  12. RX checksum offload

Hardware Offload Mode

This parameter controls the hardware offload mode.  The nForce network driver supports two hardware offload modes:
When hardware offload mode is on, TX checksum offload, RX checksum offload, segmentation offload, and RGMII (Reduced Gigabit Media Independent Interface) is used, and the MTU can be set to a non-default value.  When hardware offload mode is off, these offload modes are turned off and MII (Media Independent Interface) is used, and the MTU parameter is ignored.

The default hardware offload mode will depend on the network controller.  The hardware offload mode can be specified by supplying the module parameter "hwmode".

Optimization

The nForce network driver supports two optimization modes:
CPU optimization mode reduces the CPU utilization by using interrupt moderation.  

Throughput optimization mode maximizes the throughput.  This mode has higher CPU consumption.  

By default, the driver runs in throughput optimization mode.  The optimization mode can be specified by supplying the module parameter "optimization".

Negotiation Mode

The nForce network driver supports two negotiation modes:
When negotiation mode is enabled, the controller will negotiate for the desired speed and duplex.  If negotiation mode is disabled, the controller will force the speed and duplex setting without negotiation.

By default, autonegotiate is enabled.

Speed and Duplex

The "force_speed_duplex" module parameter can be used set the interface speed and duplex of the ethernet controller.  The following values are supported:
If a value of 0 (autonegotiate) is used, the controller will negotiate for the optimum speed and duplex.

If a value between 1 and 4, inclusive, is set for this parameter, then negotiation behavior will depend on the value of the autonegotiate module parameter.  If autonegotiate is enabled, the controller will negotiate for the desired speed and duplex.  If autonegotiate is disabled, the controller will set the speed and duplex of the controller without negotiation.

If a value between 5 and 9, inclusive, is set for this parameter, then the controller will negotiate for the desired speed and duplex.  In this case, the autonegotiate module parameter is implicitly enabled.

By default, the controller will autonegotiate for the optimum speed and duplex.

Media

The "media" module parameter can be used to specify the interface media.  This module parameter supports the following values:
The default value of this parameter depends on whether hardware offload mode is enabled or disabled.  If hardware offload mode is enabled, RGMII is the default.  If hardware offload mode is disabled, MII is the default.

Max TX packets

The "max_tx_packets" module parameter controls the maximum number of outstanding TX (transmit) packets.  This parameter takes a value between 32 and 1024, inclusive.  By default, 64 maximum TX packets will be used.

Max RX packets

The "max_rx_packets" module parameter controls the maximum number of outstanding RX (receive) packets.  This parameter takes a value between 32 and 1024, inclusive.  By default, 64 maximum RX packets will be used.

MTU

The "mtu" module parameter controls the MTU size in bytes.  This parameter takes a value between 576 and 9202, inclusive.  By default, a 1500 byte MTU is used.  This parameter is only relevant when hardware offload mode is turned on.

Poll Interval

The "poll_interval_in_us" module parameter is used to control the rate at which hardware events are polled, and is only relevant when running in CPU optimization mode.  This parameter is ignored in throughput optimization mode.  This parameter takes a microsecond value between 0 and 2000, and defaults to 0.

Segmentation Offload

The nForce network driver supports two modes for segmentation offload:
If hwmode=0 (disabled), the "seg_offload" module parameter defaults to 0 (disabled).  If hwmode=1 (enabled), the "seg_offload" module parameter defaults to 1 (enabled).

TX checksum Offload

The nForce network driver supports two modes for TX checksum offload:
If hwmode=0 (disabled), the "tx_checksum_offload" module parameter defaults to 0 (disabled).  If hwmode=1 (enabled), the "tx_checksum_offload" module parameter defaults to 1 (enabled).

RX checksum Offload

The nForce network driver supports two modes for RX checksum offload:
If hwmode=0 (disabled), the "rx_checksum_offload" module parameter defaults to 0 (disabled).  If hwmode=1 (enabled), the "rx_checksum_offload" module parameter defaults to 1 (enabled).

nvsound Module Parameters

There are currently no nvsound module parameters.


Audio Control Panel

A control panel application, nvmixer,  is included with the audio driver to control the features of the nForce audio driver.  These features include:

Usage

The audio control panel may be invoked by typing "nvmixer" at the command line:
example% nvmixer
For those that are migrating from an existing NVIDIA audio driver, note that the old "nvaudio" control panel will not work with the new audio driver.

System Requirements

The nvmixer application uses the Qt graphical user interface toolkit. The pre-built nvmixer shipped with this release is built using Qt version 3.1, and requires Qt 3.1 run-time libraries to be present on your system in order to run.

If your system does not have Qt 3.1 libraries installed, you will most likely receive an "relocation error: ... undefined symbol" error message when you try to run nvmixer. If this occurs, there are two ways to solve this problem:

Troubleshooting

This section covers problems that commonly occur when installing nForce drivers on Linux. If you encounter problems, please read this section and the FAQ , and review the Known Problems list for the driver version you are using. This can be found at NVIDIA's web site, on the release page for the driver version.

If you decide to submit a bug report, make sure to include nforce-bug-report.log in the bug report by running nforce-bug-report.sh.

Bug reports and installation questions may be directed to:

linux-nforce-bugs@nvidia.com

System BIOS Configuration

Since the audio and network drivers work on the nForce chipset, these devices along with other motherboard devices are controlled by the System BIOS. If the installed drivers don't recognize hardware on your system, the problem may be your System BIOS's plug and play configuration. If your audio or network devices are disabled in the BIOS, or the system BIOS expects the operating system to configure hardware devices, and your Linux kernel doesn't support ACPI-style configuration, you'll need to change your BIOS settings.

To view or change an Award-style system BIOS, reboot the machine, and press the Delete key. When you get a configuration screen, select "PnP/PCI Configurations" in that screen if "PNP OS Installed []" Has "Yes" chosen, change the selection to "No".

If your BIOS is Phoenix-style, use the F2 key instead of Delete, and scroll through the menus to find OS Type, and chose "Other". The exact details of System BIOS configuration vary with BIOS vendor, so the screens may not be exactly the same.

Warning: You should write down the original configuration of the BIOS before changing it. Changing your system BIOS configuration may adversely affect the operation of the system, and even make it unbootable.

Installer

Audio driver

Network driver

There is currently no troubleshooting information for the nvnet network driver.

Frequently Asked Questions (FAQ)

Installer FAQ


Driver FAQ



Acknowledgments

The nforce-installer for the nForce drivers is derived from the nvidia-installer used for the NVIDIA video drivers.  The video driver nvidia-installer was inspired by the loki_update tool: (http://www.lokigames.com/development/loki_update.php3).

The self-extracting archive (aka ".run file") is generated using makeself.sh: (http://www.megastep.org/makeself/).

Change List

The most recent changes are at the top of the list. Each bullet indicates a public release on NVIDIA's web site.