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

The issue was with Manjaro r8168 drivers only. Users reported on Testing update 2023-09-11 that r8168-dkms driver from AUR is working

Presumably no issues with r8168 driver

It is a shame that this discovery was not shared to forum previously
Users would at least have been more aware of the different drivers before having update issues

Anything made in the last four to five years is supported by r8169

So your proposal is that anything > 4-5 years old gets less consideration from Manjaro team and may need AUR driver?

The number of users cannot be estimated with any accuracy. There could be many who have read the different solutions posted on forum and elsewhere and not reported back
The only numbers that I can find that might give an idea of the scale of this:

  • In the last 4 days, 100 users have clicked on the link in stable update Known Issues & Solutions showing all possible options for managing r8168/r8169 driver

  • linux-hardware.org search for Realtek vendor ID and product ID shows:
    3118 Realtek 8168 devices [10ec:8168]
    And 48 Realtek 8168 devices [10ec:8169]

Aside from the failed build of Manjaro mhwd drivers, Has anyone experienced issues with r8168 driver?

Or seen any report that a RTL8111/8168/8411 device does not work with r8168 and works with r8169 only?

No, my proposal is that the majority of the users should not have to deal with an out-of-tree network driver because of a few corner cases, and that hopefully mhwd might be adapted to distinguish between those corner cases — which all probably come from a licensee of the pertinent Realtek chipset, because the Realtek RTL8111/8168/8411 proper works with r8169 — and the more modern ones.

Besides, we’ve just had confirmation here on the forum that r8169 works on a machine from back in 2015. So it really does come down to just a few corner cases, most of which have probably gone off the market by now.

The official driver for that device from the kernel developers is r8169.

Yes, I have. I also monitor the PCLinuxOS forum, which is another rolling-release distribution I’ve used in the past, and there too people are reporting problems with r8168.