# eth0 no such device

## l0cks

I'm trying to have my eth0 working. I installed Gentoo 1.4 using the LiveCD from stage1. Everything went fine.

My motherboard is a D865PERLX with an onboard Network adapter. The problem now is since the install, my eth0 won't work.

This is my 4th or 5th installation of Gentoo and I always included the network card drivers into the kernel. ( I just learned it is a bad abit )

I've been doing thousands of test for like 6 hours. I first verified if I had the right NIC selected in my kernel. Than I used the LiveCD and did a "lsmod" to see which module was used: it is the e100.

Now I just recompiled the kernel with both the e100 and the eepro100 as modules. If I do a "modprobe e100" I get:

```

/lib/modules/2.4.20-gentoo-r8/kernel/drivers/net/e100/e100.o: 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

/lib/modules/2.4.20-gentoo-r8/kernel/drivers/net/e100/e100.o: insmod /lib/modules/2.4.20-gentoo-r8/kernel/drivers/net/e100/e100.o failed

/lib/modules/2.4.20-gentoo-r8/kernel/drivers/net/e100/e100.o: insmod e100 failed

```

I get the same error msg with "modprobe eepro100"

Doing a: dmesg | grep eth    gives no results ( and I looked manually in the log file and there's nothing talking about network adapter )

I also disabled PnP in my BIOS, I used the noacpi, acpi=off, apci=off on my kernel command line.

I tried to set manual setting on the kernel: ether=IRQ,IO,eth0 ...

I read almost all post about this problem.

Any kind of help would be appreciated. I know I can install another NIC, but it is working from the LiveCD so I want to make it works.

What I think could be the issue is IRQ or IO conflict. How can I verify that ?

Thanks to everyone.

l0cks

P.S.: I can provide you with any info you might want

----------

## kwiqsilver

Since it looks like Linux doesn't think you have an e100 card, why don't you post the results of lspci or the appropriate info from /proc/pci?

----------

## l0cks

 *kwiqsilver wrote:*   

> Since it looks like Linux doesn't think you have an e100 card, why don't you post the results of lspci or the appropriate info from /proc/pci?

 

lspci gives me "command not found"

for the /proc/pci:

```

cat /proc/pci

PCI devices found:

  Bus  0, device   0, function  0:

    Host bridge: PCI device 8086:2570 (Intel Corp.) (rev 2).

      Prefetchable 32 bit memory at 0xf8000000 [0xfbffffff].

  Bus  0, device   1, function  0:

    PCI bridge: PCI device 8086:2571 (Intel Corp.) (rev 2).

      Master Capable.  Latency=32.  Min Gnt=8.

  Bus  0, device  29, function  0:

    USB Controller: PCI device 8086:24d2 (Intel Corp.) (rev 2).

      IRQ 16.

      I/O at 0xcc00 [0xcc1f].

  Bus  0, device  29, function  1:

    USB Controller: PCI device 8086:24d4 (Intel Corp.) (rev 2).

      IRQ 19.

      I/O at 0xd000 [0xd01f].

  Bus  0, device  29, function  2:

    USB Controller: PCI device 8086:24d7 (Intel Corp.) (rev 2).

      IRQ 18.

      I/O at 0xd400 [0xd41f].

  Bus  0, device  29, function  3:

    USB Controller: PCI device 8086:24de (Intel Corp.) (rev 2).

      IRQ 16.

      I/O at 0xd800 [0xd81f].

  Bus  0, device  29, function  7:

    USB Controller: PCI device 8086:24dd (Intel Corp.) (rev 2).

      IRQ 23.

      Non-prefetchable 32 bit memory at 0xffaffc00 [0xffafffff].

  Bus  0, device  30, function  0:

    PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 194).

      Master Capable.  No bursts.  Min Gnt=6.Max Lat=2.

  Bus  0, device  31, function  0:

    ISA bridge: PCI device 8086:24d0 (Intel Corp.) (rev 2).

  Bus  0, device  31, function  1:

    IDE interface: PCI device 8086:24db (Intel Corp.) (rev 2).

      IRQ 18.

      I/O at 0x0 [0x7].

      I/O at 0x0 [0x3].

      I/O at 0x0 [0x7].

      I/O at 0x0 [0x3].

      I/O at 0xffa0 [0xffaf].

      Non-prefetchable 32 bit memory at 0x20000000 [0x200003ff].

  Bus  0, device  31, function  2:

    IDE interface: PCI device 8086:24d1 (Intel Corp.) (rev 2).

      IRQ 18.

      I/O at 0xec00 [0xec07].

      I/O at 0xe800 [0xe803].

      I/O at 0xe400 [0xe407].

      I/O at 0xe000 [0xe003].

      I/O at 0xdc00 [0xdc0f].

  Bus  0, device  31, function  3:

    SMBus: PCI device 8086:24d3 (Intel Corp.) (rev 2).

      IRQ 17.

      I/O at 0xc800 [0xc81f].

  Bus  0, device  31, function  5:

    Multimedia audio controller: PCI device 8086:24d5 (Intel Corp.) (rev 2).

      IRQ 17.

      Non-prefetchable 32 bit memory at 0xffaff800 [0xffaff9ff].

      Non-prefetchable 32 bit memory at 0xffaff400 [0xffaff4ff].

  Bus  1, device   0, function  0:

    VGA compatible controller: ATI Technologies Inc Radeon VE QY (rev 0).

      IRQ 16.

      Master Capable.  Latency=32.  Min Gnt=8.

      Prefetchable 32 bit memory at 0xe8000000 [0xefffffff].

      I/O at 0xa800 [0xa8ff].

      Non-prefetchable 32 bit memory at 0xff8f0000 [0xff8fffff].

  Bus  2, device   8, function  0:

    Ethernet controller: PCI device 8086:1050 (Intel Corp.) (rev 1).

      IRQ 20.

      Master Capable.  Latency=32.  Min Gnt=8.Max Lat=56.

      Non-prefetchable 32 bit memory at 0xff9ff000 [0xff9fffff].

      I/O at 0xbc00 [0xbc3f].

```

Hope this help.

l0cks

----------

## kwiqsilver

lspci is part of the pcitools package which should be part of a default install...but then again so should a decent editor...

If you're worried about an IRQ conflict check /proc/irqs (or something like that...I'm at work so I have to guess at file names).

