Bug 457310 - RTL8101E with driver r8169 does not work on 1000 network
RTL8101E with driver r8169 does not work on 1000 network
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
4.7
x86_64 Linux
medium Severity medium
: rc
: ---
Assigned To: Ivan Vecera
Martin Jenner
:
Depends On:
Blocks: RHEL4u8_relnotes
  Show dependency treegraph
 
Reported: 2008-07-30 16:29 EDT by Joe Quanaim
Modified: 2009-05-18 15:30 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-05-18 15:30:55 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Joe Quanaim 2008-07-30 16:29:27 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
2.6.9-78.ELsmp

$ /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*
depends:
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
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                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 10:25:20 EDT
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/

Thanks,
Ivan
Comment 2 Joe Quanaim 2008-08-01 13:53:43 EDT
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.

Thanks,
Joe.
Comment 3 Ivan Vecera 2008-08-05 06:20:50 EDT
Yes, I will post them ASAP.
Comment 4 Joe Quanaim 2008-09-10 13:31:35 EDT
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?

Thanks,
Joe.
Comment 5 Joe Quanaim 2008-09-10 13:39:25 EDT
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 13:13:42 EDT
Hello, I have prepared first kernel packages to test. These should solve this issue. Could you please test them?
Available at:
http://people.redhat.com/ivecera/rhel-4-r8169/
Comment 8 Joe Quanaim 2008-09-19 16:46:53 EDT
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.

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

Thanks,
Joe.
Comment 10 Ivan Vecera 2008-09-25 11:28:59 EDT
Created attachment 317697 [details]
Final patch sent to review
Comment 11 Vivek Goyal 2008-10-07 17:03:03 EDT
Committed in 78.13.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
Comment 17 errata-xmlrpc 2009-05-18 15:30:55 EDT
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.

http://rhn.redhat.com/errata/RHSA-2009-1024.html

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