# eth0: Device not found  [solved]

## tom-snj

Im having a problem with my network adapter/s (onboard & PCI: both Intel e1000).  Im getting eth0 (& eth1) does not exist, on boot. 

Ifconfig eth0 (or eth1): error fetching interface information: Device not found

Booting from the live-cd finds eth1 and gives it an IP address.

I followed the advice I found from, Praxxus (dated: 5/6/2005)

Things to do as root: 

1)

Code:

cd /usr/src/linux

2)

Code:

make menuconfig

3) Go to: 

Device Drivers 

--->Networking support 

4) Make sure [ ]Networking support (at the top) is enabled! 

5) Go to: 

--->Networking options 

6) Here, I would go through each item and either compile it into the kernel (*) or as a module (M) if the help recommends it. Usually it will say something like, "Say 'Y' for now," or "Say 'Y' here unless you know what you are doing." As a cheat sheet, you can peek at a screenie of my own network config, but you'll be much better off in the long run if you read through things yourself. Especially since I have some stuff selected that isn't essential to get networking up and running. 

7) Select < Exit > at the bottom of the menu 

8) Go down to: 

--->Ethernet (10 or 100Mbit) 

9) Select: 

[*] Ethernet (10 or 100Mbit) 

[*]EISA, VLB, PCI and on board controllers 

[*] Intel 

10) < Exit > 

11) < Exit > 

12) < Exit > 

13) < Exit > 

14) < Yes >, you want to save your new kernel configuration 

15) 

Code:

cp .config config make mrproper cp config .config make oldconfig make mount /boot make install && make modules_install

The first three steps there are to get your new config out of the way, clean up your kernel code, then put your config back so you can build the kernel based on that. 

16) Edit /etc/modules.autoload.d/kernel-2.6, and add a line that says "e1000" 

17) 

Code:

rc-update add net.eth0 default

Just to be sure! 

18) reboot

(step 17) Rc-update add net.eth0 default

gives me: net.eth0 already installed in runlevel default; skipping

ifconfig etho up

gives me: eth0: unknown interface: device not found

modprobe a e1000

module e1000 not found

modprobe l

doesnt show the e1000 (step 16)

I also went into menuconfig and set the Intel to [M] after failing with [*]

Open to suggestions.

Regards,

TomLast edited by tom-snj on Sun Apr 30, 2006 2:53 pm; edited 1 time in total

----------

## Dizzutch

you enabled the module for the e100 (10/100 card) not the e1000 (1gb card)

follow all the steps again except in step 8 go to

```

Ethernet (1000Mbit)

```

and select

```
 

Intel(R) PRO/1000 Gigabit Ethernet support

```

in step 9.

Follow the rest of the steps to compile the e1000 module

_dizz

----------

## tom-snj

I enabled it for both adpters - 100 & 1000.  Tired [*] and [M], still not finding them.

Regards,

Tom

----------

## Dizzutch

are you sure you have a e1000 card? what's the output of 

```

lspci

```

this program can be found in the sys-apps/pciutils package

----------

## tom-snj

e1000 - along with all the other info; but thanks for asking.

Regards,

Tom

----------

## tom-snj

Sorry about that last response - the e1000 was from modprobe.  I'm having trouble copying and pasting from the command line and I'm unable to add an attachment (using links) to an email I'd send to a windows box.  I'm afraid I'll have to hand copy the file to post it.  Fortunately, it's only several lines.

Tom

----------

## tom-snj

Here's the output for lspci.  The m/b (intel D875PBZ) has an on-board gigabit and the PCI card is an intel pro 1000

0000:02:01.0 Ethernet Controller: Intel Corp 82547EI Gigabit Controller (LOM)

0000:03:01.0 Ethernet Controller: Intel Corp 82540EM Gigabit Controller (rev 02)

Regards,

Tom

----------

## tom-snj

I have it working now but it's a round-a-bout process.  I run;

#  modprobe e1000

#  dhcpcd eth1

(found in a post by: Fahuadai & alphonce; 4/29/06) and I'm up and running.

The handbook mentions (around page 85) that I should have first linked net.lo to net.eth0

# ln -s net.lo net.eth0

On page 35 it only mentions linking multiple network interfaces;

# ln -s net.eth0 net.eth1

Could the above (net.lo net.eth0) be the reason dhcp doesn't assign an IP to the interface, on boot ?

Regards,

Tom

----------

## mutlu_inek

Well, sort of. If you do not have a /etc/init.d/net.eth0, then create a symlink. Then (whether created or already existed) edit your /etc/conf.d/net according to you setup (e.g. add the line: dhcp_eth0="nodns") and add net. eth0 to your rc-script by doing 

```
rc-update add net.eth0 default
```

And you might also have to autoload the module at startup.

----------

## tom-snj

Thanks,

Yes I did setup the link between eht0 & eth1 - I'll try the autoload.

Regards,

Tom

----------

## mutlu_inek

Glad that it works! Linking eth1 to eth0 is theoretically ok, but I would like to note that ideally both net.eth0 and net.eth1 should be symlinks to net.lo. If you start copying/linking differently, you might end up having problems after updates.

----------

## sleepingsun

What you type in modules for this 

 *Quote:*   

> Ethernet Controller: Intel Corp 82540EM Gigabit Controller (rev 02)

 

If is not problem that you tell me i have same network card and try all what you posted and i get error for eth0 and also error for netmount and dhcp ! 

When i type modprobe -a e1000 i get error

 *Quote:*   

> WARNING Error inserting e1000 (/lib/modules/2.6.16-gentoo-r6/kernel/drivers/net/e1000/e1000.ko): Unknown symbol in module, or unknown parametar (see dmesg)

 

Need help I'm  newbie ! 

Thank you

----------

## mutlu_inek

Please open a new topic for your question. You will not get answers in other people's only remotely related threads.

Also, when posting your question again, add at least the information the error already asks for ("see dmesg"): copy & paste the lines in your /var/log/dmesg file that seem related to your problem.

Thank you.

----------

