Public bug reported:
After upgrading from linux 7.0.0-38.38 to 7.0.0-42.42 on Ubuntu 26.04.1
(resolute), the onboard Realtek RTL8168h ethernet never gets a link. The
interface stays NO-CARRIER with a working cable plugged in. 7.0.0-38 on
the same machine got 1Gbps/Full on every boot.
/proc/version_signature: Ubuntu 7.0.0-42.42-generic 7.0.14
Hardware
- HP OMEN 30L Desktop GT13-0xxx, BIOS F.29
- NIC: 03:00.0 Realtek RTL8111/8168/8211/8411 [10ec:8168] rev 16, subsystem
[103c:8703], RTL8168h/8111h XID 541, firmware rtl8168h-2
- Upstream root port: 00:1c.0 Intel [8086:06bc], DevCap2 LTR- (no LTR support)
What happens
When the interface is brought up, the root port receives an LTR message from
the NIC, flags it as Unsupported Request, and DPC contains the link. r8169 has
no error_detected callback, so recovery fails and PHY access times out
afterwards:
r8169 0000:03:00.0 enp3s0: PHY [r8169-0-300:00] driver [Generic FE-GE Realtek
PHY] (irq=MAC)
r8169 0000:03:00.0 enp3s0: configuring for phy/gmii link mode
pcieport 0000:00:1c.0: DPC: containment event, status:0x1f01: unmasked
uncorrectable error detected
pcieport 0000:00:1c.0: PCIe Bus Error: severity=Uncorrectable (Non-Fatal),
type=Transaction Layer, (Receiver ID)
pcieport 0000:00:1c.0: device [8086:06bc] error status/mask=00100000/00010000
pcieport 0000:00:1c.0: [20] UnsupReq (First)
pcieport 0000:00:1c.0: AER: TLP Header: 0x34000000 0x03000010 0x00000000
0x00000000
r8169 0000:03:00.0: AER: can't recover (no error_detected callback)
r8169 0000:03:00.0 enp3s0: rtl_ocp_gphy_cond == 1 (loop: 10, delay: 25).
pcieport 0000:00:1c.0: AER: device recovery failed
The TLP header decodes as a message routed "terminate at receiver" from
requester 03:00.0 with message code 0x10 (Latency Tolerance Reporting).
The root port does not support LTR (DevCap2 LTR-) and LTR is not enabled
on the NIC (DevCtl2 LTR-), so the NIC should not be sending LTR
messages. It happens on every boot and on every driver reload (modprobe
-r r8169; modprobe r8169).
Likely cause
The r8169 SAUCE series added in 7.0.0-39.39 for LP: #2160475 (phylink
conversion and "r8169: add ltr support for RTL8117 series"). The link is now
set up through phylink ("configuring for phy/gmii link mode"), and 7.0.0-38 did
not have this series. I have not bisected which patch in the series is
responsible. Another user reported a different r8169 regression (RTL8125B can't
read its MAC address) after the same 7.0.0-38 to 7.0.0-42 upgrade, in a comment
on LP: #2160475.
Workaround
Masking Unsupported Request on the root port before the interface comes up
gives a working 1Gbps link on 7.0.0-42:
sudo setpci -s 00:1c.0 ECAP_AER+0x08.l=00100000:00100000
Booting 7.0.0-38 also works.
Attached: kernel log excerpts from 7.0.0-42 and 7.0.0-38, and lspci
-vvnn of the root port and NIC.
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Tags: regression-updates resolute
** Attachment added: "Kernel log excerpts (r8169/PCIe) from 7.0.0-42 and
7.0.0-38, MAC redacted"
https://bugs.launchpad.net/bugs/2172748/+attachment/6014301/+files/dmesg-r8169-7.0.0-42-vs-38.txt
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172748
Title:
Regression in 7.0.0-42: RTL8168h (r8169) gets no link, LTR message to
non-LTR root port triggers DPC
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2172748/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs