# Gentoo64 on iMac Intel core duo 2 (eth problem)(SOLVED)

## DevOne

Hi folks,

I've a trouble with ethernet on my iMac.

All chipset (usb,pci-e, ecc...) are nVidia and i've installed gentoo successful, but...

lspci shows me:

```

* nVidia Corporation MCP79 Ethernet

```

I've use Intel PRO/1000 pci-express (e1000e) and broadcom tiger (tg3), but nothing...

With Intel driver buit-in, dmesg shows me a proper installation, but no eth0 was shown...

Plz help me!

Thanks in advance

Gianni

----------

## EzInKy

Have you tried the forcedeth driver? It's listed as nForce if your using menuconfig.

```

# lspci

00:00.0 Host bridge: nVidia Corporation MCP79 Host Bridge (rev b1)

00:00.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)

00:03.0 ISA bridge: nVidia Corporation MCP79 LPC Bridge (rev b2)

00:03.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)

00:03.2 SMBus: nVidia Corporation MCP79 SMBus (rev b1)

00:03.3 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)

00:03.5 Co-processor: nVidia Corporation MCP79 Co-processor (rev b1)

00:04.0 USB Controller: nVidia Corporation MCP79 OHCI USB 1.1 Controller (rev b1)

00:04.1 USB Controller: nVidia Corporation MCP79 EHCI USB 2.0 Controller (rev b1)

00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)

00:09.0 PCI bridge: nVidia Corporation MCP79 PCI Bridge (rev b1)

00:0a.0 Ethernet controller: nVidia Corporation MCP79 Ethernet (rev b1)

00:0b.0 SATA controller: nVidia Corporation MCP79 AHCI Controller (rev b1)

00:10.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)

01:00.0 VGA compatible controller: nVidia Corporation ION VGA (rev b1)

```

```

# dmesg | grep forcedeth

forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.

forcedeth 0000:00:0a.0: PCI INT A -> Link[LMAC] -> GSI 22 (level, low) -> IRQ 22

forcedeth 0000:00:0a.0: setting latency timer to 64

forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x732 @ 3, addr 90:e6:ba:6c:3e:ee

forcedeth 0000:00:0a.0: highdma csum pwrctl gbit lnktim msi desc-v3

```

----------

## DevOne

 *EzInKy wrote:*   

> 
> 
> Have you tried the forcedeth driver? It's listed as nForce if your using menuconfig.
> 
> 

 

Uhmm....it's interesting

I'll try that above later...

For now thanks.

----------

## gentoo_ram

I have a machine with that chipset.  'forcedeth' is the driver you want for ethernet.  Also, be aware you may have to enable MSI support for the ethernet to get an address from DHCP.  DHCP wouldn't work until I enabled MSI (message-signaled interrupts).

----------

## DevOne

 *gentoo_ram wrote:*   

> I have a machine with that chipset.  'forcedeth' is the driver you want for ethernet.  Also, be aware you may have to enable MSI support for the ethernet to get an address from DHCP.  DHCP wouldn't work until I enabled MSI (message-signaled interrupts).

 

thanks for information,but i'm not able to' find forcedeth

in MY kernel tree (2.6.31-r6)

----------

## EzInKy

In the .config file it should be called forcedeth, but it is listed as nForce when you run menuconfig.

```

Device Drivers --->

   Network device support--->

      Ethernet (10 or 100Mbit)--->

         nForce Ethernet support

```

----------

## DevOne

 *EzInKy wrote:*   

> In the .config file it should be called forcedeth, but it is listed as nForce when you run menuconfig.
> 
> ```
> 
> Device Drivers --->
> ...

 

Sorry...what do you mean with "it is listed as nForce when you run menuconfig"?

I've tried with prompt for development/incomplete...but nothing, no nForce was dispalyed!!

I've also tried with

```
cat .config | grep -i forcedeth
```

but it wasn't displayed

----------

## EzInKy

 *DevOne wrote:*   

>  *EzInKy wrote:*   In the .config file it should be called forcedeth, but it is listed as nForce when you run menuconfig.
> 
> ```
> 
> Device Drivers --->
> ...

 

Type this:

```

cat /usr/src/linux/.config | grep FORCEDETH

```

