# [Solved] Kernel 2.6.35 + forcedeth + 1000M Autoneg Issue

## Loci79

Hi,

I haven't found something here. So a new thread.

It seems as if there's a problem with forcedeth driver and autonegotiation.

```
Settings for eth1:

        Supported ports: [ MII ]

        Supported link modes:   10baseT/Half 10baseT/Full 

                                100baseT/Half 100baseT/Full 

                                1000baseT/Full 

        Supports auto-negotiation: Yes

        Advertised link modes:  10baseT/Half 10baseT/Full 

                                100baseT/Half 100baseT/Full 

                                1000baseT/Full 

        Advertised auto-negotiation: Yes

        Speed: Unknown! (65535)

        Duplex: Unknown! (255)

        Port: MII

        PHYAD: 1

        Transceiver: external

        Auto-negotiation: on

        Supports Wake-on: g

        Wake-on: d

        Link detected: no
```

Setting the device to < 1000M full duplex autoneg off works. But as soon as I try to set 1000M full duplex no link is detected.

```
Cannot set new settings: Invalid argument

  not setting speed

  not setting duplex

  not setting autoneg
```

```
*-bridge:0

          description: Ethernet interface

          product: MCP55 Ethernet

          vendor: nVidia Corporation

          physical id: 8

          bus info: pci@0000:00:08.0

          logical name: eth1

          version: a2

          serial: 00:1b:fc:5b:52:62

          size: 100000000

          capacity: 1000000000

          width: 32 bits

          clock: 66MHz

          capabilities: bridge pm msix msi ht bus_master cap_list ethernet physical mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation

          configuration: autonegotiation=off broadcast=yes driver=forcedeth driverversion=0.64 duplex=full ip=192.168.0.4 latency=0 link=yes maxlatency=20 mingnt=1 multicast=yes port=MII speed=100MB/s

          resources: irq:47 memory:fe02a000-fe02afff ioport:b000(size=8) memory:fe029000-fe0290ff memory:fe028000-fe02800f
```

```
filename:       /lib/modules/2.6.35-gentoo-r7/kernel/drivers/net/forcedeth.ko

license:        GPL

description:    Reverse Engineered nForce ethernet driver

author:         Manfred Spraul <manfred@colorfullife.com>

alias:          pci:v000010DEd00000D7Dsv*sd*bc*sc*i*

...

alias:          pci:v000010DEd000001C3sv*sd*bc*sc*i*

depends:        

vermagic:       2.6.35-gentoo-r7 SMP mod_unload 

parm:           max_interrupt_work:forcedeth maximum events handled per interrupt (int)

parm:           optimization_mode:In throughput mode (0), every tx & rx packet will generate an interrupt. In CPU mode (1), interrupts are controlled by a timer. In dynamic mode (2), the mode toggles between throughput and CPU mode based on network load. (int)

parm:           poll_interval:Interval determines how frequent timer interrupt is generated by [(time_in_micro_secs * 100) / (2^10)]. Min is 0 and Max is 65535. (int)

parm:           msi:MSI interrupts are enabled by setting to 1 and disabled by setting to 0. (int)

parm:           msix:MSIX interrupts are enabled by setting to 1 and disabled by setting to 0. (int)

parm:           dma_64bit:High DMA is enabled by setting to 1 and disabled by setting to 0. (int)

parm:           phy_cross:Phy crossover detection for Realtek 8201 phy is enabled by setting to 1 and disabled by setting to 0. (int)

parm:           phy_power_down:Power down phy and disable link when interface is down (1), or leave phy powered up (0). (int)
```

The issue appeared when updating the kernel from 2.6.32-r7 to 2.6.35-r7.

Does anyone have a clue if this issue is known and how it can be fixed?Last edited by Loci79 on Sat Mar 12, 2011 4:32 pm; edited 2 times in total

----------

## cyrillic

The 2.6.35* kernels are not too good in my experience.

Go with 2.6.34* for stability, or with 2.6.36* if you want to be on the cutting edge.

----------

## Loci79

 *cyrillic wrote:*   

> The 2.6.35* kernels are not too good in my experience.
> 
> Go with 2.6.34* for stability, or with 2.6.36* if you want to be on the cutting edge.

 

2.6.35-r7 is the first version which fixed this ELF-issue. This was the reason for the update.

gentoo-sources-2.6.36* is still not in portage.

----------

## Loci79

Downgrading to 2.6.34-gentoo-r12 solved the problem. Seems as if it really was .35 release.

----------

## Jimmy Jazz

 *Loci79 wrote:*   

> Downgrading to 2.6.34-gentoo-r12 solved the problem. Seems as if it really was .35 release.

 

I have had the same issue after upgrading an old nforce4 motherboard to 2.6.35+

Also, I don't use nforce motherboard any more, but I'm convinced auto negotiation has nothing to do with the lost of the line. The default allocated buffer size just overflows at high rate.

Try to increase your ring buffers,

```

/usr/sbin/ethtool -s eth0 speed 1000 duplex full autoneg on

/usr/sbin/ethtool --set-ring eth0 rx 16384 tx 16384

```

Jj

----------

## Loci79

I updated my kernel to 2.6.36 today and tried setting the ring buffer sizes... no success... as soon as I try to set it to 1000M it looses link...

Edit: I changed cables... and it seems as if this worked... the old cables seem to be capable of only 100MBit....

----------

