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
- I recommend PnP? disabled, ACPI/APIC disabled. [src]
- My board (Asus A7N-266 VM doesn't have the option to disable PNP...)
- Disable ACPI (APIC is working fine in my board with ACPI IRQ routing disabled) [src]
Linux kernel boot parameters
- Disable ACPI (look above in BIOS settings for further references to this)
- acpi=off
- to make this work with grub in a debian system, edit your /boot/grub/menu.lst adding the acpi=off to a line similar to the one bellow:
- # kopt=root=/dev/hdd4 ro acpi=off
- run as root update-grub and your are done - supposing you use grub and update-grub in a debian system.
- Note: I have absolutely no idea how is the state of acpi vs nvnet/nforce vs the current stanble kernel version. It may be the case that this acpi options is no longer necessary.
- Add mem=nopentium
- According to [this slashdot comment]m this is not needed if you use a kernel 2.4.19 or above
Kernel Building Options
- DO NOT ENABLE I REPEAT DO NOT ENABLE GENERIC IDE SUPPORT.
- DO NOT ENABLE ACPI.
- Enable the AMD Viper IDE controller [src]
- Compile your kernel without AGPGART support. The nVidia driver(s) are faster. [src]
- Compile your kernel with MTRR support. It will speed things up a great deal
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:
- Download the your kernel's headers package
- # apt-get install kernel-headers-2.4.21-1-k7
- 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 )
- 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
- run make inside the desired module directory
- % make
- copy the new build driver to the kernel modules directory
- # cp nvnet.o /lib/modules/2.4.21-1-k7/kernel/drivers/net
- (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
- Update module dependencies
- # depmod -a
- 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
- 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:
- [you can get SPDIF to work on the nforce audio with the intel_8x0 diver]
- midi seems to work also - I didn't even knew it didn't work in first place but... See link above.
- [dmix finally works]
- Xmms works with alsa output and dmix like a charm. Just make sure that you use the ALSA output plugin of XMMS ( duh! ) and that you disable "mmap mode" in Alsa output plugin Advanced options. If you don't disable mmap you may experience noisy sound output and xmms will probably display warning messages with stuff like "mmap_commit - Device is busy" or something similar. [Note: actually you have to use an user definied audio device in the Alsa plugin configuration dialog. Use plug:dmix or, if you use the settings bellow, default ]
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:
- all the basic patches needed to make nForce mobos work with linux landed in the stable kernel ( latter 2.4.x and in 2.6 ) So, IDE and AGMGART and other things should not be a problem now.
- Audio with ALSA and its i810 driver work like a charm.
- The nvnet (networking) driver may be a source of problem, though. There is, AFAIK, no port of the nvnet driver to 2.6 BUT there is a "independent" reverse-engeniered driver called "[forcedeth]" that works reasonably well. Use it. More info about forcedeth [here].
Nvidia Video Drivers and kernel 2.6.9+
Sound
http://home.comcast.net/~andrex/Debian-nVidia/installation.html