LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1574|回复: 2

NVIDIA nForce Linux Drivers 1.0-0301

[复制链接]
发表于 2005-5-14 09:50:53 | 显示全部楼层 |阅读模式
FTP地址:

驱动下载:
ftp://download.nvidia.com/XFree86/nforce/1.0-0301/


发行标记及说明:
ReleaseNotes.html

ftp://download.nvidia.com/XFree8 ... 1/ReleaseNotes.html


常见问题:

NVIDIA nForce Linux: Known Problems

ftp://download.nvidia.com/XFree8 ... /KnownProblems.html
 楼主| 发表于 2005-5-14 09:51:53 | 显示全部楼层
发行标记及说明:

NVIDIA nForce Linux Drivers

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.

    * For distributions based on a 2.4 series kernel, the module configuration file is typically called /etc/modules.conf.

    * For distributions based on a 2.6 series kernel, the module configuration file is typically called /etc/modprobe.conf. Some distributions use a subdirectory, /etc/modprobe.d/ , to hold individual configuration files for sound modules, etc.

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 3,  Red 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 3,  Red 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.

If you wish to have nvmixer audio settings automatically restored each time the nvsound driver loads, add the following lines to the configuration file for 2.4 kernels:

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 ||:

For 2.6 kernels:

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

For both 2.4 and 2.6 kernels, you should also edit /etc/rc.d/init.d/halt, or /etc/init.d/halt.local on SuSE distributions:

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

For Red Hat Enterprise Linux 4 and Fedora Core 3, add the following line in /etc/rc.local:

/usr/bin/nvmix-reg -f /etc/nvmixrc -L >/dev/null 2>&1


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:

    * hwmode=1 - off
    * hwmode=2 - on

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:

    * optimization=0 - Throughput optimization
    * optimization=1 - CPU optimization

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:

    * autonegotiate=0 - disabled
    * autonegotiate=1 - enabled

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:

    * force_speed_duplex=0 - autonegotiate
    * force_speed_duplex=1 - 10Mbps half duplex
    * force_speed_duplex=2 - 10Mbps full duplex
    * force_speed_duplex=3 - 100Mbps half duplex
    * force_speed_duplex=4 - 100Mbps full duplex
    * force_speed_duplex=5 - autonegotiate for 10Mbps half duplex
    * force_speed_duplex=6 - autonegotiate for 10Mbps full duplex
    * force_speed_duplex=7 - autonegotiate for 100Mbps half duplex
    * force_speed_duplex=8 - autonegotiate for 100Mbps full duplex
    * force_speed_duplex=9 - autonegotiate for 1000Mbps full duplex

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:

    * media=0 - auto
    * media=1 - RGMII
    * media=2 - MII

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:

    * seg_offload=0 - disabled
    * seg_offload=1 - enabled

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:

    * tx_checksum_offload=0 - disabled
    * tx_checksum_offload_offload=1 - enabled

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:

    * rx_checksum_offload=0 - disabled
    * rx_checksum_offload_offload=1 - enabled

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:

    * Speaker setup
    * Master volume control
    * Per channel volume control / mute
    * Input source selection
    * Analog and digital output control
    * SoundStorm HW mixing

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:

    * Download and install Qt 3.1 libraries for your Linux distribution, so that the pre-built nvmixer application works correctly.

    * Download the source code for nvmixer from NVIDIA and build it using a Qt version that is readily available for your Linux distribution (3.1 or later is required). The nvmixer source code package is available for download via anonymous FTP at:


ftp://download.nvidia.com/linux/nforce/nvmixer/nvmixer.tgz

      Pre-requisites and instructions for building nvmixer are included in the source code package.

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 "nP/PCI Configurations" in that screen if "NP 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

    * Q: When I try to build, I get a message telling me that I should never try to use system headers. What's wrong?

      A: You need to install the sources for your kernel. Please download and install the appropriate kernel-source package for your kernel
    *

      Q: How do I tell if I have my kernel sources installed?

      A: If you're running on a distro that uses RPM (Red Hat, Mandrake, SuSE, etc), then you can use RPM to tell you. At a shell prompt, type:

example% rpm -qa | grep kernel

      and look at the output. You should see a package that corresponds to your kernel (often named something like kernel-2.4.18-3) and a kernel source package with the same version (often named something like kernel-source-2.4.18-3). If none of the lines seem to correspond to a source package, then you'll probably need to install it. If the versions listed mismatch (ex: kernel-2.4.18-10 vs. kernel-source-2.4.18-3), then you'll need to update the kernel-source package to match the installed kernel. If you have multiple kernels installed, you need to install the kernel-source package that corresponds to your running kernel (or make sure your installed source package matches the running kernel). You can do this by looking at the output of "uname -r" and matching versions.
    * Q: I just upgraded my kernel, and now the NVIDIA kernel module will not load.  What is wrong?

      A: The kernel interface layer of the NVIDIA kernel module must be compiled specifically for the configuration and version of your kernel.  If you upgrade your kernel, then the simplest solution is to reinstall the driver.

      ADVANCED: You can install the NVIDIA kernel module for a non running kernel (for example: in the situation where you just built and installed a new kernel, but have not rebooted yet) with the command line option --kernel-name='KERNEL_NAME', where KERNEL_NAME is what 'uname -r' would report if the target kernel were running.

    * Q: nforce-installer does not work on my computer.  How can I install the driver contained within the .run file?

      A: To install the NVIDIA driver contained within the .run file without using nforce-installer, you can use the included makefile that is extracted with the --extract-only command-line option.  The makefile for the audio driver is in the nvsound/main directory of the extracted .run file, and the makefile for the network driver is in the nvnet directory of the extracted .run file.  This method of installation is not recommended, and is only provided as a last resort, should nforce-installer not work correctly on your system.

    * Q: I have multiple kernels installed. When I run the NVIDIA installer under one kernel, it removes modules I previously installed for one of the other kernels. How do I prevent the installer doing that?

      A: You can avoid this by using the --kernel-module-only option to the installer when you install for the second and subsequent kernels in your installation. This advanced option installs the kernel module only (no documentation, etc.) and does not remove any previously installed driver module.

Audio driver

    * Q: I've installed the nvsound driver, but xmms doesn't produce any audio output when I try to play sound files.

      A: Check that xmms is configured to use the OSS output plugin (nvsound is an OSS driver). The xmms output plugin settings can be viewed on xmms's Options->references submenu.
    * Q: When I try to start nvmixer, I get a "relocation error: ... undefined symbol"  message and nvmixer doesn't start. What's wrong?

      A: This is most likely caused by your system not having the Qt run-time libraries that nvmixer requires in order to run. Refer to the section on nvmixer's system requirements for  details on how to fix this.
    *

      Q: When I start KDE with the nvsound driver loaded, I get an error message, "Sound server fatal error: AudioSubSystem::handleIO: write failed  len=-1, can_write=1024, errno=11 (Resource temporarily unavailable)".

      A: Open the KDE Control Center (using a menu or the kcontrol command). Select "Sound & Multimedia", then select "Sound System". Select the "Hardware" tab and, in the "Select the audio device" pulldown control, select "Threaded Open Sound System". Select "Apply", then exit the Control Center. This should fix the sound server error message seen on startup.

Network driver

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

