# 3com network card misses right driver

## Eplenektar

I have a 3com 3c905c-tx/tx-m [Tornado] network card in my computer. I have tried to use all of the 3com drivers, but none of them work. What do I do to fix this?

edit: the livecd used the correct driver, but how can I use this?

----------

## adaptr

Boot livecd, and lsmod to see what driver it loads.

It will be the standard 3c59x, though - that is used for virtually all 100mbit PCI cards.

----------

## Eplenektar

the driver it uses is 3com 3c905c-tx/tx-m [Tornado]. This driver does not exist in the driver menu. only 50x drivers...

----------

## adaptr

Let's get one thing straight: there are no drivers in the kernel config - only modules.

The 3c59x.ko module is used for the complete 3c905 range, which includes the Boomerang (3c905B), the Vortex (3c905C) and the Tornado (3c905TX/M).

----------

## Eplenektar

okay. so how do I load the 3c59x.ko in gentoo? DO I  have to use menuconfig to do that? or can I just load the module by a command? anyways, can you explain how I load the module?

edit: I found the 3c59x.c module, but It seem that I cannot load it. (tried the modprobe command). A problem occurs: Fatal: module /usr/src/linux_2.6.11_gentoo_r6/drivers/net/3c59x / 3c59x.c   not found. How can I fix this?

----------

## adaptr

For one, modprobe should never ever give you an error like that; it only looks for .ko files (kernel object files).

First determine whether you have actually built it as a module:

```
find /lib/modules/`uname -r`/ -iname 3c59x
```

If not, then you need to rebuild your kernel; whether you build it in or as a module is up to you.

Built-in saves a lot of hassle, since you won't need to load anything.

----------

## dkmweeks

This just happend to me, and I'm also new to Gentoo.

I have the 3c905's, and you're right, there isn't a 3c905 module listed in menuconfig.  It use the 3c59x driver, as demonstrated by the LiveCD boot.

Check ALL of the 3com adapter, with M for module.  Then make && make modules_install.

This will make any changes, and you WON'T have to wait for the whole kernel to build.

When you reboot, root in and type: modprobe 3c59x

That will install the module (aka---driver) for your NIC (network interface card).  To have this done all the time, add to the bottom of your /etc/modules.d/aliases file:

alias eth0 3c59x

Then run: modules-update

Your NIC modules should now work.  Do a lsmod to see if 3c59x is listed.  If not, modprobe 3c59x ought to put it there.

These steps will complete the installation of your NIC.  Know you need to configure your ipv4 tcp/ip settings.  If you don't know how to do that the handbook is a GREAT place to start.

If you simply want to "dhcp" (dynamic host configuration protocol) from your broadband router, then edit /etc/conf.d/net, un-commenting the eth0="dhcp" (remove the # sign from in front of it.  # indicates comment), and comment out the other options (Put a # in front of the other options).

Just remember, YOU are configuring your system to communicate with THE global Internet.  It's got rules and conventions, or it wouldn't work.

Learn it once, and you'll have it for life.

Sorry about the earlier mix-up.

David Weeks

----------

## Eplenektar

I made it work by making it a module, but I think I will try to do it like you did.

----------

## libero

I had the same problem.  But I solved thanks to help from 

dkmweeks

Cool! 

Here is an attempt to summarize some of the useful commands 

(basically just reviewing the output of my shell history): 

```

lspci -v

cd /usr/src/linux

make menuconfig     [ check the status of the 3com or other drivers you need ] 

make modules

make modules_install

lsmod

/etc/init.d/net.eth0 restart

lspci -v 

find /lib/modules/2.6.11-gentoo-r6/  -iname 3c59x 

modprobe 3c59x

vi /etc/modules.d/aliases     [ added the  line from dkmweeks' post:   alias eth0 3c59x ]

lsmod

modules-update

ifconfig -a 

```

Unfortunately, thinking back, I'm not sure which of these were actually useful in solving the problem, and which were just poking around.  However, anyone who gets this problem  has a good chance of resolving it by poking around with some of these too.   And this is the exact order I used, so maybe this order will work for you too.  

I added comments in [brackets], but most of these commands are not interactive, so there's no additional data to input.  

Fingers are crossed:  it works now, hoping that it stays fixed... 

Thanks all

Leo

----------

