Avatar billede fredand Forsker
12. januar 2005 - 10:05 Der er 5 kommentarer og
1 løsning

Can anybody explain this in an easier way for a rookie?

Hello!

I'm struggling with my Mandrake 10.1 and Nvidia Riva TNT graphiccard. At first the computer started to crash all the time after 5 minutes.

I found out that I should update to an other driver. So I downloaded and installed this driver:
NVIDIA-Linux-x86-1.0-6629-pkg1.run

During install it says that I needed an other kernel source. So I got hold of this one and installed it:
kernel-source-2.6-2.6.8.1-12mdk.i586.rpm

Now the installation of the driver worked. I also changed the XF86Config file.

But when I tried to start X the computer crashed again and said what is mentioned at this site that expalin this very situation that I got into:
http://wiki.x.org/wiki/NVIDIAProprietaryDriver

The solution seems to be found at this page but I'm just a rookie at Linux and do not undertstand how to manage some of it.

So perhaps some one can eplain what they mean:

1) They say:
First, you should verify that if you installed from rpm that the rpm was built specifically for the kernel you are using. You should also check that the module is loaded ('/sbin/lsmod');

How exactly do I check this? Is everything OK if there is a file called lsmod in /sbin, is that OK then? 

2) They say:
if it is not loaded try loading it explicitly with 'insmod' or 'modprobe' (be sure to exit the X server before installing a new kernel module).

How exactly do I do this? I tried to write "insmod" at the command line but it looks like it would like some arguments? Further down they also write:
cd'ing into the directory with the new kernel module and doing 'insmod ./nvidia.o' may help
Is this what I should write, but in what folder should I stand when I write it?

3) They say:
If you receive errors about unresolved symbols, then the kernel module has most likely been built using header files for a different kernel revision than what you are running. You can explicitly control what kernel header files are used when building the NVIDIA kernel module with the --kernel-include-dir option (see sh NVIDIA-Linux-x86-1.0-4349.run --advanced-options for details).

Does this mean that I need an other kernel source, and should I just get that and instsll it and try all ovcer?

4) They say:
Another cause may be that the /dev/nvidia* device files may be missing. To recreate this files simply run this script (as root). It assumesyour users who have GUI access are in group "video"):

for i in 0 1 2 3 4 5 6 7; do
  node="/dev/nvidia$i"
  rm -f $node
  mknod $node c 195 $i  || echo "mknod \"$node\""
  chmod 0660 $node      || echo "chmod \"$node\""
  chown :video $node    || echo "chown \"$node\""
done
       
node="/dev/nvidiactl"
rm -f $node
mknod $node c 195 255  || echo "mknod \"$node\""
chmod 0666 $node        || echo "chmod \"$node\""
chown :video $node      || echo "chown \"$node\""

How do I create this script? Should I save it to a file with what extension? And how exactly do I run it?

So if an one could sort this out for me it would be great!

Best regards
Fredrik
Avatar billede rolchau Nybegynder
12. januar 2005 - 15:15 #1
First of all, are you 100% sure that the kernel source you have used are the source for your current kernel? You can test this by running "uname -r" in a terminal. It should read the same version as the source you have downloaded.

To the questions:
1 - The /sbin/lsmod is a program that shows you which modules are loaded, so what you do is to run the lsmod command in a terminal. It shows a list of modules that has been loaded. If there is a module called nvidia, then the modules has been loaded.

2 - If the module didnt show up with lsmod, then you need to load it with modprobe, in a terminal like this: modprobe "argument"

In this case the argument would be 'nvidia' (minus quotes)

3. Yes that is what they mean. As mentioned you can check this with uname -r and check which source you have installed - The kernel source is located in the /usr/src directory. When you install a new one, make sure the delete the old one (/usr/src/linux) This one is usually just a symlink, which you can remove.

4. Type "touch myScript" in a terminal. Make the file executable with "chmod +x myScript". Now edit the file with whatever editor you like (e.g. emacs) and paste the script into it. Run the script (as root) with ./myScript

But my guess is that you are using a wrong kernel source, so you shouldn't have to run the script.
Avatar billede fredand Forsker
12. januar 2005 - 16:19 #2
Hello!

Thanks for your great answer, it was very easy to follow. But there still are some questions that I hope you may answer.

0 - I typed the uname -r command and got:
2.6.8.1-12mdk
...it looks that it match the downloaded source:
kernel-source-2.6-2.6.8.1-12mdk.i586.rpm
The only differens is -2.6- infront as you see. But I have searched the Intenet and can only find kernel-source-2.6-2.6.8.1-12mdk.i586.rpm so my guess is that this is right. Correct me if I am wrong.

I also found these commands at http://www.wlug.org.nz/NvidiaDriverHowto
rpm -qa | grep kernel
When I typed this I got:
kernel-source-2.4.27-0.pre2.1mdk
kernel-2.6.8.1.12mdk-1-1mdk
kernel-source-2.6-2.6.8.1.12mdk
I do not know if these indicates that there is a missmatch here??

1 - I typed /sbin/lsmod but there is no nvidia module in the list.

2 - I typed modeprobe nvidia and then /sbin/lsmod and now the nvidia module appears in the list. Do need to do this every time now?

3 - I checked in the folder /usr/src/ and found these files/folders:
linux@
linux-2.4.27-0.pre2.1mdk
linux-2.6.8.1-12mdk
RPM
Perhaps you can tell me what I dare to delete and not delete?

4 - I wait with this one until you have answered above, if you got time!

Thanks again for your time!

regards
Fredrik
Avatar billede rolchau Nybegynder
12. januar 2005 - 16:58 #3
Ok, so the kernel source is correct.

2. When the module is in the list does X work or does it say the same error? To get the module loaded everytime you boot, you can add the "modprobe nvidia" to the "/etc/rc.d/rc.local" file (The location to that file might be different in mandrake) - Everything in this file executed on boot-time.

3. You don't really have to delete anything, just make sure that the symlink (linux@) points to the right directory and not the 2.4.27 version. If it doesn't you can delete the symlink and create a new one with: "ln -s linux-2.6.8.1-12mdk linux"
Avatar billede fredand Forsker
12. januar 2005 - 18:46 #4
Hello!

I enter terminal mode as root and gave the command:
ln -s linux-2.6.8.1-12mdk linux
I also forced the nvidia module with modprobe nvidia
(Before this I changed the XF86Config for nvidia)

What happend.
The X started with a big Nvidia logo in the background during startup. When x was started it looked like everything on the screen became overpainted. I would say no double buffering. After that the computer vent in to som strange black_window_mode where I can, if I look hard, see some big (3 centimiters) blinking numbers that look's like memory adresses. I have never seen this before. Very strange.

My guess is that perhaps I got something wrong either at motherboard or the graphicscard. But it would be nice to know before I buy something new for replacement.

But if you got any guesses please let me know.

Unfortunately I will be gone for a week. But I will be back. So please, if you got the time, do not forget me and my problem.

Best regards
Fredrik

Btw give a svar so I can reward you
Avatar billede fredand Forsker
21. januar 2005 - 12:20 #5
Hello!
I acctually think that I have solved my mystery with my hanging computer.

My network card was installed too close to my graphics card so my guess is that my graphicscard got overheated. This happend boot with Win 2000 and Mandrake 10.1, but not with Mandrake 8.1.

Now I have changed the positions and got more air in between the cards and the computer has run for 30 minutes now without any hanging.

What do you think? Could it be that easy?

Best regards
Fredrik
Avatar billede fredand Forsker
30. december 2006 - 13:18 #6
Lets close this old one!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester