"No network devices available" after system upgrade

Hi! I’m writing to you from a separate machine as mine has “lost it’s way.”

I ran yay -Syyu, it downloaded multiple packages, among them a Kernel update and so it recommended a reboot. I ran shutdown -r now and logged back in. When I got back in, the Xfce network panel widget reports “No network devices available.” I tried logging out and back in. I tried rebooting again and switching to a previous kernel. I’ve rebooted back into the new kernel now. Nothing has worked.

I’ll have to re-type the pertinent output of any diagnostic commands if I’m going to share the output here… I guess I could take pictures but that would be kind of painful so I’ll wait for a request for that before doing it.

I’ve run inxi -Fxxxz - here are some hopefully relevant sections:
System: Kernel: 5.14.12-arch1-1 x86_64 bits: 64 compiler: gcc v: 11.1.0 Desktop: Xfce tk: Gtk 3.24.29 info: xfce4-panel wm: xfwm 4.16.1 vt: 7 dm: LightDM 1.30.0 Distro: EndeavourOS base: Arch Linux
Machine: Type: Desktop Mobo: ASUSTek model: M5A97 R2.0 v: Rev 1.xx serial: <filter> UEFI: American Megatrends v: 1503
...
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK P8 series driver: N/A port: d000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200
...

Thoughts?

https://discovery.endeavouros.com/network/r8168-workaround/2021/03/

try uninstalling r8168 package should help, or do a modules load test cycle:

Check what module is loaded:
lsmod | grep r81

unload the one loaded:
sudo rmmod r81** replace ** with the one loaded.
sudo modprobe r81**
sudo systemctl restart NetworkManager

if r8169 is working uninstall r8168 package and reboot.

Make sure it is not blacklisted:

ls /usr/lib/modprobe.d/r8168.conf this should be removed if r8168 is not installed and not used.

I ran lsmod | grep r81 and there was no output. I ran pacman -Qs r81 and the only output was local/r8168 8.049.02-27. So then I tried sudo modprobe r8168 and the system reported that the module wasn’t found in /lib/modules/5.14.12-arch1-1 - so then I tried sudo modprobe r8169 and that didn’t report a failure. So then I did sudo systemctl restart NetworkManager and I got my network back!

I checked pacman -Ss r8169 and there’s no package named that. Checking pacman -Sii r8168 and it’s not clear if that provides the r8169 or not, so I don’t feel completely comfortable uninstalling the r8168 package. I wound up running the sed -i /usr/lib/modprobe.d/r8168.conf -e 's|r8169|r8168|' as suggested in the post you linked and then rebooted, and my network was still working when the system came back up.

Thank you for your assistance. You’ve saved my weekend! :smiley:

Just out of curiosity: do you know, if I don’t uninstall the r8168 package is this going to keep happening? And are you aware of where the r8169 is coming from so I don’t mess with it? Thanks again for your help.

r8169 is inside kernel so no package needed for it, and the r8168 is for some older chipsets.
So if you can run the network with the r8169 you can safely uninstall the older one.
And just in case it should not work you have the package in pacman cache and can reinstall it from there:
you find the packages here: /var/cache/pacman/pkg/ and can use:
cd /var/cache/pacman/pkg/
sudo pacman -U packagefilename

sed -i /usr/lib/modprobe.d/r8168.conf -e 's|r8169|r8168|' is blacklisting r8168 :wink:

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.