# Updated to 2.6, lost eth0

## sr71pav

I just loaded kernel 2.6.0-test9 to try it out, and when I load it, I don't have a network.  When I run /sbin/ifconfig, eth0 is gone.  I still have a working network under 2.4.   Can someone help on where I should even begin? (like should I have compiled some drivers into the kernel? how?)

Thanks.

----------

## Deathwing00

You forgot to compile your network card's driver inside the kernel...

Tell us your network card's details and we'll try to solve this easily.

----------

## sr71pav

From /proc/pci:

 *Quote:*   

> 
> 
>  Bus  0, device  16, function  0:
> 
>     Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 4.
> ...

 

Anything else you need?

----------

## digital

You can see that you have a 3Com 905B

Now you need to compile the driver.

Obviously, you've figured out how to compile a kernel you need to enable the module for this particular network card. run 'make menuconfig' in the dir of the kernel source, look under networking devices or something similar (i'm not on a linux machine right now). Make you've selected the right driver for your network card.

If you've compiled it as a module, make sure you load it. Loading modules can be done by hand with modprobe or in /etc/modules.autoload.

----------

## sr71pav

I tried compiling in the 3c59x driver overnight.  From what I could tell from both my 2.4 kernel and from other posts, that's what I needed right?  This morning when I got up, I tried it out, but it still isn't showing up in ifconfig.  Here's my dmesg:

 *Quote:*   

> 
> 
> Linux version 2.6.0-test9 (root@mclarenf1) (gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r2, propolice)) #4 SMP Thu Oct 30 00:19:24 UTC 2003
> 
> BIOS-provided physical RAM map:
> ...

 

From that, I think that means that it's finding the card, but then why isn''t it showing up?  Thanks for the help.

----------

## professorn

Never used a 2.6 kernel (yet, downloading now  :Smile: ) but try lsmod and modprobe if it isn't loaded

----------

## sr71pav

When I do lsmod, all it shows is my nvidia module.  modprobe 3c59x says FATAL: Module 3c59x not found.  But then how is 3c59x showing up in my dmesg?

----------

## professorn

Sounds strange, sure you have compiled "Support for 3Com cards" as module in kernel (as I said, I have never tried 2.6, this is from the 2.4 but check, cant be thar hard)

----------

## sr71pav

I'm pretty sure I did (and I need to get home after work to verify it).  Couple questions: 1) Don't you have to select "Support for 3Com cards" in order to select the 3c59x driver? and 2) if I go back to the  /usr/src/linux directory and run make menuconfig, it shows the selections made the last time I saved, right?  As you can tell, I'm rather new to this, so I don't yet know really how to troubleshoot some of this stuff yet.

----------

## professorn

1. Im not sure (never used 3com cards) but it sound logical

2. Yes the config will be there, if you dont run make mrproper (which you hopefully havn't done)

Edit: Looked at my kernel config and there dont seem to be module support for 3com cards

----------

## jaska

Try compiling all the 3com drivers into kernel and see if that helps any. Silly tactic maybe, but thats what I had to do with my linksys card, compiled all Tulip related drivers in because it didnt work with normal Tulip.o module.

----------

## sr71pav

I'll try that and see what happens.

I was searching around the forums some more and some guy said he fixed it by running env-update.  Any possibility this might work (or that it could break something in my still working 2.4 kernel)?  I'm just trying to come up with some things for me to try when I get off work today.

----------

## sr71pav

Just to double check to make sure I didn't do something dumb in menuconfig: when I have the * that means to build it into the kernel and an M means to build it as a module, right?

----------

## Deathwing00

 *sr71pav wrote:*   

> Just to double check to make sure I didn't do something dumb in menuconfig: when I have the * that means to build it into the kernel and an M means to build it as a module, right?

 

That's correct.

----------

## malloc

Well i've found an annoying little thing with the 2.6 series. Apparently hotplug doesn't like certain modules so he doesn't load them. I had one hell of a time trying to figure out why my eth cards wouldn't start under the 2.6 and finally i found out that it was just because hotplug wasn't working right. So try to put your module on /etc/modules.autoload.d/kernel-2.6 that did the trick for me

----------

## professorn

Hotplug is only for genkernel, right? Think I unmerged it some day ago, I realised I didn't use genkernel, hade some problems getting it to compile my soundcard module  :Sad: 

----------

## clowe

I have this problem also. works fine with 2.4 and not with 2.6. I have a 3com 3c905C-tx/txm Tornado. I have tried compliing the drivers as modules, and in the kernel. No luck on eth0. I also tried env-update, no joy. My dmesg ends in

3c505.c: warning, using default DMA channel

3c505.c: maodule autoprobe not recomended, give io=xx

3c505.c: failed to register card at 0x0.

Any suggestions?

I may need to be spoonfed, I was a dabbler for years till i finally zapped xp from my laptop recently.

Thanks

Chad

----------

## sr71pav

Should I have "Generic Media Independent Interface device support" selected?  I'm going to try compiling all the 3Com drivers in and seeing if that works at all.

----------

## professorn

Try env-update first?

clowe seems to have mixed up the DMA channels

----------

## sr71pav

env-update first? before what?

----------

## professorn

If it may help why dont try it, its done efter each emerge anyway....

----------

## sr71pav

Tried env-update, still have to start it manually.  Is it possible that something about it isn't begun for my runlevel (I think it's 3) at startup?  Is there something I need to add to /etc/inittab or am I missing something else?

Obviously I've got the card recognized and working, I'd just like it to start automatically at boot-time.  All I can figure is that I'm missing something that's changed from 2.4 to 2.6.

----------

## professorn

What tought you couldn't find the card at all in 2.6

It addes to the default runlevel? What does it say att boot? Errors?

----------

## sr71pav

Well, when I first started this whole thing, it didn't find the card, but I had forgotten to compile the drivers into the kernel.  Now, I've got that taken care of, and it finds the card alright at startup, but it doesn't start the network automatically at boot-time.

The only error I get is 

```
eth0: no IPv6 routers present
```

 that and some acpi stuff.  But if there's a problem there, why can I start it manually ok?  I admit I don't know the intricacies of Linux at all, but it seems like if I can do it manually after startup, it should be able to do it during startup, I just need to figure out how.   If this were windows, I'd have it in autoexec.bat, and if there's like a Linux equivalent file(s) I'd love to know it.

----------

## professorn

```

rc-update show  

```

Says anything about net.eth0, if not:

```

rc-update add net.eth0 default

```

----------

## sr71pav

It works!  Thanks for all the help!  I think what I've been missing for the past 16 hours has been that last part about rc-update.

----------

## clowe

 *professorn wrote:*   

> Try env-update first?
> 
> clowe seems to have mixed up the DMA channels

 

How do you mean? Is there a channel for the network card and if so how do I set it?

oh, and i had net.eth0 in the default run level... so much for easy fix ;(

----------

## professorn

 *sr71pav wrote:*   

> It works!  Thanks for all the help!  I think what I've been missing for the past 16 hours has been that last part about rc-update.

 

 :Very Happy: 

clowe: Im not quite sure, Im just reading the books, never had such problem myself. But can you set the IRQ,I/O, DMA etc somewhere when you recompile your kernel? I will probably have to new 3com ethernetcard today for my firewall/server  :Smile:  Maybe il try 2.6

----------

## clowe

Ok, call me stupid. or rather dyslexic. I was compiling and loading the wrong drivers. Once I got the Right drivers, everything was fine. Thanks for your help.

----------

