Ethernet not working - no eth0 device listed

Hi, I’d like some help getting ethernet working on a laptop. Here are the details I know. Please let me know what further information would be helpful:
Laptop is dual boot with Windows 10 and both wireless and ethernet functioning in Windows so hardware is fine.
Original installation was Leap 15.2. Upgrade to 15.3 was done via zypper.
Can’t remember if ethernet was working under 15.2 but I think it was.
Wireless works fine in 15.3 but when ethernet cable plugged in, there are no lights and Network Manager does nothing.

Please let me know what further info is required to diagnose problem. Thanks.

Post:

/sbin/lspci -nnk | grep -iA3 net

Please use Code-Tags:
https://forums.opensuse.org/showthread.php/536143-Using-Code-Tags-Around-Your-Paste

Thanks. Here’s the output:

02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller [10ec:8136] (rev 07)
       Subsystem: Hewlett-Packard Company Device [103c:80c3]
       Kernel driver in use: r8169
       Kernel modules: r8169
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n [14e4:4365] (rev 01)
       Subsystem: Hewlett-Packard Company Device [103c:804a]
       Kernel driver in use: wl
       Kernel modules: bcma, wl

Report back with output from

ip link
ip address
dmesg | egrep -i “eth|net”

Also please post:

zypper lr -d
zypper se -si broad 8168
uname -a

OK, thanks. Here we go - in a few messages…

ip link
1: **lo: **<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback **00:00:00:00:00:00** brd **00:00:00:00:00:00**
2: **wlan0: **<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state **UP **mode DORMANT group default qlen 1000
    link/ether **d8:5d:e2:9c:6e:2d** brd **ff:ff:ff:ff:ff:ff**
    altname wlp3s0
3: **eth0: **<NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state **DOWN **mode DEFAULT group default qlen 1000
    link/ether **30:8d:99:f6:7e:16** brd **ff:ff:ff:ff:ff:ff**
    altname enp2s0

ip address
1: **lo: **<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback **00:00:00:00:00:00** brd **00:00:00:00:00:00**
    inet **127.0.0.1**/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 **::1**/128 scope host  
       valid_lft forever preferred_lft forever
2: **wlan0: **<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state **UP **group default qlen 1000
    link/ether **d8:5d:e2:9c:6e:2d** brd **ff:ff:ff:ff:ff:ff**
    altname wlp3s0
    inet **192.168.1.21**/24 brd **192.168.1.255 **scope global noprefixroute wlan0
       valid_lft forever preferred_lft forever
    inet6 **fd00::1:8855:6282:cf9a:527d**/64 scope global temporary dynamic  
       valid_lft 7182sec preferred_lft 7182sec
    inet6 **fd00::1:4faa:80d8:2a01:1153**/64 scope global dynamic mngtmpaddr noprefixroute  
       valid_lft 7182sec preferred_lft 7182sec
    inet6 **fe80::4d8e:3147:b523:32b6**/64 scope link noprefixroute  
       valid_lft forever preferred_lft forever
3: **eth0: **<NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state **DOWN **group default qlen 1000
    link/ether **30:8d:99:f6:7e:16** brd **ff:ff:ff:ff:ff:ff**
    altname enp2s0

 dmesg | egrep -i "eth|net"
   18.940732] r8169 0000:02:00.0 eth0: RTL8106e, 30:8d:99:f6:7e:16, XID 449, IRQ 49
   29.047015] NET: Registered protocol family 31
   36.222337] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
   36.278061] NET: Registered protocol family 38
   42.595239] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
   42.972076] r8169 0000:02:00.0 eth0: Link is Down
   43.113798] NET: Registered protocol family 17
   56.077386] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
  147.136379] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
  793.064559] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
  793.348153] r8169 0000:02:00.0 eth0: Link is Down
  831.761774] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 1312.581297] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
 1312.865440] r8169 0000:02:00.0 eth0: Link is Down
 1325.701178] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 3848.061842] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
 3848.353465] r8169 0000:02:00.0 eth0: Link is Down
 3851.004438] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 4799.197577] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
 4799.484496] r8169 0000:02:00.0 eth0: Link is Down
 4906.658638] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 7439.641637] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
 7439.924621] r8169 0000:02:00.0 eth0: Link is Down
 7441.800996] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 7705.155932] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
 7705.443392] r8169 0000:02:00.0 eth0: Link is Down
 7706.595983] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 7744.381045] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 8928.101608] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
 8928.360341] r8169 0000:02:00.0 eth0: Link is Down
 8966.651041] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 9360.151658] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
 9360.434463] r8169 0000:02:00.0 eth0: Link is Down
 9362.318328] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[11804.617760] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[11804.908513] r8169 0000:02:00.0 eth0: Link is Down
