From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ralf Friedl Subject: Problem with Reaktek 8168 Date: Wed, 20 Feb 2013 12:52:41 +0100 Message-ID: <5124B909.4080907@online.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: netdev@vger.kernel.org Return-path: Received: from moutng.kundenserver.de ([212.227.17.8]:62947 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934842Ab3BTLwl (ORCPT ); Wed, 20 Feb 2013 06:52:41 -0500 Sender: netdev-owner@vger.kernel.org List-ID: Hi I have a problem with the Reaktek 8168 on two Asus mainboards, the M5A97 LE R2.0 and the M5A97 EVO R2.0. Sporadically, but especially when I transmit larger amounts of data, the driver stops receiving packets from the network. I can verify with tcpdump that packets sent from the driver reach the network, but packets (answers) sent from the network don't read the driver. I have opensuse 12.2 installed on both systems. With the supplied r8169 driver, this effect would happen within a few seconds when transferring large files between two systems with gigabit ethernet. I the found and compiled the r8168 driver. With this driver it is much better, but it happens occasionally anyway. I can fix this by reloading the driver, or by rebinding the driver with echo 0000:02:00.0 > /sys/bus/pci/drivers/r8168/unbind echo 0000:02:00.0 > /sys/bus/pci/drivers/r8168/bind So to me it seems to be a software issue, especially as this happens on two different boards. Unfortunately both reloading and rebinding take a few seconds to reestablish the network link, and first it is necessary to detect that the driver can't receive packets any more. Is this a known problem? If so, is there a known way to fix it? If not, what additional information can I provide to fix it? Are there any interesting debug settings? Is there as a workaround a faster way to reinitialize the driver? If it helps I can also run a custom driver with additional debug code. Regards Ralf Friedl Additional information: modinfo r8168 (downloaded from the Realtek site): filename: /lib/modules/3.4.28-2.20-default/kernel/drivers/net/ethernet/realtek/r8168.ko version: 8.035.00-NAPI license: GPL description: RealTek RTL-8168 Gigabit Ethernet driver author: Realtek and the Linux r8168 crew srcversion: C7041A3D9074A1575512C13 alias: pci:v00001186d00004300sv00001186sd00004B10bc*sc*i* alias: pci:v000010ECd00008168sv*sd*bc*sc*i* depends: vermagic: 3.4.28-2.20-default SMP mod_unload modversions parm: eee_enable:int parm: speed:force phy operation. Deprecated by ethtool (8). (ushort) parm: duplex:force phy operation. Deprecated by ethtool (8). (int) parm: autoneg:force phy operation. Deprecated by ethtool (8). (int) parm: aspm:Enable ASPM. (int) parm: rx_copybreak:Copy breakpoint for copy-only-tiny-frames (int) parm: use_dac:Enable PCI DAC. Unsafe on 32 bit PCI slot. (int) parm: debug:Debug verbosity level (0=none, ..., 16=all) (int) modinfo r8169 (from opensuse): filename: /lib/modules/3.4.28-2.20-default/kernel/drivers/net/ethernet/realtek/r8169.ko firmware: rtl_nic/rtl8168f-2.fw firmware: rtl_nic/rtl8168f-1.fw firmware: rtl_nic/rtl8105e-1.fw firmware: rtl_nic/rtl8168e-3.fw firmware: rtl_nic/rtl8168e-2.fw firmware: rtl_nic/rtl8168e-1.fw firmware: rtl_nic/rtl8168d-2.fw firmware: rtl_nic/rtl8168d-1.fw version: 2.3LK-NAPI license: GPL description: RealTek RTL-8169 Gigabit Ethernet driver author: Realtek and the Linux r8169 crew srcversion: 193CB90A8A79025AB5CC132 alias: pci:v00000001d00008168sv*sd00002410bc*sc*i* alias: pci:v00001737d00001032sv*sd00000024bc*sc*i* alias: pci:v000016ECd00000116sv*sd*bc*sc*i* alias: pci:v00001259d0000C107sv*sd*bc*sc*i* alias: pci:v00001186d00004302sv*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: intree: Y vermagic: 3.4.28-2.20-default SMP mod_unload modversions parm: use_dac:Enable PCI DAC. Unsafe on 32 bit PCI slot. (int) parm: debug:Debug verbosity level (0=none, ..., 16=all) (int) Asus M5A97 LE R2.0 lspci: 02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 09) Subsystem: ASUSTeK Computer Inc. P8H77-I Motherboard [1043:8505] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- TAbort- SERR-