[CentOS] RTL8111/8168B always 100mbps

Tue Sep 27 13:44:35 UTC 2011
John Doe <jdmls at yahoo.com>

From: Muhammad Panji <sumodirjo at gmail.com>

> I have an onboard Realtek RTL8111/8168B NIC. from lspci -vv :
> 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
> RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
> It is detected, but why the speed is always 100Mbps, already change
> cable but still no luck. I use ethtool and from the output it seems
> that system know that this NIC support gigabit speed :
> have change the driver r8169 with r8168 and follow the guide on CentOS
> wiki http://wiki.centos.org/AdditionalResources/HardwareList/RealTekRTL8111b
> but still it only get 100Mbps speed.

Same controller here... and I always get downgraded to 100Mbps...
I am using kmod-r8168-8.025.00-1
I have other PCs connected to the same switch and they are in 1000Mbps...

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        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: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
        Link detected: yes

I tried:
# ethtool -s eth0 speed 1000 duplex full autoneg off advertise 0x020
but auto-negotiation stays on and I only get 100Mbps...

I tried:
# ethtool -s eth0 duplex full autoneg off advertise 0x020
auto-negotiation is off but nothing change...

JD