[11806.746891] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[11915.988098] r8169 0000:02:00.0 eth0: Link is Down
[14810.054436] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[14810.338403] r8169 0000:02:00.0 eth0: Link is Down
[14810.388000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[14812.950578] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[14990.674826] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[14990.933830] r8169 0000:02:00.0 eth0: Link is Down
[14993.536411] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[17297.215469] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[17297.508003] r8169 0000:02:00.0 eth0: Link is Down
[17297.569030] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[17299.433258] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[18024.846617] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[18025.158964] r8169 0000:02:00.0 eth0: Link is Down
[18025.247489] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[18026.351057] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[19467.791746] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[19468.084569] r8169 0000:02:00.0 eth0: Link is Down
[19480.867158] WARNING: CPU: 0 PID: 16459 at ../net/wireless/sme.c:757 __cfg80211_connect_result+0x3de/0x460 [cfg80211]
[19480.867162] Modules linked in: rfcomm nft_objref nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nft_reject nft_ct nft_chain_n
at nf_tables ebtable_nat ebtable_broute ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw ip
table_security af_packet ip_set nfnetlink ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter ip_tables x_tables bpfilter cmac algif_hash algif_skcipher af_alg bnep dmi_sysfs bt
usb btrtl btbcm btintel uvcvideo v4l2_common bluetooth videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common ecdh_generic videodev ecc ext4 crc16 mbcache jbd2 nls_iso8859_1 nls_c
p437 vfat fat snd_usb_audio snd_usbmidi_lib snd_rawmidi snd_seq_device mc squashfs loop snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi snd_hda_intel snd_intel_ds
pcfg soundwire_intel x86_pkg_temp_thermal
[19483.654621] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[21861.829816] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[21862.116196] r8169 0000:02:00.0 eth0: Link is Down
[21864.075366] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[21953.463668] RTL8208 Fast Ethernet r8169-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
[21953.802853] r8169 0000:02:00.0 eth0: Link is Down
[21953.878652] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[21954.981797] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[21965.408176] r8169 0000:02:00.0 eth0: Link is Down

 zypper lr -d
#  | Alias                       | Name                                                                                        | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                 | Service
---+-----------------------------+---------------------------------------------------------------------------------------------+---------+-----------+---------+----------+--------+-------------------------------------------------------------------------------------+--------
 1 | Google-Chrome               | Google-Chrome                                                                               | Yes     | (r ) Yes  | No      |   99     | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/x86_64                                 |
 2 | dvd                         | dvd                                                                                         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/openSUSE_Leap_15.3/                                  |
 3 | google-chrome               | google-chrome                                                                               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://dl.google.com/linux/chrome/rpm/stable/x86_64                                |
 4 | hardware                    | Hardware tools (openSUSE_Leap_15.3)                                                         | Yes     | (r ) Yes  | No      |   99     | rpm-md | https://download.opensuse.org/repositories/hardware/openSUSE_Leap_15.3/             |
 5 | openSUSE-Leap-15.3-1        | openSUSE-Leap-15.3-1                                                                        | No      | ----      | ----    |   99     | rpm-md | hd:/?device=/dev/disk/by-id/usb-SanDisk_Cruzer_Blade_4C530003231029115235-0:0-part2 |
 6 | packman                     | packman                                                                                     | Yes     | (r ) Yes  | Yes     |   90     | rpm-md | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.3/                 |
 7 | repo-backports-debug-update | Update repository with updates for openSUSE Leap debuginfo packages from openSUSE Backports | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/update/leap/15.3/backports_debug/                      |
 8 | repo-backports-update       | Update repository of openSUSE Backports                                                     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/backports/                            |
 9 | repo-debug                  | Debug Repository                                                                            | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.3/repo/oss/                 |
10 | repo-debug-non-oss          | Debug Repository (Non-OSS)                                                                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.3/repo/non-oss/             |
11 | repo-debug-update           | Update Repository (Debug)                                                                   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.3/oss/                            |
12 | repo-debug-update-non-oss   | Update Repository (Debug, Non-OSS)                                                          | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.3/non-oss/                        |
13 | repo-non-oss                | Non-OSS Repository                                                                          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/                   |
14 | repo-oss                    | Main Repository                                                                             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/oss/                       |
15 | repo-sle-debug-update       | Update repository with debuginfo for updates from SUSE Linux Enterprise 15                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.3/sle/                            |
16 | repo-sle-update             | Update repository with updates from SUSE Linux Enterprise 15                                | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/sle/                                  |
17 | repo-source                 | Source Repository                                                                           | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.3/repo/oss/                |
18 | repo-update                 | Main Update Repository                                                                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/oss/                                  |
19 | repo-update-non-oss         | Update Repository (Non-Oss)                                                                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/non-oss/                              |
20 | snappy                      | snappy                                                                                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.3        |

 zypper se -si broad 8168
S  | Name                           | Type    | Version                                       | Arch   | Repository
---+--------------------------------+---------+-----------------------------------------------+--------+------------------
i+ | broadcom-wl                    | package | 6.30.223.271-pm153.16.5                       | x86_64 | packman
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.71-pm153.16.4  | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.68-pm153.16.3  | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.63-pm153.16.2  | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.60-pm153.15.12 | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.54-pm153.15.11 | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.49-pm153.15.8  | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.46-pm153.15.7  | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.43-pm153.15.3  | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_59.40-pm153.14.49        | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_59.37-pm153.14.38        | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_59.34-pm153.14.30        | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_59.30-pm153.14.28        | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_59.27-pm153.14.27        | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_59.24-pm153.14.26        | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_59.19-pm153.14.25        | x86_64 | (System Packages)
i+ | broadcom-wl-kmp-default        | package | 6.30.223.271_k5.3.18_150300.59.76-pm153.16.5  | x86_64 | packman
i  | mobile-broadband-provider-info | package | 20190618-1.18                                 | noarch | Main Repository

uname -a
Linux zebra 5.3.18-150300.59.76-default #1 SMP Thu Jun 16 04:23:47 UTC 2022 (2cc2ade) x86_64 x86_64 x86_64 GNU/Linux

Ethernet Cable defect?
Or not plugged in?

The output you’ve shared reports that the interface is down. As sauerland mentioned,check the cable first.

The ethtool utility can be useful here…

/usr/sbin/ethtool eth0

Thanks again.

Cable is fine & plugged in - all works under Windows 10 on same laptop.

Output from

sudo ethtool eth0
netlink error: device not present
netlink error: No such device
netlink error: device not present
netlink error: No such device
netlink error: device not present
netlink error: No such device
netlink error: device not present
netlink error: No such device
netlink error: device not present
netlink error: No such device
No data available

Can you please show

dmesg | grep r8169

(Just wondering if there is a possible firmware issue at play.)

dmesg | grep r8169

   19.884453] **r8169** 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
   19.890181] libphy: **r8169**: probed
   19.890676] **r8169** 0000:02:00.0 eth0: RTL8106e, 30:8d:99:f6:7e:16, XID 449, IRQ 49
  316.825049] RTL8208 Fast Ethernet **r8169**-200:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=**r8169**-200:00, irq=IGNORE)
  317.113933] **r8169** 0000:02:00.0 eth0: Link is Down
  368.793384]  intel_powerclamp soundwire_bus coretemp snd_hda_codec snd_hda_core snd_hwdep snd_soc_core kvm snd_compress irqbypass snd_pcm_dmaengine crc32_pclmul ghash_clmulni_intel snd_pcm
 snd_timer cryptd pcspkr joydev hp_wmi sparse_keymap efi_pstore(N) intel_rapl_msr wmi_bmof mei_hdcp(N) iTCO_wdt **r8169** intel_pmc_bxt iTCO_vendor_support realtek libphy snd thermal mei_me sound
