Tag/tag.png

Unsupported Version
This article applies to an unsupported version of Ubuntu. More info...

Tag/tag.png

Content Cleanup Required
This article should be cleaned-up to follow the content standards in the Wiki Guide. More info...

Tag/tag.png

Style Cleanup Required
This article does not follow the style standards in the Wiki Guide. More info...

Installing nVidia's nForce network driver HowTo

If you are having issues with the default (forcedeth) driver for your nVidia nForce networking adapter (WakeOnLan not working, connection breakes, etc.), you can try the original nVidia's driver - nvnet. This HowTo describes how to get it up-and-running in no time.

It's been tested on nForce2/nForce430-based systems, but should work on any nForce-based system (nForce, nForce2, nForce3, nForce4, you name it) and works both for Breezy Badger (5.10) and Dapper Drake (6.06)

Getting Ready

First of all, you definetely need the nVidia's driver - you can download it from: http://www.nvidia.com/object/unix.html Save it, and remember where you save it, but don't run it yet.

Most probably the installer won't have a pre-compiled module for your kernel (they're not very up-to-date with kernels on nVidia, I suppose), so you should do:

sudo apt-get install linux-headers-`uname -r`

In case you haven't yet compiled anything on your ubuntu machine, you most probably will also need to install the build-essential and the correct gcc compiler package for your system:

for Breezy:

sudo apt-get install build-essential gcc-3.4

for Dapper:

sudo apt-get install build-essential gcc

Installing

Ok, so we have all we need. Let us begin.

First of all, we should unload the forcedeth module:

sudo /etc/init.d/networking stop
sudo modprobe -r forcedeth

WARNING: this will cause that you will not have the network until we install the new driver.

After that, let's cd to the directory you have saved the nVidia's driver and do:

sudo sh <the_name_of_the_driver's_file>

(on my system it was: sudo sh NFORCE-Linux-x86-1.0-0310-pkg1.run)

This will run the nVidia's installer program. Unless you would like to install the sound driver too (I didn't), choose only the network driver. After accepting the licence, the commands are pretty self-explanatory. The defaults should be OK (among other things you should notice the compilation of the module for your kernel - that's perfectly correct).

If you get a warning message from the installer talking about compiler versions: don't ignore it. Instead, exit the installer and type

export CC=/usr/bin/gcc-3.4
sudo sh <the_name_of_the_driver's_file>

This is only necessary, if your default compiler differs from the one used to compile the running kernel. By exporting the CC environment variable, the default compiler (which is refered to by $CC) is set to gcc-3.4.

After the installer completes the installation and exits, we just have one thing to do.

Disabling forcedeth for good

The forcedeth driver gets loaded by default at boot time. We don't want that - we want the network adapter to use our new nvnet driver; let's do something about it, then!

We have to create a configuration file in /etc/modprobe.d/:

(if you're using Ubuntu)

gksudo gedit /etc/modprobe.d/nvnet

(if you're using Kubuntu)

kdesu kate /etc/modprobe.d/nvnet

And paste those two lines into the editor:

alias forcedeth off
alias eth0 nvnet

Save the file and exit the editor.

If you are using Breezy, you need to rebuild the initrd. Here's how:

sudo dpkg-reconfigure linux-image-`uname -r`

If, on the other hand, you are a Dapper user, you just need to edit one more text file:

(if you're using Ubuntu)

gksudo gedit /etc/modprobe.d/blacklist

(if you're using Kubuntu)

kdesu kate /etc/modprobe.d/blacklist

and add this line to it:

blacklist forcedeth

And you're done; now just reboot and have fun with your new nvnet nForce driver.


Just in case you would like to check if the network card is really using the nvnet driver, after the reboot do:

lsmod | grep forcedeth

this should return nothing, as we should not have forcedeth loaded.

lsmod | grep nvnet

this should output something like:

nvnet                  72484  0


credits

All credits and thanks should go


Simple Fix/Workaround

It's been tested on nVidia MCP55 chipset system, and works on Ubuntu 14.04.2 LTS (Trusty Tahr) Server.

This is a simple fix if you don't have access to the internet on the main box.

rmmod forcedeth
modprobe forcedeth msi=0 msix=0

Ubuntu and Debian users can make this fix permanent with:

echo options forcedeth msi=0 msix=0 >> /etc/modprobe.d/options
update-initramfs -u
reboot


credits

All credits and thanks should go


NvNetInstallation (last edited 2015-06-24 13:02:57 by n204s253)