Compile network card for SMP machine

Does anyone have the experience of installing network card for SMP kernels?

I have a problem when I try to install the driver for DGE-500T Gigabit
network adapter (from
D-Link).

I downloaded a driver from internet which is claimed to work with SuSE Linux
8.0. (I am now using SuSE Linux 8.1 professional.) When I try to load the
driver module using "insmod" command after I compile the source files, it
gives the following error message:

"dpm.o was compiled for Kernel version 2.4.19-4GB, while current version is
2.4.19-64GB-SMP".

My linux is installed on a dual-processor PC. According to the README file
of the driver, I include the flag -D__SMP__ in the CFLAGS of the Makefile.
The CFLAGS line is as following after I modified it:

I am using the stock kernel from SuSE. I find the current kernel version is
2.4.19-64GB-SMP. Since our computer is a dual-pentium machine, this SMP
module seems to be automatically loaded when the system is boot up.

The error message given by the system when I tries to load the module gives
a wrong compiled driver version as,

"dpm.o was compiled for Kernel version 2.4.19-4GB, while current
version is 2.4.19-64GB-SMP".

I was thinking that there has been some contradiction in the CFLAGS options
in the makefile. Therefore, I didn't try to build my own kernel. Will
rebuilding my own kernel help in this case?

There is no difference if you are using the stock kernel from SuSE. SMP
support is built in. Have you built your own kernel??
> I have a problem when I try to install the driver for DGE-500T Gigabit
> network adapter (from
> D-Link).
>
> I downloaded a driver from internet which is claimed to work with SuSE
> Linux 8.0. (I am now using SuSE Linux 8.1 professional.) When I try to
> load the driver module using "insmod" command after I compile the
> source files, it gives the following error message:
>
> "dpm.o was compiled for Kernel version 2.4.19-4GB, while current
> version is
> 2.4.19-64GB-SMP".

This looks like the link to the kernel source is pointing to the wrong
place. Look in the dir where your kernel sources are. You will find a dir
called linux which is a link to the kernel source, which in your case is
2.4.19-4GB.You will need to change this link. Again, have you built your
own kernel?? Have you made the headers in this source tree??
> My linux is installed on a dual-processor PC. According to the README
> file of the driver, I include the flag -D__SMP__ in the CFLAGS of the
> Makefile. The CFLAGS line is as following after I modified it:
>
> CFLAGS
> = -D__SMP__ -DMODULE -DCLONE -D__NO_VERSION__ -D_DUMP -DSINGLE_PACKET
> -D_DP8 3820_ -DINTR_HOLDOFF -DMEMMAPPED_IO -D_DBG -DPHY_INTR
> -DFAILURE_MESSAGES -DS TATISTICS -DASSERTION -DCHECKSUM -DERRDEBUG -O
> -Wall -I$(INCLUDEDIR) -D__KER NEL__ -g -w
>
> However, the system gives me the same error persists. It looks like
> that the compiler does not take into account the -D__SMP__ flag.
>
> What else can I do to make my NIC card work? Is this driver support
> SuSE Linux 8.1? Do I add the -D__SMP_flag at the wrong position or
> there is some conflict in the compiling options?

Hope this helped , remember, any driver you compile in Linux needs the
compiled source for the kernel version you are running.
Mike

As I stated before, you must compile the driver with a made kernal source.
For example, you would need the kernal sources from the Suse CD you can
install them from yast2. Then you would need to compile them or at least
make the headers. By that I mean you need to cd into the dir where the
source is and make menuconfig. This will create the headers, and when
menuconfig comes up you can just cancel it. Then cd into the dir where the
driver sources are and ./configure, make and make install. If all works
you should be able to insmod the driver.
I think this is all correct, I haven't had to do this in awhile. If you
look in /usr/src you should have a dir called linux which is a link to the
source tree which on my system is linux-2.4.18.SuSE, yours should probably
be linux-2.4.19-64GB-SMP.SuSE. Check your system to see if this is right
or not. Cd into that dir and type make menuconfig. Like I said this will
make the headers and start menuconfig at which point you can just exit and
don't save the changes.
I hope I have been alot clearer in my instructions. Sorry about the
previous post it was a little sparce in the instructions.
Good luck, and let me know what happens.
Mike

> Stay ahead with Linux news - http://www.ittoolbox.com/i/lx.asp>
>
> Thanks you very much for your help, Mike.
>
> I am using the stock kernel from SuSE. I find the current kernel
> version is 2.4.19-64GB-SMP. Since our computer is a dual-pentium
> machine, this SMP module seems to be automatically loaded when the
> system is boot up.
>
> The error message given by the system when I tries to load the module
> gives a wrong compiled driver version as,
>
> "dpm.o was compiled for Kernel version 2.4.19-4GB, while current
> version is 2.4.19-64GB-SMP".
>
> I was thinking that there has been some contradiction in the CFLAGS
> options in the makefile. Therefore, I didn't try to build my own
> kernel. Will rebuilding my own kernel help in this case?
>
> Thanks again.
>
>

Copyright 1998-2015 Ziff Davis, LLC (Toolbox.com). All rights reserved. All product names are trademarks of their respective companies. Toolbox.com is not
affiliated with or endorsed by any company listed at this site.