We should stop using the Realtek r8168 driver by default for RTL8111/8168/8411

I’m not sure whether I’m posting this in the right category, but this driver really shouldn’t be selected by default anymore for anyone with an RTL8111/8168/8411 PCIe network adapter.

As I understand it, the in-kernel r8169 driver was problematic in the past for people with older hardware, because the support for their actual variant of the NIC was not yet included in r8169. But recent changes in the kernel are causing a flurry of failures to connect for everyone using the out-of-tree r8168 driver, while the in-kernel r8169 driver works perfectly well.

I bought my own system here back in 2019, and it was already no longer the Latest & Greatest™ when I bought it, because this is an 8th-generation Intel i5, and at that point in time, the 9th generation was already well out on the market, with the 10th generation soon to start shipping. And this motherboard does indeed have an onboard RTL8111/8168/8411 chipset.

But recently — say a few months ago, but before the changes in the kernel that broke r8168 — I decided to get rid of that out-of-tree r8168 driver module and use the in-kernel r8169 instead, and I’ve had zero problems with it. So unless one has really, really, really old hardware, we should not push the out-of-tree r8168 module anymore, given how much trouble it’s causing among our users, and especially the newbies.

I therefore propose that we default to r8169, with an option in the installer to opt for r8168 if the user has old hardware. Or maybe there is some heuristic way of checking during installation how old the hardware is — just as an example, say, anything older than a 7th-generation Intel Core — and decide upon that detection?

Just throwing an idea out there… :man_shrugging:

1 Like

I don’t know if it is or was chosen by default via MSM, however I agree in that it shouldn’t even be available in MHWD / MSM.

We still haven’t figured out why the update from 8.050.03 to 8.051.02 caused issues. As far as we can tell, it’s not an issue with packaging the driver itself, at least. MHWD is another story, perhaps.

It seems to mainly affect the 6.5 kernel, but perhaps not exclusively. I suspect it may be due to a change in the kernel’s networking stack, and that the r8168 module was not adapted to handle this.

It seems it may be a packaging issue after all. Rebuilds testing that theory will be available in all branches when I’m finished.

1 Like

I remember that in the previous Manjaro forum it was already recommended rather to use the in-kernel driver r8169, so for me it was a good descision. I guess there are only very few users really needing the r8168 driver.

1 Like

I also read somewhere, although nowhere Manjaro-related, that the r8169 in-kernel drivers causes problems and that it’s recommended to use r8168. But I have no way of testing that theory as I have an Intel NIC. So I’ll now stop recommending it unless it causes problems again.

That used to be the case in the past because the r8169 driver did not support all of the same chipset variants at the time, but nowadays this only applies anymore to older machines which still have those older chipsets. Anything made in the last four to five years is supported by r8169.

1 Like