Bug 457310 - RTL8101E with driver r8169 does not work on 1000 network
Summary: RTL8101E with driver r8169 does not work on 1000 network
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel
Version: 4.7
Hardware: x86_64
OS: Linux
Target Milestone: rc
: ---
Assignee: Ivan Vecera
QA Contact: Martin Jenner
Depends On:
Blocks: RHEL4u8_relnotes
TreeView+ depends on / blocked
Reported: 2008-07-30 20:29 UTC by Joe Quanaim
Modified: 2009-05-18 19:30 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2009-05-18 19:30:55 UTC
Target Upstream Version:

Attachments (Terms of Use)
Final patch sent to review (100.04 KB, patch)
2008-09-25 15:28 UTC, Ivan Vecera
no flags Details | Diff

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:1024 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 4.8 kernel security and bug fix update 2009-05-18 14:57:26 UTC

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.


Note You need to log in before you can comment on or make changes to this bug.