I have a Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) in my new Ubuntu Trusty (14.04.1) server. As you can see here:
root@orac:/home/jj5# lspci ... 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) ...
I was having a problem with the card only supporting 100baseT speeds. I downloaded and installed the Realtek driver (and rebooted):
# bunzip2 r8168-8.039.00.tar.bz2 # tar xf r8168-8.039.00.tar # cd r8168-8.039.00 # ./autorun.sh # reboot
That didn’t fix the problem.
I installed the ethtool package and ran it:
# apt-get install ethtool # ethtool p2p1 Settings for p2p1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes
As you can see the speed is 100Mb/s, not 1000Mb/s. It says that 1000baseT full duplex is supported. I tried forcing the speed:
# ethtool -s p2p1 speed 1000 duplex full advertise 0 autoneg off
But that didn’t work. The ethtool program reported the card was still operating and 100Mb/s.
Then I tried plugging in a different cable… and that fixed the problem!