Bug 855299

Summary: r8169 NIC driver fails to establish link at optimal speed and duplex
Product: [Fedora] Fedora Reporter: Olle Liljenzin <olle>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: fedora-kernel-ethernet-realtek, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, romieu
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-31 22:17:19 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Attachments:
Description Flags
requested output none

Description Olle Liljenzin 2012-09-07 05:31:06 EDT
Description of problem:
realtec interfaces runs with degraded link speed

Version-Release number of selected component (if applicable):
kernel-3.5.3-1.fc17.x86_64

How reproducible:
Always

Steps to Reproduce:
1. ifup ethx
2. ethtool ethx
  
Actual results:
100Mb/s half duplex

Expected results:
1000Mb/s full duplex

Additional info:
# lspci|grep Eth
04:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
09:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)

The two realtec use r8169 and run at degraded link speed. The intel uses e1000e and runs at full link speed.

ifup-eth2 (8111/8168B) brings up the link in 100Mb/s half duplex instead of 1000MB/s full duplex. Trying to enable full duplex with 'ethtool -s eth2 speed 100 duplex full' makes it just worse. The first call degrades the speed to 10Mb/s with no output from ethtool. The second call takes down the link.

The link can be brought up to 100Mb/s full duplex manually:
# ethtool -s eth2 speed 100 duplex full autoneg off
# ethtool eth2
Settings for eth2:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes


Unfortunately requesting 1000Mb/s fails on both realtec interfaces (but works on the Intel one):

# ethtool -s eth2 speed 1000 duplex full autoneg off
Cannot set new settings: Invalid argument
  not setting speed
  not setting duplex
  not setting autoneg
Comment 1 Francois Romieu 2013-01-25 13:13:03 EST
(In reply to comment #0)
[...]
> # ethtool -s eth2 speed 1000 duplex full autoneg off
> Cannot set new settings: Invalid argument
>   not setting speed
>   not setting duplex
>   not setting autoneg

Gigabit mandates autonegotiation. The driver does not even try to enable
gigabit speed without autoneg.

Could you enable autoneg again and send 'mii-tool -vv eth2' ? Please check
that it does not change over time.

lspci displays all 8168 as 8168b. Please provide a complete dmesg to identify
the specific 816x device

Thanks.

-- 
Ueimor
Comment 2 Olle Liljenzin 2013-01-28 07:05:30 EST
Created attachment 688901 [details]
requested output

I rebooted the machine with the kernel 3.7.3-101.fc17.x86_64 and eth2 attached to a printer with the link speed manually locked to 100/full duplex. eth2 was brought up by network scripts with default options.

eth2 was in 100/half duplex after boot. The file mii-tool.out-0 contains the output from 'mii-tool -vv eth2'.

I removed the cable and attached it again with similar result. (mii-tool.out-1) 

I removed the cable from eth2 again. I also removed the cable from eth0 which has a gigabit switch in the other end and attached it to eth2 instead. eth2 reports no link when connected to the gigabit switch. (mii-tool.out-2-gigabit)

I switched back the cables again. eth0 back in gigabit mode as before and eth2 in 100/half duplex. (mii-tool.out-3)

The file dmesg contains output from dmesg after the elaboration.
Comment 3 Josh Boyer 2013-06-03 15:14:05 EDT
Are you still seeing this with the 3.9.4 kernel in updates-testing?
Comment 4 Olle Liljenzin 2013-06-11 04:07:55 EDT
I tried 3.9.4 with same result.
Comment 5 Fedora End Of Life 2013-07-03 19:31:22 EDT
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '17'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 17's end of life.

Bug Reporter:  Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 17 is end of life. If you 
would still like  to see this bug fixed and are able to reproduce it 
against a later version  of Fedora, you are encouraged  change the 
'version' to a later Fedora version prior to Fedora 17's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 6 Fedora End Of Life 2013-07-31 22:17:24 EDT
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.