nForce and GRUB


nvnet - The problem (fixed by forcedeth driver )


The following, extracted from a post from nvidia's forum, kinda describes my problem:

I installed the nforce-1.0-0261 modules and got horrible performance problems when the Ethernet port was being accessed. Mouse pointer movement was really jerky while the net was being accessed and my website which is served out of this machine was very slow to serve pages (the site does a lot of disk I/O which also seemed to be severely interrupted by network data I/O). The problem went away for a brief time during a long download but quickly returned the next time I loaded a web page.[src]

Sometimes, when the network card was being used, some random process that in normal conditions would not even take as much as 10% of the CPU time would consume percentages of CPU utilization above 70%. I'm not talking about netscape/mozilla with flash, I talking about a simple wget taking as much as 77% of the CPU utilization ona DURON 800Mhz!

Setting the nvnet driver to use CPU optimization would make things even worse: the machine would freeze. I found that pluging and un-pluging the network cord on the ethernet port would unfreeze it but just foir a short time. Unloading the driver would solve the problem.

The Suggestions


Here are some suggestions I've found while trying to solve this issue.

Recent HOWTOs

These are mostly debian-related

BIOS settings


Linux kernel boot parameters


Kernel Building Options


About the sources used

Now I'm using the nvaudio from 0261 with the nvnet 0256 whith Kernel 2.4.21 and things seem back to normal. [src]

[nVidia's Linux drivers page]

links

Thanks to all for the advice. Used the rpm at this link and it worked. Am online using the nvidia ethernet. http://www.pheran.com/nv7linux/



Em [poots] existe outra sugestão: a de colocar either pci=acpi or acpi=off to the kernel on boot..

The Solution


It worked here. :-)

I was able to play a mp3 with xmms and a divx from a smb mounted filesystem (networked) with mplayer with absolutly no glitches, freezes, hiccups, hangs whatsoever. The load of the system was always bellow 25%, movie was played smoothly and I couldn't notice any stops or artifects while the mp3 was played. So, summing up: I could use the system with an avarege load while using the nvnet interface and everything was fine.

What i did? I compiled and used the nvnet driver from the 0256 release. The acpi=off thing was used too. Since nvaudio from 0261 was working fine, I sticked to that one. Although I'm using ALSA (intel_8x0 diver)right now, last time I checked nvaudio from 0261 was fine and, from the comments I read in the foruns, it's better then the nvaudio driver provided by 0256. See bellow for more info. about nforce, nvaudio and ALSA.

Nforce drivers and Debian


Since I'm using debian and a debian supplied kernel ( 2.4.21-1-k7 ), I had to build the modules myself. No big deal. The process is similar to the one explained in the README.Debian.gz of the package nvidia-kernel-src:
  1. Download the your kernel's headers package
    # apt-get install kernel-headers-2.4.21-1-k7
  2. Make the compilation scripts use those header files as if they were the kernel-source ( since all they really want are the include files and some other stuff included in those include files, kerne-headers will sufice )
    1. Just edit each module's ( nvnet, nvaudio ) Makefile, pointing SYSINCLUDE to your kernel headers location. Here's a patch to nforce/nvnet/Makefile include in the 0256 release of nvidia's linux driver's to nforce.It gives some clues of what must be changed:
--- nforce/nvnet/Makefile       2003-04-02 15:21:42.000000000 -0300
+++ nforce/nvnet/Makefile.new   2003-07-31 00:20:34.000000000 -0300
@@ -47,7 +47,8 @@
 endif


-SYSINCLUDE ?= $(KERNSRC)/include
+#SYSINCLUDE ?= $(KERNSRC)/include
+SYSINCLUDE ?= /usr/src/kernel-headers-2.4.21-1-k7/include

 #
 # Configuration files
@@ -76,7 +77,7 @@
 CFLAGS = -c -Wall -DLINUX -DMODULE -DEXPORT_SYMTAB -D__KERNEL__ -O \
        -Wstrict-prototypes -DCONFIG_PM  -fno-strict-aliasing \
         -mpreferred-stack-boundary=2 -march=i686 $(ALIGN) \
-        -DMODULE -I$(SYSINCLUDE) $(ARCHDEFS)
+        -DMODULE -I$(SYSINCLUDE) -I/usr/src/kernel-headers-2.4.21-1/include $(ARCHDEFS)

 #
 # Kernel version
  1. run make inside the desired module directory
    % make
  2. copy the new build driver to the kernel modules directory
    # cp nvnet.o /lib/modules/2.4.21-1-k7/kernel/drivers/net
  3. (OPTIONAL) Since i had previously build the nvnet driver with the code from the 0261 release and decided to leave it around ( just in case... renamed as nvnet.o.old), I made the following in order to keep both drivers installed in a organised fashion
    # cd /lib/modules/2.4.21-1-k7/kernel/drivers/net/; mv nvnet.o.old nvnet-0261.o; mv nvnet.o nvnet-0256.o; ln -s nvnet-0256.o nvnet.o
  4. Update module dependencies
    # depmod -a
  5. It's a good idea to create a file name /etc/modutils/nforce with module parameters and options relative to the modules from nvidia/nforce driver distribution. Mine is as follows
options nvnet optimization=0
options nvaudio spdif_status=0
alias eth0 nvnet
alias sound-slot-0 nvaudio
alias usb-interface usb-ohci
  1. Run update-modules.
    # update-modules

Well... that's what i did here and it worked. YMMV.

Alsa Drivers

The alsa modules from version 0.9.8 are working like a charm here, with a really interesting unexpected extra: the dmix plugin.

The dmix plugin, for those who doesn't know, is a alsa plugin that can do direct mixing of various streams. In other words: you can know listen to XMMS, whatch (and listen) a movie in mplayer and listen all those KDE beeps we learned to love (not) withou those kumbersome mixing daemons like arts or esd. The greatest thing of all is that, once you confugyre dmix in your alsa settings ( ~/.asoundrc ) you don't have to configure any of you Alsa-enabled applications: they will all, out of the box, use dmix.

Previous versions of the intel8x0 driver had some issues: SPDIF was unavaliable, dmix didn't work at all and sometimes XMMS would display some problems when using the ALSA output plugin. This all seems to be past issues with the 0.9.8 version:

To make dmix work I've just put the follogin in my ~/.asoundrc
pcm.!default {
    type plug
    slave.pcm "dmix"
}
# mixer0 can stay unchanged, because it isn't used anyway, I guess ;)
ctl.mixer0 {
    type hw
    card 0
}

Badness Errors

http://www.nvnews.net/vbulletin/showthread.php?t=24866&page=4&pp=15
http://www.nvnews.net/vbulletin/showthread.php?threadid=25167


What about Nforce and 2.6.x kernels


Well.. I still haven´t tried any of the 2.6-series kernels. Just found [a link ] that might help. Another good references:

[This link] might help you too. Summing it up:

Nvidia Video Drivers and kernel 2.6.9+


Sound


http://home.comcast.net/~andrex/Debian-nVidia/installation.html