Bug 457310

Summary: RTL8101E with driver r8169 does not work on 1000 network
Product: Red Hat Enterprise Linux 4 Reporter: Joe Quanaim <jdq>
Component: kernelAssignee: Ivan Vecera <ivecera>
Status: CLOSED ERRATA QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.7CC: lrich, riek, rlerch
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-18 19:30:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 458752    
Description Flags
Final patch sent to review none

Description Joe Quanaim 2008-07-30 20:29:27 UTC
Description of problem:

The RTL8101E nic using the r8169 kernel module does not correctly negotiate on a
1000 network.  The same card and kernel work when attached to a 100 network. 
The card only supports 100, but appears to attempt 1000 when connected to a
network supporting such speeds.

Version-Release number of selected component (if applicable):

$ uname -r

$ /sbin/modinfo r8169
filename:       /lib/modules/2.6.9-78.ELsmp/kernel/drivers/net/r8169.ko
version:        2.2LK-NAPI 28C0A741D66B3A832996226
license:        GPL
parm:           ignore_parity_err:Ignore PCI parity error as target. Default: false
parm:           debug:Debug verbosity level (0=none, ..., 16=all)
parm:           use_dac:Enable PCI DAC. Unsafe on 32 bit PCI slot.
parm:           rx_copybreak:Copy breakpoint for copy-only-tiny-frames
parm:           media:force phy operation. Deprecated by ethtool (8).
description:    RealTek RTL-8169 Gigabit Ethernet driver
author:         Realtek and the Linux r8169 crew <netdev@vger.kernel.org>
alias:          pci:v00001737d00001032sv*sd00000024bc*sc*i*
alias:          pci:v000016ECd00000116sv*sd*bc*sc*i*
alias:          pci:v00001259d0000C107sv*sd*bc*sc*i*
alias:          pci:v00001186d00004300sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008169sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008168sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008167sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008136sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008129sv*sd*bc*sc*i*
vermagic:       2.6.9-78.ELsmp SMP gcc-3.4

How reproducible:

Depends on network link.

Steps to Reproduce:
1. Install rhel4.7 with RTL8101E nic.
2. Attach machine to 1000 network.
Actual results:

The network link is not available.

Expected results:

A working network card.

Additional info:

Card details:

$ /sbin/lspci -vvv -s 01:00.0
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI
Express Fast Ethernet controller (rev 02)
        Subsystem: Intel Corporation: Unknown device 0001
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size 10
        Interrupt: pin A routed to IRQ 169
        Region 0: I/O ports at 1000 [size=256]
        Region 2: Memory at 50100000 (64-bit, non-prefetchable) [size=4K]
        Region 4: Memory at 50000000 (64-bit, prefetchable) [size=64K]
        Expansion ROM at fffe0000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express Endpoint IRQ 1
                Device: Supported: MaxPayload 256 bytes, PhantFunc 0, ExtTag-
                Device: Latency L0s <512ns, L1 <8us
                Device: AtnBtn- AtnInd- PwrInd-
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
                Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0
                Link: Latency L0s <512ns, L1 <64us
                Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch-
                Link: Speed 2.5Gb/s, Width x1
        Capabilities: [ac] MSI-X: Enable- Mask- TabSize=2
                Vector table: BAR=4 offset=00000000
                PBA: BAR=4 offset=00000800
        Capabilities: [cc] Vital Product Data
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Capabilities: [160] Device Serial Number 00-e0-4c-36-00-00-00-01

A workaround is available using module options to force the driver to 100 full.

$ grep r8169 /etc/modprobe.conf
alias eth0 r8169
options r8169 media=0x08

Attempts to produce a similar result with ethtool were unsuccessful.

Comment 1 Ivan Vecera 2008-08-01 14:25:20 UTC
Could you please try my latest test kernel? I don't have an access to r810x
hardware now.

Kernel is available at:


Comment 2 Joe Quanaim 2008-08-01 17:53:43 UTC
Hi Ivan

(In reply to comment #1)
> Could you please try my latest test kernel? I don't have an access to r810x
> hardware now.
> Kernel is available at:
> http://people.redhat.com/ivecera/rhel-5-r8169/

Can you provide rhel4 kernels?  Placing rhel5 on this machine would be
disruptive to the current testing, although, it can be done later.


Comment 3 Ivan Vecera 2008-08-05 10:20:50 UTC
Yes, I will post them ASAP.

Comment 4 Joe Quanaim 2008-09-10 17:31:35 UTC
With rhel 5.2 x86-64 on the same machine, the installer will panic when loading the r8169 driver.  To workaround, the nic was disabled in the bios.  After install, a similar panic would occur with the default kernel installed (kernel-2.6.18-92.el5) if the nic was reactivated.

The top line of the panic was:
... :r8169:rtl8169_init_one+0x3d9/0x9df

The provided package kernel-2.6.18-102.el5.r8169.9.x86_64.rpm was installed and the nic now appears to work.  The link is established at 100 on a 1000 network without any workaround.

Will it be possible to post a rhel4 fix soon?


Comment 5 Joe Quanaim 2008-09-10 17:39:25 UTC
Also, it may be worth noting that on rhel4 with the modprobe options previously described, the nic still occasionally fails to establish a link.  An additional reboot usually clears the issue.  This happens only sporadically.

Comment 7 Ivan Vecera 2008-09-19 17:13:42 UTC
Hello, I have prepared first kernel packages to test. These should solve this issue. Could you please test them?
Available at:

Comment 8 Joe Quanaim 2008-09-19 20:46:53 UTC
Installed kernel-smp-2.6.9-78.9.EL.r8169.1.x86_64.rpm and removed modprobe workaround.  The machine successfully negotiated link on reboot.

Is there any reason to expect a performance degradation?  Initial testing might show some slow down.

Still, things look better.  Will continue to test.


Comment 9 Joe Quanaim 2008-09-22 01:57:02 UTC
The previously mentioned performance slowdown was apparently related to a testing issue.  Sorry about that.  Things continue to look good.


Comment 10 Ivan Vecera 2008-09-25 15:28:59 UTC
Created attachment 317697 [details]
Final patch sent to review

Comment 11 Vivek Goyal 2008-10-07 21:03:03 UTC
Committed in 78.13.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/

Comment 17 errata-xmlrpc 2009-05-18 19:30:55 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.