Frequently Asked Questions (FAQ)
Installer FAQ

    * Q: Why does NVIDIA not provide RPMs anymore?

      A: Not every Linux distribution uses RPMs, and NVIDIA wanted a single solution that would work across all Linux distributions.  As indicated in the NVIDIA Software License, Linux distributions are welcome to repackage and redistribute the NVIDIA Linux driver in whatever package format they wish.

    * Q: How do I extract the contents of the .run file without actually installing the driver?

      A: Run the installer with the --extract-only command line option.  This will create a directory which contains the uncompressed contents of the .run file.

    * Q: How can I see the source code to the kernel interface layer?

      A: Kernel interface layer source files for the audio driver are in the nvsound/main directory of the extracted .run file.  The kernel interface layer source files for the network driver are in the nvnet directory of the extracted .run file.

    * Q: Can I add my own precompiled kernel interfaces to a .run file?

      A: Yes, the "--add-this-kernel" .run file option will unpack the .run file, build a precompiled kernel interface for the currently running kernel, and repackage the .run file, appending "-custom" to the file name.  This may be useful, for example, if you administer multiple Linux machines, each running the same kernel.

    * Q: Where can I find the source code for the nforce-installer utility?

      A: The nforce-installer utility for the nForce drivers is derived from the nvidia-installer utility used for the NVIDIA video drivers.  The NVIDIA video driver nvidia-installer utility is released under the GPL.  The latest source code for it is available at:

      ftp://download.nvidia.com/XFree86/nvidia-installer/


Driver FAQ

    * Q: My IDE hard drive is running very slowly, how can I enable DMA mode?

      A: A kernel patch was added in kernel 2.4.21pre3-ac1 which enables DMA for the nForce2 IDE controller and should be available in the final released 2.4.21 kernel. An alternative to upgrading your kernel is to use the "hdparm" utility to enable DMA for your hard drive. For example:

example% su
Password: ******
example# hdparm -d 1 /dev/hdX

      Where /dev/hdX is the IDE device you wish to enable DMA for. You must do this every time you reboot, or add it to an rc script. Some distributions have a file "/etc/sysconfig/harddisks" where you can enable this for all hard drives on system boot.

    * Q: Does NVIDIA supply a Linux driver for the USB and USB2.0 devices?

      A: The USB and USB2.0 devices use the industry standard OHCI and EHCI interfaces, and will work with the standard Linux USB drivers.

    * Q: I've rebuilt the Nforce driver, but when I try to insert it, I get a message telling me I have unresolved symbols.

      A. Unresolved symbols are most often caused by a mismatch between your kernel sources and your running kernel. They must match for the nForce driver modules to build correctly. Please make sure your kernel sources are installed and configured to match your running kernel.

    * Q: Does NVIDIA have a Linux driver for 1394 on nForce2?

      A: The Linux 1394 driver supports the nForce2 1394 controller in kernel versions 2.4.21 and newer.
    * Q: Is the nForce3 IDE controller supported by Linux?

      A: nForce3 IDE controller will exist in kernel 2.4.23 and later
    * Q: Are there open source networking and audio drivers for nForce hardware?

      A: For audio you can use the i810 audio driver. For networking, it depends on the version of the kernel you are working with. Some versions of the kernel will have a driver called forcedeth. Older versions of the driver only support nForce2 while later versions of the driver will also support nForce3 gigabit Ethernet.
    * Q: Linux distributions are moving towards ALSA as the standard sound driver architecture, but nvsound is an OSS driver. Why don't you provide an ALSA driver?

      A: Our priority in shipping the nvsound driver was to provide support for nForce hardware features that were missing in the earlier nvaudio driver. NVIDIA plans to provide an nForce ALSA driver in future as our resources allow.



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.

    * Added support for 2.6.10, 2.6.11 kernels.

      Added support for restore of nvmixer settings over reboots.

      Fixed nvsound compatibility issues with various applications.

      Fixed WOL support in nvnet.

      Fixed some nvnet performance issues.

    * Added pre-built 64-bit binaries for various distributions.

      Added support for kernel installations that use separate kernel source and generated kernel object trees.

      Fixed nvnet problem that caused rmmod to crash on systems with more than one network interface.

      Fixed nvnet build issue on uniprocessor systems that have spinlock debugging enabled.

      Fixed nvsound module hangs when APIC is enabled on some distributions.

      Fixed nvsound module bugs causing lack of sound or delay in sound with some games.

    * Changed installation method to use the new self-extracting installer instead of RPM or tarball

      Added support for SoundStorm (Hardware Mixing supported)

      Added AC3 pass-through

      Added support for ethernet driver statistics and configuration information through procfs

      Added support for 2.6 series kernels

      Audio control panel executable is now "nvmixer", not "nvaudio"

    * Fixed performance problem in network driver that was causing stuttering in audio playback

      Added support for nForce3 platforms

      Added support for x86-64 architecture

      Added binary RPMs for SuSE Enterprise Server 8 x86-64

      Added audio control panel application

      Added 6 channel output, audio input selection, speaker selection, per channel volume control, and analog / digital enable to audio driver.

      Added GART patch for kernel 2.4.21

    * Added kernel patch to support nForce GART

      Added "spdif_status" module parameter to audio driver to enable/disable S/PDIF support for compatability

      Fixed bug in audio driver that was causing MSI nForce board to only use 2 channels

      Fixed mmap bug in audio driver causing Quake III to hang.

      Fixed RedHat 9 build issue with remap_page_range().

      Fixed problem with rebuilding SRPM on RedHat 9.

      Added RedHat 9 and Mandrake 9.1 binary RPMs.

    * Fixed problem with compiler arguments between gcc3.X and gcc2.X

      Changed installation script to use lowest available number when enumerating network and audio devices in modles.conf

      Changed audio driver to be self contained source file based off i810_audio driver.

      Added SPDIF support to audio driver

      Updated binary packages for latest releases of RedHat kernels.

      Added FAQ section to release notes.

    * Added PCI ID support for MCP2 and MCP2 to the i810_audio driver.

      Some cleanup of spec file and Makefiles

      SRPMs and tar files now use local system's i810_audio.c file, and complain if it's not there; this makes them more distro independent.

    * Changed code to compile properly with gcc3.X and gcc2.X

      Added support for Mandrake9.0 and Redhat8.0

      nForce2 support for network driver
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-14 09:54:38 | 显示全部楼层