Here is my output:

```

CONFIG_FORCEDETH=y

CONFIG_FORCEDETH_NAPI=y

```

Yours most likely will say "n" instead of "y".

----------

## DevOne

 *EzInKy wrote:*   

> 
> 
> Here is my output:
> 
> ```
> ...

 

I hope that my result will be the same...   :Rolling Eyes: 

I'll try it later...thanks

----------

## cach0rr0

 *DevOne wrote:*   

> 
> 
> I hope that my result will be the same...  
> 
> I'll try it later...thanks

 

it wont show up unless you've already gone in and enabled the 10/100Mbit ethernet portion in the kernel. 

note that if you go into your usual 'make menuconfig', and hit the forward slash, you can search for 'forcedeath' - you dont need to grep the kernel config necessarily

hitting / shows you

```

┌Search Configuration Parameter ─────────────────────┐

│  Enter CONFIG_ (sub)string to search for (with or without "CONFIG")

│ ┌─────────────────────────────────────────────────────────────────────┐

│ │FORCEDETH

│ └─────────────────────────────────────────────────────────────────────┘

```

that search yields:

```

Symbol: FORCEDETH_NAPI [=n]

  │ Prompt: Use Rx Polling (NAPI) (EXPERIMENTAL)

  │   Defined at drivers/net/Kconfig:1425

  │   Depends on: NETDEVICES [=y] && NET_ETHERNET [=n] && FORCEDETH [=n] && EXPERIMENTAL [=y]

  │   Location:

  │     -> Device Drivers

  │       -> Network device support (NETDEVICES [=y])

  │         -> Ethernet (10 or 100Mbit) (NET_ETHERNET [=n])

  │           -> nForce Ethernet support (FORCEDETH [=n])

  │

  │

  │ Symbol: FORCEDETH [=n]

  │ Prompt: nForce Ethernet support

  │   Defined at drivers/net/Kconfig:1414

  │   Depends on: NETDEVICES [=y] && NET_ETHERNET [=n] && NET_PCI [=n] && PCI [=y]

  │   Location:

  │     -> Device Drivers

  │       -> Network device support (NETDEVICES [=y])

  │         -> Ethernet (10 or 100Mbit) (NET_ETHERNET [=n])      

```

bam, there you go, shows you how to find the driver. 

If you want to be completely sure you have the right drivers, take your lspci -n output, and paste it into the page on the first link in my signature

----------

## EzInKy

 *cach0rr0 wrote:*   

> 
> 
> note that if you go into your usual 'make menuconfig', and hit the forward slash, you can search for 'forcedeath' - you dont need to grep the kernel config necessarily
> 
> hitting / shows you
> ...

 

Hey thanks, I learned something new. I've always gone through each item, then visually scanned the .config for stuff that got included that I didn't need B-)

----------

## DevOne

 *cach0rr0 wrote:*   

> 
> 
> it wont show up unless you've already gone in and enabled the 10/100Mbit ethernet portion in the kernel. 
> 
> note that if you go into your usual 'make menuconfig', and hit the forward slash, you can search for 'forcedeath' - you dont need to grep the kernel config necessarily
> ...

 

Wow...that tips are usefull...thank you very much!

I'll try that...

----------

## cach0rr0

 *EzInKy wrote:*   

> 
> 
> Hey thanks, I learned something new. I've always gone through each item, then visually scanned the .config for stuff that got included that I didn't need B-)

 

It was a recent find for me, and besides the hardware compatibility list page, has been the single most useful trick I've found in a long while as far as configuring kernels goes. Huge time/pain saver.

----------

## d2_racing

This is my trick :

I use lspci -n or lspci -vmm -k from SystemRescueCD

```

gentootux linux # lspci -vmm -k

Slot:   00:00.0

Class:  Host bridge

Vendor: Intel Corporation

Device: 4 Series Chipset DRAM Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d3

Rev:    03

Slot:   00:01.0

Class:  PCI bridge

Vendor: Intel Corporation

Device: 4 Series Chipset PCI Express Root Port

Rev:    03

Driver: pcieport-driver

Slot:   00:1a.0

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB UHCI Controller #4

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Driver: uhci_hcd

Module: uhci-hcd

