On 16.07.2020 10:58, Petr Tesarik wrote: > Hi Heiner, > > first, thank you for looking into this! > > On Wed, 15 Jul 2020 17:22:35 +0200 > Heiner Kallweit <hkallwe...@gmail.com> wrote: > >> On 15.07.2020 10:28, Petr Tesarik wrote: >>> Hi all, >>> >>> I've encountered some issues on an Asus laptop. The RTL8402 receive >>> queue behaves strangely after suspend to RAM and resume - many incoming >>> packets are truncated, but not all and not always to the same length >>> (most commonly 60 bytes, but I've also seen 150 bytes and other >>> lengths). >>> >>> Reloading the driver can fix the problem, so I believe we must be >>> missing some initialization on resume. I've already done some >>> debugging, and the interface is not running when rtl8169_resume() is >>> called, so __rtl8169_resume() is skipped, which means that almost >>> nothing is done on resume. >>> >> The dmesg log part in the opensuse bug report indicates that a userspace >> tool (e.g. NetworkManager) brings down the interface on suspend. >> On resume the interface is brought up again, and PHY driver is loaded. >> Therefore it's ok that rtl8169_resume() is a no-op. >> >> The bug report mentions that the link was down before suspending. >> Does the issue also happen if the link is up when suspending? > > I have tried, and it makes no difference. > >> Interesting would also be a test w/o a network manager. >> Means the interface stays up during suspend/resume cycle. > > I have stopped NetworkManager and configured a static IP address for > the interface. Still the same result. > > I have verified that the firmware is loaded, both before suspend and > after resume: > > zabulon:~ # ethtool -i eth0 > driver: r8169 > version: 5.7.7-1-default > firmware-version: rtl8402-1_0.0.1 10/26/11 > expansion-rom-version: > bus-info: 0000:03:00.2 > supports-statistics: yes > supports-test: no > supports-eeprom-access: no > supports-register-dump: yes > supports-priv-flags: no > >> Unfortunately it's not known whether it's a regression, and I have no >> test hw with this chip version. >> >> Also you could test whether the same happens with the r8101 vendor driver. > > I was not aware of this alternative driver... Anyway, I have built > r8101 from git (v1.035.03) for kernel 5.7.7. When loaded, it hangs the > machine hard. I mean like not even SysRq+B works... > > Petr T > >>> Some more information can be found in this openSUSE bug report: >>> >>> https://bugzilla.opensuse.org/show_bug.cgi?id=1174098 >>> >>> The laptop is not (yet) in production, so I can do further debugging if >>> needed. >>> >>> Petr T >>> >> Heiner >
Maybe the following gives us an idea: Please do "ethtool -d <if>" after boot and after resume from suspend, and check for differences.