NVIDIA nForce Linux: Known Problems

NVIDIA nForce Linux: Known Problems

    *
       Skype crashes with nvsound from driver package 1.0-0301
      Skype may hang when used with the nvsound driver in driver package 1.0-0301. This problem will be fixed in the next release of the drivers. In the meantime a patch that fixes the 1.0-0301 driver is available online at the following URL:

      http://www.nvnews.net/vbulletin/ ... p=597243#post597243

    *
        2.4.x kernel hangs or some devices are not available
      There are bugs in 2.4.x kernel ACPI support that may affect install and/or OS boot. If you are having problems, one of the first trouble shooting tactics should be to disable ACPI. This can be done from the bootline using "acpi=off" boot line option or by modifying the BIOS settings.

      If disabling ACPI fixes the boot but you wish to run with ACPI enabled, consult other problems in this list that document known problems and workarounds for ACPI-related issues.
    *
        2.4.x kernel on AMD64 system hangs during boot when ACPI is enabled
      If prior to the hang the kernel console boot trace indicates that device interrupts are being steered to IRQ0, then the hang may be due to a bug in the x86_64 kernel's handling of ACPI interrupt steering. A kernel patch has been accepted to fix this bug, but it has not yet been picked up by all distributions. In this case you can work around the problem by disabling ACPI (in the BIOS, or by using the 'acpi=off' boot line option), or you can manually patch the kernel.

      The patch modifies the function mp_parse_prt() in arch/x86_64/kernel/mpparse.c. You can patch this file by hand by commenting out the line:

      irq = entry->link.index;

      that immediately precedes the comment:

      /* Dont set up the ACPI SCI because it's already up */

    *
        Network and other devices randomly stop working when ACPI is enabled
      This problem may be caused by an incorrect ACPI table entry that causes the timer interrupt to be incorrectly configured.

      If the kernel console boot trace (viewable using dmesg) contains messages such as these:

      ..MP-BIOS bug: 8254 timer not connected to IOAPIC
      ...trying to set up timer (IRQ0) through the 8259A . failed.
      ...trying to set up timer as Virtual Wire IRQ... failed.
      ...trying to set up timer as ExtINT IRQ... works.

      then the incorrect ACPI table entry is present. On 2.6 kernels, this can be worked around by specifying the 'acpi_skip_timer_override' boot line option. An alternative workaround is to disable ACPI in the BIOS or by using the 'acpi=off' boot line option.
    *
        2.6.x kernel unbootable on some systems
      There is a bug in the 2.6.x kernel MP table handling that prevents install and OS boot on some systems. At the time of writing, the only nForce systems known to trigger this kernel bug are nForce4 MP systems.

      This bug causes memory corruption upon detection of any PCI bus numbered higher than 32, and consequently renders the system unusable very early in the install or boot process. On some systems, leaving ACPI on during boot fixes this problem.

      There are currently no known workarounds for this problem, but a kernel patch for it has been accepted and is expected to be included in future distribution releases.

    *
        Older distributions missing nForce3/4 storage controller device IDs
      Some older distributions do not have nForce3/4 IDE/SATA device IDs. This has the following consequences:

         1. SATA controllers will not be available for OS installation. This can be worked around by using a driver disk during installation. NVIDIA currently provides driver disk images for the following distributions, downloadable via anonymous FTP:


            Red Hat Enterprise Linux, updates 2 and 3

            32-bit:

            ftp://download.nvidia.com/linux/ ... nvdriverdisk.tar.gz

            64-bit:

            ftp://download.nvidia.com/linux/ ... nvdriverdisk.tar.gz


            SuSE Linux Enterprise Server version 8, with Service Pack 3

            32-bit:

            ftp://download.nvidia.com/linux/ ... driverdisk.suse.tgz

         2. The IDE class driver will not be able to use DMA, which results in lower IDE performance. This can be worked around by patching the driver with the appropriate device IDs.

            To patch the driver, two tables in the drivers/ide/pci/amd74xx.c driver need modification. The first table is an array of struct amd_ide_chip called amd_ide_chips.  Each entry is of the following form:

            { PCI_DEVICE_ID_XXXXXXXXXXX, 0xXX, AMD_UDMA_100 },

            If any of the following device IDs are missing from that table:

    PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE
    PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE
    PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA
    PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2

    PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE
    PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA
    PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2

    PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE
    PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA
    PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2


            then the amd74xx.c driver does not support the nForce3/4 IDE and SATA
            controllers. To add support, make the following changes:

            Step 1: Define PCI device ID macros.

            Immediately before the amd_ide_chips table, add the following lines:

    #define PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE        0x00d5
    #define PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE       0x00e5
    #define PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA      0x00e3
    #define PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2     0x00ee

    #define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE   0x0053
    #define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA  0x0054
    #define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2 0x0055

    #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE   0x0035
    #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA  0x0036
    #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2 0x003e


            Step 2: Add entries to the end of the amd_ide_chips table (but before the terminating entry "{ 0 },").

    { PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE, 0x50, AMD_UDMA_133 },
    { PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE, 0x50, AMD_UDMA_133},
    { PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA, 0x50, AMD_UDMA_133},
    { PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2, 0x50, AMD_UDMA_133 },
    { PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE, 0x50, AMD_UDMA_133},
    { PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA, 0x50, AMD_UDMA_133},
    { PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2, 0x50, AMD_UDMA_133 },
    { PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE, 0x50, AMD_UDMA_133},
    { PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA, 0x50, AMD_UDMA_133},
    { PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2, 0x50, AMD_UDMA_133 },

            Step 3: Add entries to the amd74xx_pci_tbl (but before the terminating entry "{ 0, },").

            There is an array of struct pci_device_id called amd74xx_pci_tbl. Entries need to be added here for nForce3/nForce4 support.

    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 14 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 15 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 16 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 17 },
    { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 18 },

            The number at the end of each entry (9 through 18) refers to the the corresponding entries (numbering starts with 0) in the amd_ide_chips table. For example, counting down in the amd_ide_chips table, the 9th entry (starting the count with 0) should correspond with the PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE entry. If it doesn't correspond, the numbers in the entries of amd74xx_pci_tbl will need to be adjusted accordingly.

            Step 4: Rebuild the kernel.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表