core mei processor_thermal_device(N) battery intel_rapl_common int3400_thermal(N) ac intel_pch_thermal int340x_thermal_zone(N) acpi_thermal_rel(N) button intel_soc_dts_iosf(N) i2c_i801 lpc_ic
h hp_wireless fan acpi_pad fuse configfs btrfs libcrc32c xor raid6_pq i915 i2c_algo_bit wl(POEN) drm_kms_helper sr_mod sd_mod cdrom t10_pi syscopyarea sysfillrect sysimgblt xhci_pci fb_sys_fo
ps xhci_hcd cec cfg80211 crc32c_intel rc_core usbcore ahci drm libahci libata rfkill serio_raw wmi video i2c_hid sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua scsi_mod msr efiv
arfs

Post as root:

lsmod | grep r816
grep -i 'blacklist r816' /etc/modprobe.d/*
rfkill list all
lsmod | grep r816
**r816**9                  94208  0
libphy                118784  2 **r816**9,realtek

grep -i 'blacklist r816' /etc/modprobe.d/*


No output to the command above.

rfkill list all
0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
2: hci0: Bluetooth
        Soft blocked: yes
        Hard blocked: no

Does unloading and reloading the driver manually help at all?

sudo modprobe -r r8169
sudo modprobe -v r8169

Check link status reported after doing the above with

dmesg | grep eth0

or

ip link

In case there is some kernel regression at play here, you could try using the latest stable kernel…


sudo zypper addrepo -f https://download.opensuse.org/repositories/Kernel:/stable:/Backport/standard Kernel:stable:backport
sudo zypper refresh
sudo zypper install --from Kernel:stable:backport kernel-default

Yes! That’s worked. Thanks for that.

It doesn’t persist on reboot though, so any thoughts on how to make it work every boot automatically? (I also need to check if it persists after sleep.)

Good to know…and can you please confirm if this behaviour occurs following a resume or if it also happens from a cold boot? I’ve seen similar reports across distros eg
https://forums.linuxmint.com/viewtopic.php?f=90&t=272701

It doesn’t persist on reboot though, so any thoughts on how to make it work every boot automatically? (I also need to check if it persists after sleep.)

It would only be a workaround, but it is illustrated in the above thread.

OK thanks. I’ve done some tests.

  1. Cold boot, network cable plugged in. FAIL.
  2. Cold boot, network cable not plugged in. FAIL.
  3. Suspend to RAM, network cable plugged in. PASS.
  4. Suspend to RAM, network cable not plugged in. FAIL.

In each of the FAIL cases, then running the modprobe commands resolves the problem.

Assuming an actual solution here is unlikely (though perhaps a fresh re-install might do the trick), what would be some possible workarounds to ensure the ethernet port is always working please?

Thanks.

As I mentioned it is essentially explained in the thread I linked to. Create a custom systemd service eg reload-realtek-driver.service…

sudo nano /etc/systemd/system/reload-realtek-driver.service

and enter


[Unit]
Description=Reload NIC driver at boot
Before=network-online.target
    
[Service]
Type=simple
ExecStartPre=/usr/sbin/modprobe -r r8169
ExecStart=/usr/sbin/modprobe r8169
  
[Install]
WantedBy=multi-user.target

Save when done, and do

sudo systemctl daemon-reload
sudo systemctl enable reload-realtek-driver.service

See if that does the trick at next boot.