Discussion Locked

Driver trouble with 3com

0 helpful
7 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.
I'm using the 3com 3c905c nic and can't get the drivers to compile under redhat 7.1. I don't know what to do about it as I have tried numerous attempts at getting it compiled and failed every time. If anyone has a precompiled driver for my nic so I can get online with linux I would be greatly appreciative.

7 replies

by bloodbath

I already have and it won't work in the 7.1. The compilation is needed for the drivers directly from 3com. I tried using another but it was not compiled for the 2.4.2-2 kernel.

by whw

Ok, that being the case 2.4.2-2, you may need to recompile your kernel in order to build up the library files that the modules needs. Install the complete kernel sources find the source code for the drivers that are included with it (something like3c90x.c I believe) and replace them with the new 3com drivers. Recompile the kernel, select the appropriate modules and you should be good to go.

Again, good luck.

by whw

how to compile the kernel?

http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html

You might also find the text below useful too. It's snipped from a newsgroup article I read quite a long time ago.

For your purposes just remember to copy in the new 3c90x.c driver before you start with 'make config'
should be somewhere like /usr/src/linux/i386/network... just look around in the source files you'll find it

Also, I'd probably follow the steps in the Kernel-howto to get the kernel off theRH cd then just start with the "fun part"
You can probably skip 'make mrproper' by doing it this way
(See next comment)

by whw

---------------------------------------------
When you compile a kernel, always make sure the kernel sources are in /usr/src/linux, either that or make a link from /usr/src/linux
-> /usr/src/linux-2.2.14

Here's what you should do:

-Download the kernel you want in /usr/src

( Let's say you downloaded linux 2.2.14.tar.qz )

- cd /usr/src
- mkdir linux-2.2.14
- rm linux (don't forget to backup your .config first!)
- ln -s linux-2.2.14 linux
- tar xvfz linux-2.2.14.tar.gz

( Now for the fun part )

- cd /usr/src/linux
- make mrproper
- make config ( or xconfig, whichever you prefer...)
- make dep
- make clean
- make zImage (or bzImage for a big kernel)
- make modules
- make modules_install

(copy the new kernel into /boot)

- cp /usr/src/linux/arch/i386/boot/zImage /boot/kernel-2.2.14
NEVER DELETE YOUR LAST WORKING KERNEL!!!!

Now add the new boot option in lilo:
- vi /etc/lilo.conf

Heres what it could look like:
-------------------------------------------------
boot=/dev/hdc5
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/kernel-2.2.14 #New Kernel
label=linux
root=/dev/hdc5
read-only

image=/boot/vmlinuz-2.2.5-15 #Old Kernel
label=old
root=/dev/hdc5
read-only
-------------------------------------------------
The image you list here first, will boot automatically after 5 seconds.

Next you will need to run lilo and you'll probably get an output like this:

Added linux *
Added old

(Now copy the new System.map to /boot)

- cd /boot
- mv System.map System.map.old
- cp /usr/src/linux/System.map /boot/System.map

There you go! If things don't work out you'll always have the backup kernel which you can boot by typing 'old' atthe LILO prompt.

---------------------------------------------

by bloodbath

I really need the driver that has been precompiled for my linux box and I am unable so far to obtain the module and I am closing the question.

This discussion is closed to new replies.