Thread (34 messages) 34 messages, 3 authors, 2020-10-01

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 T
  
Heiner
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help