Red Hat Bugzilla – Bug 457310
RTL8101E with driver r8169 does not work on 1000 network
Last modified: 2009-05-18 15:30:55 EDT
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
version: 2.2LK-NAPI 28C0A741D66B3A832996226
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 <firstname.lastname@example.org>
vermagic: 2.6.9-78.ELsmp SMP gcc-3.4
Depends on network link.
Steps to Reproduce:
1. Install rhel4.7 with RTL8101E nic.
2. Attach machine to 1000 network.
The network link is not available.
A working network card.
$ /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:  Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities:  Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Capabilities:  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:  Advanced Error Reporting
Capabilities:  Virtual Channel
Capabilities:  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.
Could you please try my latest test kernel? I don't have an access to r810x
Kernel is available at:
(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:
Can you provide rhel4 kernels? Placing rhel5 on this machine would be
disruptive to the current testing, although, it can be done later.
Yes, I will post them ASAP.
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:
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?
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.
Hello, I have prepared first kernel packages to test. These should solve this issue. Could you please test them?
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.
The previously mentioned performance slowdown was apparently related to a testing issue. Sorry about that. Things continue to look good.
Created attachment 317697 [details]
Final patch sent to review
Committed in 78.13.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
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.