Penguin
Note: You are viewing an old revision of this page. View the current version.

The three components of the motherboard that you are likely to need special (usually binary) drivers from outside the kernel for are graphics, network and sound. These are described in more detail below. MattBrown has a Gigabyte GA-7N400Pro motherboard and CraigBox has a Soltek 75-FRN-RL and this page is based mostly on experiences with those.

First of all download the nvidia driver package from the following URL (You may want to check for a more recent version)

http://www.nvidia.com/view.asp?IO=linux_nforce_1.0-0261

Graphics

You need NVIDIA AGPGART support, and you get this by using 2.4.22+ or 2.6. See RadeonNotes for more on getting an ATI card to work.

Network

The network controller on nForce2 based boards only works with a binary driver called nvnet that is supplied by nvidia in the package above. This seems to work fine and gives reasonable performance.

If you're using kernel 2.6, you will have to patch the NVidia source to make nvnet run.

See also ForcedEth, a reverse engineered open source ethernet driver for the onboard NVIDIA lan.

Note with regard to network performance

Sometimes you'll notice, when doing large transfers over your LAN, that your CPU usage goes through the roof and eth0 generates up to 500,000 interrupts a second. The nvnet driver is to blame; you can either load the module with 'optimizations=1' to optimize for CPU usage instead of throughput (interestingly, this doesn't seem to affect throughput at all), or you can load forcedeth, which makes it all go away. forcedeth should be included in 2.4.24+ and 2.6.2rc1+.

Sound

Provided you have your motherboard correctly setup (see below) you should be able to use the kernel supplied OSS i810_audio module to get sound using the nvidia chipset. You can get better facility out of the nvaudio module but it's hard to get going.

If you're using ALSA, you might want something like this (/etc/modprobe.conf in Linux 2.6):

# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-intel8x0
# module options should go here
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-slot-1 snd-card-0
# card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd-intel8x0 mpu_port=0x330

You can either be using an analog speaker setup, or a digital speaker setup. While the above configuration is sufficient for analog speakers, the following additional notes are applicable to a digital speaker setup.

The digital setup will be using the motherboard's S/PDIF output. The ALSA card 0, device 0 (playback) provides the analog outputs. The ALSA card 0, device 2 (playback) provides the S/PDIF (i.e. IEC958) output.

You will want to direct ALSA's oss emulation device 0 (/dev/dsp0, etal) to ALSA device 2, so that applications using the free/OSS API will produce their sounds on your nifty digital speaker system. To accomplish this mapping of free/OSS device 0 to ALSA device 2, add the following to your modules.conf file:

options snd-pcm-oss dsp_map=2

In addition, you might want to configure alsa-lib to provide software mixing and rate conversion, with the following /etc/asound.conf file:

### /etc/asound.conf for nforce2 apu
pcm.nforce-hw {
        type hw
        card 0
}
pcm.!default {
        type plug
        slave.pcm "nforce"
}
pcm.nforce {
        type dmix
        ipc_key 1234
        slave {
                pcm "hw:0,2"
                period_time 0
                period_size 1024
                buffer_size 32768
                rate 44100
        }
}

These nforce2 S/PDIF ALSA usage notes are current as of ALSA 1.0.2 (circa Feb/2004). The above config was tested with an unpatched linux kernel 2.6.3 (alsa-driver 1.0.2c) on an ABIT NF7-S rev2 optically S/PDIF connected to a Cambridge Sound Works DTT3500 Digital Home Speaker System.

USB

If you're running Linux 2.6, you will want to use the ohci-hcd USB module, in a stanza in modprobe.conf like so:

alias usb-controller ohci-hcd
alias usb-controller1 ehci-hcd

IDE Controller

I had some fun getting my hard disk running in a decent mode with my motherboard. It seems that the IDE "fixes" applied between 2.4.20 and 2.4.21 have broken compatibility for the nForce2 IDE chipset and you can only get 16-bit PIO mode. I've not yet investigated exactly what changed between the two kernels to break this.

GA-7N400

The GA-7N400 is a Gigabyte Socket A motherboard based on the nForce2 chipset. I had a few things catch me out as I got it working with linux.

  • If you do not have the "front audio" expansion connected ensure that pins 5-6 and 9-10 (either side of the single pin) are jumpered or you will not be able to get any sound out of the line out port.
  • Kernel 2.4.21 does not support the IDE controller on the nVidia chipset (well it does, but only in 16-bit PIO mode), 2.4.20 supports the controller properly in 32-bit DMA mode.

Other than that it seems to be a fairly good motherboard. The nForce chipset was a little bit more work to get going under linux that I would have liked, but it was not hassle free to set it up under windows either. I guess you get what you pay for.

The following authors of this page have not agreed to the WlugWikiLicense. As such copyright to all content on this page is retained by the original authors.
  • WilliamBlew
  • TimOrford
  • JoshBassett
The following authors of this page have agreed to the WlugWikiLicense.

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 4 times)

lib/plugin/WlugLicense.php:99: Warning: Invalid argument supplied for foreach()

lib/plugin/WlugLicense.php:111: Notice: Undefined variable: ignore_authors

lib/plugin/WlugLicense.php:111: Notice: Undefined variable: ignore_authors

lib/plugin/WlugLicense.php:111: Notice: Undefined variable: ignore_authors