Solution schwar3kat Posted May 3, 2022 Solution Posted May 3, 2022 @Contributor/Maintainer AR-1172 - fix complete 08 May 2022 There is was a bug in the 5.15, 5.16 and 5.17 kernel r8152 driver that affected RTL8153b Gigabit USB Ethernet (LAN0) on the Orange Pi R1plus LTS and other boards. The bug only presents on high load and I can trigger it reliably with bidirectional high load on Orange Pi R1plus LTS. The bug kills the RX interface and it requires power down to reset. I assume that it also affects the Orange Pi R1plus, and there are reports of it affecting NanoPi R2S. I would assume that other boards could be impacted. My proposed fix is to revert the driver back to the version used in 5.10 kernel (and to disable TX offload by default). This driver works reasonably well if TX offload is disabled (but with TX offload enabled, another bug is triggered on load). The reason for this post is to alert other board maintainers and to inquire if you are okay with this proposal. The driver from kernel-5.10 (v2.15.0 (2021/04/15)) can be used with 5.15 and 5.16 with minor tweaks. Edit: While researching options for disabling TX ofload, I found a thread on the forums for Helios that talked about xhci trb quirk in rockchip64-current. I followed it to this commit, https://github.com/armbian/build/commit/8eece74eb581367625e6ebcc12ee5c6f4f44617c The quirk is currently funcional for dwc3 xhci usb on rockchip64 and activated for rk3399. It appears that the quirk may not have been applied to rk3328 in the past, so I tried including it in rk3328.dtsi, and it worked very well with the mainline driver on 5.15, 5.16 and 5.17. This means that it is not necessary to revert the driver to the one in 5.10. I have modified AR-1172 and submitted a PR. PR has been merged and fix will be in the new release. 0 Quote
schwar3kat Posted May 3, 2022 Author Posted May 3, 2022 On 5/4/2022 at 1:24 AM, jethome said: Is it fixed in 5.17? Probably not. Edit: See original post. The bug in 5.15, 5.16 and 5.17 can be fixed by activating a xhci trb quirk in rockchip64-current. In 5.17 it is almost identical with the version in 5.16 except for some ethtool_ringparam structures and some other trivial changes. I tried back porting it to 5.16, but would have to remove the incompatible ethtool_ringparam structures to get it to work, which would leave essentially the same driver as is now in 5.16, so I dropped the idea. Armbian rockchip64 edge is still on 5.16 (and I haven't tried to build with 5.17), but when it changes, we will probably have to deal with the same issue, unless the incompatible changes fix it which looks highly unlikely. And 5.18RC is identical to 5.17. 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.