Ethernet is not working any more (but Wi-Fi still works)

Dear Manjaro-users,

I never had problems with my wifi and the Ethernet worked well at my work from 2018 to 2020. Now that I am working at home with the same laptop, and not at my work any more, I cannot exactly remember if there were also problems recently (February,March) with the Ethernet connection at work before the quarantine and after an update or not...
Now at home, my Wi-Fi is working perfectly but I cannot connect properly to the internet via the Ethernet (I could receive for example some emails via Thunderbird but the navigation appears very difficult or impossible with the Ethernet).

I have read different threads regarding the r8168 and the r8169 drivers (I have not really understood what are the essential differences between these two drivers...). Before trying with the r8169 driver, I wanted to be sure that it is something related with the drivers.
Could someone please confirm me that it is (or not) the case?
If yes, should I launch:

sudo mhwd -r pci network-r8168
exit

and then, since I have indeed the r8169 blacklisted:

cd /etc/modprobe.d/
sudo rm r8169_blacklist.conf

Below some more information:

inxi -Fxzc0 --no-host
System:
  Kernel: 4.19.122-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.3.0 
  Desktop: Xfce 4.14.2 Distro: Manjaro Linux 
Machine:
  Type: Laptop System: Notebook product: N650DU v: N/A serial: <filter> 
  Mobo: Notebook model: N650DU serial: <filter> UEFI: American Megatrends 
  v: 5.12 date: 02/26/2018 
Battery:
  ID-1: BAT0 charge: 34.1 Wh condition: 48.9/62.2 Wh (79%) 
  model: Notebook BAT status: Discharging 
CPU:
  Topology: Quad Core model: Intel Core i5-7500T bits: 64 type: MCP 
  arch: Kaby Lake rev: 9 L2 cache: 6144 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 21696 
  Speed: 1600 MHz min/max: 800/3300 MHz Core speeds (MHz): 1: 1600 2: 1600 
  3: 1600 4: 1600 
Graphics:
  Device-1: Intel HD Graphics 630 vendor: CLEVO/KAPOK driver: i915 v: kernel 
  bus ID: 00:02.0 
  Display: x11 server: X.org 1.20.8 driver: intel unloaded: modesetting 
  resolution: <xdpyinfo missing> 
  OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2) v: 4.6 Mesa 20.0.6 
  direct render: Yes 
Audio:
  Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: CLEVO/KAPOK 
  driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
  Sound Server: ALSA v: k4.19.122-1-MANJARO 
Network:
  Device-1: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel port: f040 
  bus ID: 01:00.0 
  IF: wlp1s0 state: up mac: <filter> 
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: CLEVO/KAPOK driver: r8168 v: 8.048.02-NAPI port: e000 
  bus ID: 05:00.0 
  IF: enp5s0 state: down mac: <filter> 
Drives:
  Local Storage: total: 1.14 TiB used: 556.42 GiB (47.8%) 
  ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 960 EVO 250GB 
  size: 232.89 GiB 
  ID-2: /dev/sda vendor: Seagate model: ST1000LM048-2E7172 size: 931.51 GiB 
Partition:
  ID-1: / size: 227.24 GiB used: 33.94 GiB (14.9%) fs: ext4 
  dev: /dev/nvme0n1p2 
  ID-2: /home size: 911.95 GiB used: 522.47 GiB (57.3%) fs: ext4 
  dev: /dev/sda2 
Sensors:
  System Temperatures: cpu: 63.5 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 185 Uptime: 4h 21m Memory: 7.71 GiB used: 4.23 GiB (54.8%) 
  Init: systemd Compilers: gcc: 9.3.0 Shell: bash v: 5.0.16 inxi: 3.0.37

Thanks in advance for your help!

I would give it a try as you described already and use the driver r8169 being integrated in the kernel. If it's not working try other kernels using the Manjaro Setting Manager for example. (By the way, you could also use the MSM to uninstall r8168.)

1 Like

Thanks @Wollie for your answer. I have then launched:

r8169_blacklist.conf was apprently automomatically deleted since launching ls -lh nothing appears to be present in this directory or launching sudo rm r8169_blacklist.conf, I could see a message saying that this file is not existing in this directory (what was the case before uninstalling r8168).

So, now r8169 is installed but the problem remains...

inxi -Nc0
Network:
  Device-1: Intel Wireless 8265 / 8275 driver: iwlwifi 
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  driver: r8169

I have no clues what I have to do, but maybe the way I have configure the Ethernet is working at work but not at home. If it is the case, can I save somehow the present configuration and create another one for my home configuration?
Does someone have an idea?
Thanks in advance!

First, I would study these guides:

https://wiki.archlinux.org/index.php/Network_configuration/Ethernet
https://wiki.manjaro.org/index.php?title=Networking

1 Like

Thanks @Wollie for these links. Nevertheless, I am quite a bit lost with all this quite complicated (for a newbie like me )documentation and I do not know where I have to begin...

You told me to test with other kernels. According to what I had read, the 5.4.X one seemed to be crashing quite often (but maybe it is not the case any more, well it seems to be the case in April, see The system craches with kernel 5.4.35). Should I try with the 4.14.X one or the 5.4.X?

2 Likes

Thanks @tbg for your answer!! Before posting it, I read many posts that you wrote on this topic and I saw that you often recommended to use the r8169 driver. That is why I wanted to test by removing the r8168 driver and that is @Wollie confirmed me to do. So, according to what I read, you recommend me now to install r8168 back, don't you?
In your quotation I just see something that I am not sure to have fully understood:

Does it me that I have to be sure that r8168 is installed after the reboot or that r8169 is again blacklisted?

Thanks again for your help!

No, it only meant that I edited my initial post because of a syntax error and I wanted to make sure the user caught the change.

I will now remove that comment so it doesn't confuse others reading the post after the fact.

If the r8168 driver has been installed you can test either driver in this manner.

To test the r8168 driver:

sudo modprobe -r r8168 && sleep 3 && sudo modprobe r8168 && sudo systemctl restart NetworkManager

To test the r8169 driver:

sudo modprobe -r r8168 && sleep 3 && sudo modprobe r8169 && sudo systemctl restart NetworkManager

As I mentioned on the other thread, if the above command(s) works to restart your r8168 adapter then the command can be automated by writing a service to reload your driver at startup.

You can create the following service which should reload the r8168 module automatically at startup.



Restart r8168 Service

With a text editor create:

/etc/systemd/system/restart-r8168.service

Service file contents:

#/etc/systemd/system/restart-r8168.service
#sudo systemctl enable restart-r8168.service
#sudo systemctl start restart-r8168.service
#sudo systemctl stop restart-r8168.service
#sudo systemctl disable restart-r8168.service
#systemctl status restart-r8168. service
#sudo systemctl daemon-reload

[Unit]
Description=Restart r8168 Service
WantedBy=multi-user.target 
After=network.target
Wants=network-online.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/usr/bin/sleep 3
ExecStart=/bin/sh -c 'modprobe -r r8168 && sleep 3 && modprobe r8168'
ExecStop=/usr/bin/systemctl restart NetworkManager.service

[Install]
WantedBy=multi-user.target 

Save the newly created service file, then enable the service:

sudo systemctl enable restart-r8168.service

Then restart your computer to see if your Ethernet connection is now initialized correctly by the service.



Hopefully this service corrects your issue if the r8168 module requires reloading after startup.

1 Like

Thanks @tbg! I have reinstalled the r8168 driver that I have previously but it seemed to have not worked after the reboot and the following command line:

sudo modprobe -r r8168 && sleep 3 && sudo modprobe r8168 && sudo systemctl restart NetworkManager

Afterwards, it seems that I have found my own solution by testing and working with the NetworkManager. I have just added a new ethernet connection in it:

  • by doing a right click on the NetworkManager symbol

  • "Modify the connections"

  • and then clicking on the "+" symbol

  • create Ethernet

  • selecting the only one listed peripheral and validating

It was working with r8168 driver with whom I will then stay!

Thanks anyway for your advices @tbg and @Wollie!

edit: after many reboots it seems to worked perfectly!

2 Likes

Forum kindly sponsored by