Kernel headers found. They do not match your running kernel.

Hi!

On Opensuse 11 I try to install some drivers for my rt2500 wireless card.
For this driver RutilT is needed.

While trying to install RutilT I get the following message:


hstuifbergen@linux-6a9e:~/Documents/RutilTv0.16> ll
total 104
drwxr-xr-x 2 hstuifbergen users  4096 2007-11-25 20:41 art
-rw-r--r-- 1 hstuifbergen users   541 2007-11-25 20:40 AUTHORS
-rwxr-xr-x 1 hstuifbergen users 13002 2007-11-25 20:40 configure.sh
-rw-r--r-- 1 hstuifbergen users 18011 2007-11-25 20:40 COPYING
drwxr-xr-x 3 hstuifbergen users  4096 2007-11-25 21:22 include
-rw-r--r-- 1 hstuifbergen users  5785 2007-11-25 20:40 INSTALL
drwxr-xr-x 3 hstuifbergen users  4096 2007-11-25 21:22 lib
-rw-r--r-- 1 hstuifbergen users 17929 2007-11-25 20:40 Makefile
-rw-r--r-- 1 hstuifbergen users 11780 2007-11-25 21:21 README
-rw-r--r-- 1 hstuifbergen users  2240 2007-11-25 20:40 rutilt.1
-rw-r--r-- 1 hstuifbergen users   838 2007-11-25 20:40 rutilt_helper.1
-rwxr-xr-x 1 hstuifbergen users  2174 2007-11-25 20:40 set_ip.sh
hstuifbergen@linux-6a9e:~/Documents/RutilTv0.16> ./configure.sh
Kernel sources cannot be found.
Kernel headers found. They do not match your running kernel.

Can somebody help me with this please? I don know anything about kernel and stuff… :confused:

Some information what could be useful to solve this problem:


hstuifbergen@linux-6a9e:~> ll /usr/src
total 12
lrwxrwxrwx  1 root root   18 2008-07-18 18:52 linux -> linux-2.6.25.9-0.2
drwxr-xr-x 23 root root 4096 2008-07-18 18:58 linux-2.6.25.9-0.2
drwxr-xr-x  3 root root 4096 2008-07-18 18:52 linux-2.6.25.9-0.2-obj
lrwxrwxrwx  1 root root   22 2008-07-18 18:52 linux-obj -> linux-2.6.25.9-0.2-obj
drwxr-xr-x  7 root root 4096 2008-06-10 13:15 packages
hstuifbergen@linux-6a9e:~> ll /lib/modules
total 24
drwxr-xr-x 3 root root 4096 2008-07-12 00:02 2.6.25.5-1.1-default
drwxr-xr-x 2 root root 4096 2008-07-18 18:52 2.6.25.9-0.2-debug
drwxr-xr-x 5 root root 4096 2008-07-18 19:03 2.6.25.9-0.2-default
drwxr-xr-x 2 root root 4096 2008-07-18 18:52 2.6.25.9-0.2-lockdep
drwxr-xr-x 2 root root 4096 2008-07-18 18:52 2.6.25.9-0.2-pae
drwxr-xr-x 2 root root 4096 2008-07-18 18:52 2.6.25.9-0.2-xen
hstuifbergen@linux-6a9e:~> uname -r
2.6.25.9-0.2-default

You don’t have the kernel-source package installed (required for kernel driver compiling). If you do

rpm -qa |grep kernel

you should get something like

linux:/home/dean # rpm -qa |grep kernel
kernel-syms-2.6.25.9-0.2
kernel-pae-2.6.25.9-0.2
kernel-source-2.6.25.9-0.2

The package versions should be the same. If not, use yast software manager to install/update the required packages.


hstuifbergen@linux-6a9e:~/Documents/RutilTv0.16> rpm -qa |grep kernel
linux-kernel-headers-2.6.25-8.1
kernel-source-2.6.25.9-0.2
kernel-default-2.6.25.9-0.2

I was looking for kernel-headers, but now I see it’s named linux-kernel-headers :slight_smile:

However, while I try to update this using Yast, I can only get version 2.6.25-8.1.

Somewhere else on the forum I read that the following could be a solution:


rpm -e --nodeps linux-kernel-headers-2.6.25-8.1

Is this also working in my situation?

It was discussed in another thread, that it is normal for
the ‘linux-kernel-headers’ to NOT agree in version#.
(It doesn’t on my system, and I can compile drivers ok)
rpm -qa | grep kernel
kernel-source-2.6.25.9-0.2
kernel-default-2.6.25.9-0.2
kernel-syms-2.6.25.9-0.2
linux-kernel-headers-2.6.25-8.1

Install ‘kernel-syms’, and then try your ‘configure’ again.

No progress unfortunately…


hstuifbergen@linux-6a9e:~/Documents/RutilTv0.16> ./configure.sh
Kernel sources cannot be found.
Kernel headers found. They do not match your running kernel.
hstuifbergen@linux-6a9e:~/Documents/RutilTv0.16> rpm -qa |grep kernel
linux-kernel-headers-2.6.25-8.1
kernel-source-2.6.25.9-0.2
kernel-default-2.6.25.9-0.2
kernel-syms-2.6.25.9-0.2

Looks like this might be a problem specific to RutilT…see:
https://bugs.launchpad.net/ubuntu/+source/rutilt/+bug/68454

Do you even need to build a driver for the RT2500 these days? I thought the driver module for that chipset was merged into the mainline kernel already?

I had to do a fair bit of this crap a short while ago for my laptop. I bought a wireless card each for my laptop and my desktop PC. They were both RT2561/RT61. The serialmonkey project developed the drivers for the RT2561/RT61 and RT2500 sets. The RT2561/RT61 driver was merged into the mainline kernel as of 2.6.24, but I still couldn’t use that kernel because I couldn’t install openSuse 10.3 on my PC and my laptop died shortly after the release of 10.3

I assumed that since the RT2561/RT61 module is in that the RT2500 module must also be in. In fact, I thought the one driver module covered the lot. Are you sure it’s not just the firmware you need to install to get things working? For example, my RT2561/RT61 card had it’s driver module installed by the openSuse installer, but it still wouldn’t work until I plugged in a wired connection so I could download and install the firmware from the non-oss repository.

I don’t know if this info will be of much use to you, but you did say you were pretty clueless and I know exactly what it feels like to be clueless about doing just what you’re trying to do. So I thought I should at least offer what little knowledge I have. Just in case it might help.

stuifbergen schrieb:
> Code:
> --------------------
>
> hstuifbergen@linux-6a9e:~/Documents/RutilTv0.16> rpm -qa |grep kernel
> linux-kernel-headers-2.6.25-8.1
> kernel-source-2.6.25.9-0.2
> kernel-default-2.6.25.9-0.2
>
> --------------------
>
>
> I was looking for kernel-headers, but now I see it’s named
> linux-kernel-headers :slight_smile:

Nope, that’s something different. linux-kernel-headers is for compiling
applications, not kernel modules.

> However, while I try to update this using Yast, I can only get version
> 2.6.25-8.1.

That’s correct. The application programming interface (API) of the
kernel doesn’t change between maintenance versions, so
linux-kernel-headers 2.6.25 is actually correct for kernel 2.6.25.x.

> Somewhere else on the forum I read that the following could be a
> solution:
>
>
> Code:
> --------------------
>
> rpm -e --nodeps linux-kernel-headers-2.6.25-8.1
>
> --------------------
>
>
> Is this also working in my situation?

Possibly, if RutilT is so badly written that it doesn’t know about what
I wrote above, or looks in the wrong place for the actual kernel headers.

Another possibility would be to tell the configure script of RutilT
exactly where to look for the kernel headers. Try “./configure --help”
to see a list of options, and if you find something like
“–with-kernel-headers=<directory>”, try using that, like so_

./configure --with-kernel-headers=/usr/src/linux-2.6.25.9-0.2/include

Use the option name you found in the “./configure --help” output.
In case it complains about the directory not containing any kernel
sources/headers, try omitting the final “/include”.

HTH
T.