Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
first of all, I'm a real newbie to Linux and yes, I have searched and read all the threads concerning this subject.
Unfortunately I'm stupid, so I did not understand a thing of what I was supposed to do to get this card to work with Mandrake (same problem with RedHat).
My hope is that someone can help me from scratch.
First of all, the network card is integrated in my Asus P4P800DX (the 3Com 3c940 Gigabit chip) and is not autodetected during the install. If I follow the instructions in the driver package (downloaded the 0.44 version from Asus) I can't Make because my kernel is not where Asus wants it to be.
Also tried the Jan Hugo Prins thread, but as I understand I have to build the driver before moving it into the right folder, which seems to be impossible at this stage.
Could someone who's had the same problem help me? Cannot submit to defeat by installing a card that works automatically!
Would really appreciate all help, at the end I might understand how this whole thing works
Well, here me again. First you tell me you don't know how to copy a driver after it has been compiled. I can't figure a way to copy a uncompiled driver to the /lib/modules/'uname -r'/ directory tree, because you don't have a driver before compile and there are only compiled drivers in the /lib/modules directory tree.
So, just unpack the driver source in your homedirectory by first unzipping the .zip file and after that you go into the Linux directory that is created and you do:
tar xvzf 3c2000.tar.gz
Next you go into the 3c2000 directory that gets created and you do:
make
If you have the kernel development packages installed and the /usr/src/linux points to you current kernel source tree the build should function properly.
After that you copy the 3c2000.o file that gets created to the directory:
/lib/modules/'uname -r'/kernel/drivers/net
to your modules.conf file you at the line:
alias eth0 3c2000
Now you run:
depmod -a
The rest should be explained in the documentation of your distribution. Things like configuring a network adapter etc.
Thanks for your answer, but I probably didn't make myself clear...sorry about that. The problem is that I only get a lot of strange messages when I try to compile - that's the main problem.
There is no kernel in my usr/src/ folder, only a folder named RPM,
so that's probably why the makefile can't find anything (I guess).
You first need the kernel sources installed to be able to compile your driver. Start Mandrake Control Center, select Software Management->RPMDrake (with the green 'plus' sign), click in the Search box, type 'kernel' and click on Search. This should show you a list of packages that could be installed, with the letters 'kernel' in their name. Select the one named 'kernel-source-2.4.21-0.18mdk'. It would be a good idea to select the one named 'kernel-doc-2.4.21-0.18mdk' as well, if it is listed. Then click on the 'Install' button. Once the packages are installed, you should find that the 'make' command will now find the things it is looking for and you should get fewer error messages.
OK, I have the same network chip, on an Abit IS-7 board.
I did everything as described here, compiled just fine and I changed the modules file. But now when I try to acces the network configuration, that window hangs, and when I shut down, it also stops at eth0.
Any suggestions?
I have a Pc with Linux (Mandrake 9.1 kernel 2.4.21) with a Gigabit Ethernet LOM named 3C940, based on a chipset by SysKonnect.
Because I need a driver (not available on my Linux distribution) I checked on SysKonnect web pages and I downloaded the Linux InstallPackage (incl. driver v.6.21) for Kernel 2.4.13 and above.
I followed the step as stated in the readme document (both the user and expert mode) but I obtained the following error:
============== LOG (BEGIN) ===========================
Create tmp dir (/tmp/Sk98IcpChpoKaQoabCnMaMEId) passed
Check user id (0) passed
Check host type (done) passed
Check architecture (found) passed
Set architecture (i386) passed
Check compiler (/usr/bin/gcc) passed
Check mcmodel flags (32bit) passed
Check module support (/sbin/insmod) passed
Check make (/usr/bin/make) passed
Check archive file (sk98lin) passed
Check kernel version (2.4.21-0.13mdkenterprise) passed
Check kernel gcc version (3.2.2) (Kernel:3.2.2 == gcc:3.2.2) passed
Check sk98lin driver availability (not loaded) passed
Check kernel header files (/usr/src/linux) passed
Unpack the sources (done) passed
Save old version.h file (done) passed
Save old autoconf.h file (done) passed
Check sources for .config file (/usr/src/linux/.config) passed
Copy and check .config file (done) passed
Execute: make config (done) passed
Execute: make dep (done) passed
Check kernel functions (Changed: nothing) passed
Check kernel header version (Kernel:2.4.21-0.13mdkenterprise != Header:2.4.21-0.13mdpassed )
Save old version.h (saved) passed
Check and create new version.h (created) passed
Compile the driver (done) passed
Restore old version.h (done) passed
Restore old autoconf.h (done) passed
Copy driver man page into /usr/share/man/man4/ (done) passed
Check the driver (error) failed
An error has occurred during the check proces which prevented
the installation from completing.
It's not possible to build a standalone sk98lin driver on this
host. The kernel don't export a neccesary symbols for the
device driver and we aren't able to load the driver.
Please compile the kernel and the driver manually.
The new driver has been installed in the /usr/src/linux
directory.
1.) Go to the directory /usr/src/linux
2.) For the console mode, run the command: make menuconfig
3.) Select the options you want to compile into the kernel
4.) Select the menu "Network Device Support"
5.) Select "Ethernet (1000 Mbit)".
5.) Mark "Marvell Yukon/SysKonnect SK-98xx/SK-95xx Gigabit
Ethernet Adapter support" with (M)
6.) Execute the command:
make dep clean bzImage modules modules_install
7.) Install the new kernel
Installation of sk98lin driver module failed.
Copying driver (done) passed
Make dependency (done) passed
Restore old version.h (done) passed
Restore old autoconf.h (done) passed
Delete temp directories (done) passed
All done. Driver installed and loaded.
/lib/modules/2.4.21-0.13mdkenterprise/kernel/drivers/net/sk98lin/sk98lin.o: unresolved symbol skb_padto
modprobe: insmod /lib/modules/2.4.21-0.13mdkenterprise/kernel/drivers/net/sk98lin/sk98lin.o failed
/lib/modules/2.4.21-0.13mdkenterprise/kernel/drivers/net/sk98lin/sk98lin.o.gz: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
modprobe: insmod /lib/modules/2.4.21-0.13mdkenterprise/kernel/drivers/net/sk98lin/sk98lin.o.gz failed
modprobe: insmod sk98lin failed
Any suggestion?
Thanks in advance
Giuseppe Briotti
PS the 3c2000 (both 044 and 046) didn't work (i.e. web sites such google are unavailable)
I have an Asus P4P800 motherboard and Red Hat 9.0.
To install my driver 3c2000/3c940, the readme file tells me that the kernel source should be in /usr/src/linux but is not there.
When i execute "make load" a huge quantity of messages appear.
What should i do?
Should i change the Makefile? And how?
Or, is there another way?
Originally posted by ivoletra I have an Asus P4P800 motherboard and Red Hat 9.0.
To install my driver 3c2000/3c940, the readme file tells me that the kernel source should be in /usr/src/linux but is not there.
When i execute "make load" a huge quantity of messages appear.
What should i do?
Should i change the Makefile? And how?
Or, is there another way?
Thanks,
Ivo Letra
Well, did you installed the kernel source? It seems that the make didn't find it! This is basically for two reasons:
1. you didn't install the kernel sources
2. the sources are in the wrong location or the Makefile check in the wrong location :-)
Briotti: Regarding the sk98lin driver for the 3C940/3c2000, do you have the kernel source loaded on your system? It is required for the manual installation, even as a module.
“Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family driver for LINUX installation instructions:
...
2 Required Files
The linux kernel source.
No additional files required.
...”
It worked for me first try (installed as a module) using the linux InstallPackage for Kernel 2.4.13 and above.
--------------------
Just in case someone reading this post doesn’t know this, stop trying to use the 3com drivers (044 and 046) for the 3C940/3C2000. Almost everyone is having or has had trouble with the drivers. Just go to the above web site and download the linux drivers for the SysKonnect SK-98xx. The drivers are also present in later versions of the 2.4 kernel (SysKonnect SK-98xx adapter).
Or said a different way:
SysKonnect SK-98xx adapter = 3com 3C940/3c200 adapter, but with drivers that work.
Hope that helps.
Thank you SysKonnect!
Last edited by WhatsHisName; 04-17-2004 at 07:29 PM.
ivoletra: You are absolutely right. I made a mistake when I put a “:” at the end of the address and it got consolidated into the address. The address is corrected in my original post and listed here.
It takes you to a driver page. Select "gigabit ethernet", select "SK-98xx gigabit...", scroll down and select "linux open source", read the "read me", download the "InstallPackage" (i.e., install-624.tar.bz2) for kernel 2.4.13 and above and follow the instructions for installation as a module (in the "read me"). For some reason, I couldn't download the InstallPackage in mozilla and had to use microsoft internet explorer to do it (and, yes, I crossed myself after using MIE).
A google search gives this address http://www.cs.duke.edu/~albert/ for install-624.tar.bz2, which is what you are looking for.
Sorry about that. It’s always the simple stuff that gets us.
Last edited by WhatsHisName; 04-17-2004 at 09:32 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.