I was about to suggest using the LiveCD, but then reread your initial post.

Have you tried booting without the acpi stuff on your kernel line? I've had two e100 chips work on Gentoo without any kernel parameters.

The only other thing I can think of is how sure are you of your kernel compile/install? Did you copy the bzImage to /boot (after mounting it if needed)? Install the modules? Run lilo (or the grub equivalent)?

----------

## l0cks

 *kwiqsilver wrote:*   

> lspci is part of the pcitools package which should be part of a default install...but then again so should a decent editor...
> 
> If you're worried about an IRQ conflict check /proc/irqs (or something like that...I'm at work so I have to guess at file names).
> 
> I was about to suggest using the LiveCD, but then reread your initial post.
> ...

 

Yes I did try noacpi and acpi=off ...

I'm 100% sure of my compile install process. I do copy the bzImage to my /boot partition (after mounting it of course).

----------

## mike4148

Try this:

```
/sbin/lspci -v
```

----------

## kwiqsilver

I doubt it would help, but I meant did you try booting without any kernel parameters at all?

----------

## l0cks

/sbin/lspci won't work

 *kwiqsilver wrote:*   

> I doubt it would help, but I meant did you try booting without any kernel parameters at all?

 

Yes, by default I have no parameters.

----------

## kwiqsilver

You can't run lspci until you emerge pcitools.

----------

## travisau

I have a d865 also with the gig ethernet though.  The perlx that you mention does not have gig ethernet so you should not use the e1000 if that is the board you have.  I've had problems with things like this before and my first instinct is that it is not a problem with irq or io...especially if it works with the livecd.  When you build the kernel you did do make modules and make modules_install right?  Also it might help to make mrproper in /usr/src/linux before you build a new kernel to make sure you have a clean kernel tree.

----------

## l0cks

 *travisau wrote:*   

> I have a d865 also with the gig ethernet though.  The perlx that you mention does not have gig ethernet so you should not use the e1000 if that is the board you have.  I've had problems with things like this before and my first instinct is that it is not a problem with irq or io...especially if it works with the livecd.  When you build the kernel you did do make modules and make modules_install right?  Also it might help to make mrproper in /usr/src/linux before you build a new kernel to make sure you have a clean kernel tree.

 

I always used e100 and not the e1000 one. When I compile I do: make dep && make clean bzImage modules modules_install

I did "make mrproper" in /usr/src/linux and compiled again with no luck.

----------

## l0cks

About my theory of IRQ/IO conflict, I decided to boot with the LiveCD and "cat /proc/pci"

My network adapter got IRQ 9 but with the same IO range.

How is that I pass from 11 IRQ with the LiveCD to 20 when I boot up on my installation ?

How can I change the IRQ of my network adapter ?

Anyone else have IRQs above 16 ?

*update*

I talked to someone and I was told about APIC who expand the number of IRQ ... I will try to read on that and make more test disabling it.

* new update *

I add noapic on my kernel line and I'm now back to IRQ 9 but still modprobe e100 or eepro100 will fail.

----------

## ahbritto

I didn't even remember  the e100 driver in the kernel till I read this topic...

The e100 driver I use is from Intel and is not in the kernel.

After building the kernel, I emerge e100.

Everything works fine after that.

----------

## l0cks

 *ahbritto wrote:*   

> I didn't even remember  the e100 driver in the kernel till I read this topic...
> 
> The e100 driver I use is from Intel and is not in the kernel.
> 
> After building the kernel, I emerge e100.
> ...

 

IT IS NOW WORKING !!!

What I did:

I downloaded e100-2.3.27.tar.gz

Put it in /usr/portage/distfiles/

emerge e100

edited /etc/modules.autoload.d/kernel-2.4

put: e100

rebooted

and it is now working !!!

Still that doesn't explain why it wasn't working the first time since the LiveCD was using the other version of e100. But anyway, I'm happy now !

Thanks to all of you who provided information and help.

This community is great!

l0cks

----------

## tuxlover

 *kwiqsilver wrote:*   

> lspci is part of the pcitools package

 

The package containing lspci is called pciutils. It's in sys-apps.

----------

## nick125

 *l0cks wrote:*   

>  *ahbritto wrote:*   I didn't even remember  the e100 driver in the kernel till I read this topic...
> 
> The e100 driver I use is from Intel and is not in the kernel.
> 
> After building the kernel, I emerge e100.
> ...

 

I did it another way. 

gunzip and tar e100-2.3-27.tar.gz

went to the folder that the file was extracted to

make

changed the /etc/modules.autoload.d/kernel-2.6 with e100

rebooted the system

SUCCESS!!!

I know I could followed the method that l0cks used but I not used to following those instructions because I just came from Fedora Core to Gentoo Linux. Thanks for the help. Otherwise I would be recompliling the Kernel, and other things

----------

