R8168 driver causing issues

#1

I've had a report that a user had the live ISO connecting to the internet but now once installed.
He also revealed that the installer takes longer when connected.

While going over his issue we also noticed that when in live mode the card is using the r8169 driver, but once installed that is blacklisted and it is trying to use the r8168 driver.

The later is concerning to me, should both live and installed end up with the same driver in use?

Note: From what I can tell, his chip is just not a 100% compatible with the r8168 driver.

Here is the link to the thread on the Netrunner forum: https://forums.netrunner.com/showthread.php?tid=24653

R8168 default installed driver
Which Network Driver
#2

The Manjaro PKGBUILD itself for r8168 does not blacklist the r8169 automatically.

However looking into mhwd it seems that upon installation of the r8168 mhwd blacklist the r8169.

It could be a case of a reused pci id - though one should think it would not happen but I know that with some other rtl devices 8xxxu colliding ids is found.

#3

That’s a good possibility, I’ll need to do some more research.

However, from what research I’ve been able to so far, the r8168 is compatible with less hardware then the kernels r8169 driver, and in some cases can even lead to data loss and file corruption. So my other questions are as follows. Why did we start providing this driver? And, is this driver still relevant, considering the possible issues it can cause?

PS. After switching to the r8169 driver on my own intel system, all those annoying ACPI Error messages on boot disappeared. Just an observation, nothing more.

#4

I think we have to ask @philm - because I have no idea :slight_smile:

#5

Sorry to bother you Jonathon, but I didn't think this rated a separate post, As far as I know all the desktop editions install the proprietary r8168 realtek driver by default.

The r8168 driver used to be the best choice for this NIC. However on recent (4.19/20) kernels this is no longer the case.

Many people have been losing connectivity using the r8168 driver when upgrading lately. I think defaulting to the r8169 kernel module would probably be a much better choice for most installs.

That would also be one less diver to taint the kernel as well as saving the space of the rather large proprietary driver install package.

Basically there have been so many of these issues that I pretty much automatically assume any lost LAN connection is an r8168 issue now. The r8169 kernel module has been the far better choice lately, and it would seem to be the more logical choice as the default driver for the r8168.

Just thought I'd mention that as it could save a lot of network support issues. The r8168 adapter is probably by far the most widely used NIC for wired connections, so this issue affects a lot of people.

The only reason it's not mentioned even more often is most people use a wireless connection these days. I suspect a lot of these issues are hidden from a lot of people, because they never use a wired connection (until their wifi breaks). Then the post is my wifi and my lan are broken.

Just thought I'd put the bug in your ear.

3 Likes
#6

You might well be right - if things change we need to adapt.

I don’t have any real control over the defaults in the editions though.

I’ll invite @Maintainers and see what they want to do. It might need a thread in #manjaro-development

1 Like
#7

I do believe I had already brought this up myself not too long ago. I get stronger, more stable lan connections using the 8169 kernel module than the external 8168 driver. I also no longer get all those acpi warnings on my intel system at startup with the kernel module as well.

2 Likes
#8

I am in the middle of another r8168 fiasco as I type right now, Lost boot and Lan. I have the LAN working now by getting him switched to the r8169 kernel module. This happens pretty regularly these days.

#9

@jonathon
I just found my post on this same topic, or issue, in the Manjaro development > Maintainer only part of the forum: https://forum.manjaro.org/t/r8168-driver-causing-issues/70629

And here is the topic at the Netrunner forum that started me down this rabbit hole to begin with:

2 Likes
#10

Many people are confused because their LAN often works fine on the live boot, but fails when they start their installed version of Manjaro.

That happens because the live installer uses the r8169 kernel module, but it switches to the proprietary r8168 driver at installation time.

I think things would be much simpler if the entire boot/install procedure was accomplished with the kernel module. The r8168 driver is no longer the superior driver performance wise, and it has been creating many problems lately.

If the r8168 driver doesn’t break completely on recent kernels, it’s been creating suspend or other issues for people. It just doesn’t seem to make sense using it anymore. It’s not the better choice these days.

#11

It is a part of Mhwd so it might require more work than just commenting in Packages-Mhwd file.

#12

Ya I thought that might be the case. I started working with a new Manjaro user who was a programmer and all gung ho to help out on a project. I compiled a list of the problematic drivers with bad install defaults, but sadly he didn’t get far before he gave up on the project.

#13

I just found out another issue with the r8168 driver that is solved by a switch to r8169. On a thread where Wake On Lan was not possible to get working, the switch to r8169 fixed it immediately.

R8168 also has suspend issues that can be cured by a switch to r8169. Just FYI.

2 Likes
#14

The problems the r8168 driver has been creating in the last couple of weeks is unreal. I'm losing count of how many people have lost their LAN with the r8168 driver. I've even dealt with posts claiming high CPU usage and losing the ability to boot into the desktop without using startx because of this driver.

This driver is literally now seeing more support requests than the wifi issues. That has never happened before. The r8168 driver is seeing some serious problems, far worse than before.

2 Likes
#15

So what do we do here? Drop the r8168 entry from mhwd-db/pci/network_drivers/r8168 ?

It's pointless distributing a driver from 2016 which works worse than the kernel driver.

(I've merged some threads here which is why it "starts over" from post 5, R8168 driver causing issues)

3 Likes
#16

I don't know how simple a fix this would be, but changing the blacklist in /etc/modprobe.d during install from r8169 to r8168 would be a workable solution.

That way if someone really did need the r8168 driver it would still be installed, but just deactivated. That way r8168 could be used if required, but the kernel module would be used by default unless the blacklist was altered.

That would effectively be the same install procedure, but only require changing one digit in the blacklist file. Not much difference in the setup, but using a far less problematic default driver.

#17

I've to see about the driver. We can drop the MHWD profile for now to see or update the r8168 packages, as someone told me they are outdated anyway.

3 Likes
#18

Yes, but not by much, and realtek still has it listed as " for kernel up to 4.15".

https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software

#19

I've updated it now to r8168-8.047.01

#20

Also need to make sure it's also active in the live session on the ISO. This is where the main issue comes into play. Users boot the live image that loads the kernel driver (r8169), and their ethernet works. Then after installing to the hard drive, the 3rd party module loads (r8168), and they either get an unstable conection, or no connection at all.

2 Likes