# eth0: no such device

## Arbon

Hello. I have gentoo 2.6.27-r10 and the eth0 interface doesn't exist.

lspci said:

Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)

I am using the driver Broadcom Tigon3 Support (it should be the right one - for the 5x series see here http://www.gentoo-wiki.info/Tg3) compiled into the kernel.

I tried dmesg | grep eth and it said:

Driver 'sd' needs updating - please use bus_type methods

Driver 'sr' needs updating - please use bus_type methods

what does that mean?

----------

## muhsinzubeir

 *Quote:*   

> I have gentoo 2.6.27-r10 and the eth0 interface doesn't exist. 

 

Can you explain how it doesnt exist?

Do you mean this script doesnt exist

 *Quote:*   

> ls -l /etc/init.d/net.eth0

 

You can create that if doesnt exist....i dont know if default of gentoo comes with this link created.

 *Quote:*   

> cd /etc/init.d
> 
> ln -s net.lo net.eth0

 

P:S

Try 

 *Quote:*   

> lspci -vv 

 and read the " Kernel driver in use: " of your chip...to make sure that the chip has correct driver compiled in the kernel

----------

## Arbon

/etc/init.d/net.eth0 exists.

When i did lspci -vv it doesn't said anything about Kernel driver in use for my ethernet controller.

so it looks like i am using the wrong driver?. I compiled it into the kernel, not as a module, so that can't be the fault. What Driver do i else need for it?

----------

## poly_poly-man

ifconfig -a please? it might have shown up as eth1.

----------

## Arbon

ifconfig -a just lists the local loopback, already tried that possibility =/

----------

## NeddySeagoon

Arbon,

Provide the output of lspci and lspci -n please.

I want to know the Vendor and Device IDs of your network card so I can grep the kernel for them

----------

## muhsinzubeir

 *Arbon wrote:*   

> /etc/init.d/net.eth0 exists.
> 
> When i did lspci -vv it doesn't said anything about Kernel driver in use for my ethernet controller.
> 
> so it looks like i am using the wrong driver?. I compiled it into the kernel, not as a module, so that can't be the fault. What Driver do i else need for it?

 

I think the driver is the correct one....regardless of how its built in the kernel it should show up in lspci -vv.

Pls check if its set in the kernel...

```
grep TIGON3 /usr/src/linux/.config
```

Question:

What exactly is the output when you start this script?

```
/etc/init.d/net.eth0 start
```

By the way I found this, which answers you dmesg...and a workaround to get rid of those warning msg, but i understood they are harmless ...if i were you i wouldnt bother with warnings...yah im a terrible person who dont care bout warnings   :Very Happy: 

https://bugs.gentoo.org/213431

----------

## Arbon

here is lspci:

```

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile 

GM965/GL960 Integrated Graphics Controller (rev 03)

00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 

03)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 04)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 

Family) USB UHCI Controller #5 (rev 04)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 04)

00:1b.0 Audio 

device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 04)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 

(rev 04)

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 04)

00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) 

PCI Express Port 3 (rev 04)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 04)

00:1d.1 USB Controller: Intel 

Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 04)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 

(rev 04)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 04)

00:1e.0 PCI bridge: Intel Corporation 82801 

Mobile PCI Bridge (rev f4)

00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 04)

00:1f.1 IDE interface: Intel 

Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 04)

00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller 

(rev 04)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 04)

02:00.0 Ethernet controller: Broadcom Corporation NetLink 

BCM5787M Gigabit Ethernet PCI Express (rev 02)

04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)

0f:06.0 CardBus bridge: Texas 

Instruments PCIxx12 Cardbus Controller

0f:06.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller

0f:06.2 Mass 

storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)

0f:06.3 SD Host controller: Texas Instruments PCIxx12 SDA 

Standard Compliant SD Host Controller

```

and this is lspci -n

```

00:00.0 0600: 8086:2a00 (rev 03)

00:02.0 0300: 8086:2a02 (rev 03)

00:02.1 0380: 8086:2a03 (rev 03)

00:1a.0 0c03: 8086:2834 (rev 04)

00:1a.1 0c03: 8086:2835 (rev 04)

00:1a.7 0c03: 8086:283a (rev 04)

00:1b.0 0403: 8086:284b (rev 04)

00:1c.0 0604: 8086:283f (rev 04)

00:1c.1 0604: 8086:2841 (rev 04)

00:1c.2 0604: 8086:2843 (rev 04)

00:1d.0 0c03: 8086:2830 (rev 04)

00:1d.1 0c03: 8086:2831 (rev 04)

00:1d.2 0c03: 8086:2832 (rev 04)

00:1d.7 0c03: 8086:2836 (rev 04)

00:1e.0 0604: 8086:2448 (rev f4)

00:1f.0 0601: 8086:2815 (rev 04)

00:1f.1 0101: 8086:2850 (rev 04)

00:1f.2 0101: 8086:2828 (rev 04)

00:1f.3 0c05: 8086:283e (rev 04)

02:00.0 0200: 14e4:1693 (rev 02)

04:00.0 0280: 14e4:4315 (rev 01)

0f:06.0 0607: 104c:8039

0f:06.1 0c00: 104c:803a

0f:06.2 0180: 104c:803b

0f:06.3 0805: 104c:803c

```

grep TIGON3 /usr/src/linux/.config

says

```

CONFIG_TIGON3=y

```

Of course I've rebuilt the kernel and replaced the one in /boot/ with the new one.

/etc/init.d/net.eth0 start

says

```

Starting eth0

Configuration not set for eth0 - assuming DHCP

Bringing up eth0

dhcp

network interface eth0 does not exist

Please verify hardware or kernel module (driver)

```

----------

## NeddySeagoon

Arbon,

Doing 

```
$ cd /usr/src/linux

$ grep -R 1693 ./*
```

returns

./include/linux/pci_ids.h:#define PCI_DEVICE_ID_TIGON3_5787M	0x1693

among other things.  Thats on my 2.6.29-r1 kernel.

That tells that 2.6.29-r1 knows your network card as belonging to tg3.  The 1693 bring your device ID.

If you cannot produce that result on your kernel, you need a later kernel.

I don't have easy access to your kernel version to check it.

----------

## Arbon

This command returns the same line as in your post, 

./include/linux/pci_ids.h:#define PCI_DEVICE_ID_TIGON3_5787M 0x1693

edit: I "fixed" it by returning to my old r8 kernel. it works fine with it. dunno whats wrong, i am using the same config

----------

## NeddySeagoon

Arbon,

The "same" config ?

You mean you copied the old .config to the new kernel then ran make oldconfig in the new kernel?

make oldconfig silently drops configuration options that have been removed and asks you to choose settings for any that have been added.

When you migrate the .config from one kernel to another, make oldconfig ensures that you have a legal .config for the new kernel.

----------