Slot:   00:1a.1

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB UHCI Controller #5

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Driver: uhci_hcd

Module: uhci-hcd

Slot:   00:1a.2

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB UHCI Controller #6

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Driver: uhci_hcd

Module: uhci-hcd

Slot:   00:1a.7

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB2 EHCI Controller #2

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

ProgIf: 20

Driver: ehci_hcd

Module: ehci-hcd

Slot:   00:1b.0

Class:  Audio device

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) HD Audio Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 8311

Driver: HDA Intel

Module: snd-hda-intel

Slot:   00:1c.0

Class:  PCI bridge

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) PCI Express Port 1

Driver: pcieport-driver

Slot:   00:1c.4

Class:  PCI bridge

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) PCI Express Port 5

Driver: pcieport-driver

Slot:   00:1c.5

Class:  PCI bridge

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) PCI Express Port 6

Driver: pcieport-driver

Slot:   00:1d.0

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB UHCI Controller #1

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Driver: uhci_hcd

Module: uhci-hcd

Slot:   00:1d.1

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB UHCI Controller #2

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Driver: uhci_hcd

Module: uhci-hcd

Slot:   00:1d.2

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB UHCI Controller #3

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Driver: uhci_hcd

Module: uhci-hcd

Slot:   00:1d.7

Class:  USB Controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) USB2 EHCI Controller #1

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

ProgIf: 20

Driver: ehci_hcd

Module: ehci-hcd

Slot:   00:1e.0

Class:  PCI bridge

Vendor: Intel Corporation

Device: 82801 PCI Bridge

Rev:    90

ProgIf: 01

Slot:   00:1f.0

Class:  ISA bridge

Vendor: Intel Corporation

Device: 82801JIR (ICH10R) LPC Interface Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Slot:   00:1f.2

Class:  SATA controller

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) SATA AHCI Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

ProgIf: 01

Driver: ahci

Slot:   00:1f.3

Class:  SMBus

Vendor: Intel Corporation

Device: 82801JI (ICH10 Family) SMBus Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 82d4

Slot:   01:00.0

Class:  VGA compatible controller

Vendor: nVidia Corporation

Device: Device 05e2

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 8298

Rev:    a1

Driver: nvidia

Module: nvidia

Slot:   02:00.0

Class:  Ethernet controller

Vendor: Marvell Technology Group Ltd.

Device: 88E8056 PCI-E Gigabit Ethernet Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 81f8

Rev:    12

Driver: sky2

Module: sky2

Slot:   03:00.0

Class:  IDE interface

Vendor: Marvell Technology Group Ltd.

Device: 88SE6121 SATA II Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 8212

Rev:    b1

ProgIf: 8f

Driver: ahci

Slot:   05:02.0

Class:  Ethernet controller

Vendor: Marvell Technology Group Ltd.

Device: 88E8001 Gigabit Ethernet Controller

SVendor:        ASUSTeK Computer Inc.

SDevice:        Marvell 88E8001 Gigabit Ethernet Controller (Asus)

Rev:    14

Driver: skge

Module: skge

Slot:   05:03.0

Class:  FireWire (IEEE 1394)

Vendor: Agere Systems

Device: FW323

SVendor:        ASUSTeK Computer Inc.

SDevice:        Device 8294

Rev:    70

ProgIf: 10

Driver: ohci1394

```

After that, I double check this with the module:

```

# find /usr/src/linux-2.6.31-gentoo-r6 -name Makefile | xargs grep -i module

```

```

# find /usr/src/linux-2.6.27-gentoo-r8 -name Makefile | xargs grep -i skge

```

```

/usr/src/linux-2.6.27-gentoo-r8/drivers/net/Makefile:obj-$(CONFIG_SKGE) += skge.o

```

You see, now I know that skge module is actually CONFIG_SKGE inside the kernel.

And then inside make menuconfig,

I use / and I enter CONFIG_SKGE.

It's between you and me right  :Razz: 

----------

## DevOne

Finally i've solved that!!

Under 10/100 ethernet,add support for eisa,pci,end finally

forcdeth goes out!!

Anyway i discover that with tip /

thanks for support!!

----------

## d2_racing

Nice  :Razz: 

----------

