Re: RTL8402 stops working after hibernate/resume
From: Petr Tesarik <hidden>
Date: 2020-07-16 08:58:39
Hi Heiner, first, thank you for looking into this! On Wed, 15 Jul 2020 17:22:35 +0200 Heiner Kallweit [off-list ref] wrote:
On 15.07.2020 10:28, Petr Tesarik wrote:quoted
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
quoted
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 THeiner