Leap 15.3 "The network connection has been disconnected"

Hey, everyone!

I’ve just installed Leap 15.3 on a desktop computer, but I don’t have access to the Internet since it can’t establish a wired connection… it keeps trying to connect in a constant loop popping up this message:

https://paste.opensuse.org/images/84771572.jpg

My motherboard is the Asrock B450M Pro4-F, which has the Realtek RTL8111GR NIC.

I had the same problem with Ubuntu Studio, so, thinking it was a problem with the OS, I tried openSUSE again… but I’m having the same issue!

Any other information you need please let me know. Thanks in advance!

Alex.

Please post:

zypper se -si r8168 kernel
/sbin/lspci -nnk | grep -iA3 net

What would be also good to have is:

systemctl status wicked
systemctl status NetworkManager

And the output of “ip a”

Thank you for your answers, guys, but once I rebooted the system it’s all good! Now my machine is properly connected to ethernet.

These are the codes you suggested me to paste:

alejandro@localhost:~> zypper se -si r8168 kernel
Loading repository data...
Reading installed packages...

S  | Name                        | Type    | Version      | Arch   | Repository
---+-----------------------------+---------+--------------+--------+----------------
i+ | kernel-default              | package | 5.3.18-57.3  | x86_64 | Main Repository
i+ | kernel-default-extra        | package | 5.3.18-57.3  | x86_64 | Main Repository
i+ | kernel-default-optional     | package | 5.3.18-57.3  | x86_64 | Main Repository
i+ | kernel-firmware-all         | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-amdgpu      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-ath10k      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-ath11k      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-atheros     | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-bluetooth   | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-bnx2        | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-brcm        | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-chelsio     | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-dpaa2       | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-i915        | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-intel       | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-iwlwifi     | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-liquidio    | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-marvell     | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-media       | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-mediatek    | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-mellanox    | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-mwifiex     | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-network     | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-nfp         | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-nvidia      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-platform    | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-prestera    | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-qlogic      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-radeon      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-realtek     | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-serial      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-sound       | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-ti          | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-ueagle      | package | 20210208-2.4 | noarch | Main Repository
i+ | kernel-firmware-usb-network | package | 20210208-2.4 | noarch | Main Repository
i+ | purge-kernels-service       | package | 0-6.2        | noarch | Main Repository
alejandro@localhost:~> /sbin/lspci -nnk | grep -iA3 net
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 11)
    Subsystem: ASRock Incorporation Motherboard (one of many) [1849:8168]
    Kernel driver in use: r8169
    Kernel modules: r8169

alejandro@localhost:~> systemctl status wicked
● wicked.service - wicked managed network interfaces
     Loaded: loaded (/usr/lib/systemd/system/wicked.service; disabled; vendor preset: disabled)
     Active: inactive (dead)
alejandro@localhost:~> systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: disabled)
    Drop-In: /usr/lib/systemd/system/NetworkManager.service.d
             └─NetworkManager-ovs.conf
     Active: active (running) since Wed 2021-07-14 13:07:20 CDT; 16min ago
       Docs: man:NetworkManager(8)
   Main PID: 1077 (NetworkManager)
      Tasks: 4 (limit: 4915)
     CGroup: /system.slice/NetworkManager.service
             ├─1077 /usr/sbin/NetworkManager --no-daemon
             └─1396 /sbin/dhclient -d -q -sf /usr/lib/nm-dhcp-helper -pf /run/NetworkManager/dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-7ba00b1d-8cdd-30da-91ad-bb83ed4f7474-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf eth0

alejandro@localhost:~> ip a
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether a8:a1:59:4d:32:f0 brd ff:ff:ff:ff:ff:ff
    altname enp4s0
    inet 192.168.100.10/24 brd 192.168.100.255 scope global dynamic noprefixroute eth0
       valid_lft 256709sec preferred_lft 256709sec
    inet6 2806:2f0:7040:59a5:aaa1:59ff:fe4d:32f0/64 scope global dynamic noprefixroute 
       valid_lft 258735sec preferred_lft 172335sec
    inet6 fe80::aaa1:59ff:fe4d:32f0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Thanks for the feedback, good to hear things are solved.

Okay, I guess some people already suspected/knew based on the picture that this was based on the Network Manager but the output of the systemclt status commands confirms that.

I like the Network Manager and I am also using it but when my ADSL connection is down I think it is doing things that easily can confuse you. First it brings up the network interface but and then it starts checking if it can connect to the Internet (using the uri listed in /etc/NetworkManager/NetworkManager.conf). If it can not reach that within time (based on my experience somewhere after a minute) it will bring down the interface or give it an auto-config address. That is not handy as in those cases I like to log in on the ADSL modem but to do that I need to fix the IP address.

A moment ago, after a reboot system, the Network Manager took a bit longer to establish the wired connection again. Do you recommend me to use Wicked instead?

I switched to the Network Manager for flexibility and now I know this behavior I can work with it. I have no experience with Wicked regarding network outages so I can not given you advice on this.

Thanks for your reply, Marel.
Maybe if someone else could give me some advice due to his experience I’d really appreciate it so much… or should I create another post?

I use NetworkManager as well and never experienced any of the problems described in this thread.

But i have configured NetworkManager to

  • NOT establish cable connections automatically
# cat /etc/NetworkManager/conf.d/20-cable_autoconnect.conf

[main]
# Specify devices for which NetworkManager shouldn't create default wired connection (Auto eth0).
# By default, NetworkManager creates a temporary wired connection for any Ethernet device
# that is managed and doesn't have a connection configured.
# List a device in this option to inhibit creating the default connection for the device.
# May have the special value * to apply to all devices, e.g.:
# no-auto-default=00:22:68:5c:5d:c4,00:1e:65:ff:aa:ee
# no-auto-default=eth0,eth1
no-auto-default=*

#
  • NOT do captive portal detection
cat /etc/NetworkManager/conf.d/30-captive_portal_detection.conf

[connectivity]
# This section controls NetworkManager's optional connectivity checking functionality.
# This allows NetworkManager to detect whether or not the system can actually access the internet
# or whether it is behind a captive portal.
# If this option is blank or missing, connectivity checking is disabled.
# uri=http://conncheck.opensuse.org
uri=

# Controls how often connectivity is checked when a network connection exists.
# Specified in seconds.
# If set to 0 connectivity checking is disabled.
# If missing, the default is 300 seconds.
interval=0

#

You could try if that helps to solve your problem.

The files mentioned above do not exist but you have to create them (and can delete them if they do not solve your problem). You need to restart NetworkManager after you created(/deleted) the files.

Regards

susejunky

Give systemd-networkd a try: Network Management With Systemd - openSUSE Wiki

It works with the following single configuration file:

**erlangen:~ #** cat /etc/systemd/network/20-wired.network  
[Match] 
Name=e* 

[Network] 
DHCP=yes 
Domains=fritz.box 
**erlangen:~ #**

Network is up readily:

**erlangen:~ #** systemd-analyze critical-chain network.target 
The time when unit became active or started is printed after the "@" character. 
The time the unit took to start is printed after the "+" character. 

network.target @716ms 
└─**systemd-resolved.service @578ms +137ms**
  └─**systemd-networkd.service @509ms +66ms**
    └─**systemd-udevd.service @432ms +75ms**
      └─**systemd-tmpfiles-setup-dev.service @416ms +9ms**
        └─**kmod-static-nodes.service @362ms +50ms**
          └─systemd-journald.socket 
            └─system.slice 
              └─-.slice 
**erlangen:~ #**

Short and concise logging:

**erlangen:~ #** journalctl -b -u systemd-networkd.service  
-- Journal begins at Sat 2021-07-17 11:53:44 CEST, ends at Sun 2021-07-18 09:38:00 CEST. -- 
Jul 18 08:08:18 erlangen systemd[1]: Starting Network Service... 
Jul 18 08:08:18 erlangen systemd-networkd[680]: Enumeration completed 
Jul 18 08:08:18 erlangen systemd[1]: Started Network Service. 
Jul 18 08:08:19 erlangen systemd-networkd[680]: eth0: Interface name change detected, eth0 has been renamed to enp0s31f6. 
Jul 18 08:08:19 erlangen systemd-networkd[680]: enp0s31f6: Link UP 
Jul 18 08:08:30 erlangen systemd-networkd[680]: enp0s31f6: Gained carrier 
Jul 18 08:08:31 erlangen systemd-networkd[680]: enp0s31f6: DHCPv4 address 192.168.178.26/24 via 192.168.178.1 
Jul 18 08:08:31 erlangen systemd-networkd[680]: enp0s31f6: Gained IPv6LL 
**erlangen:~ #**

I’ll try that out and see what happens. Thanks!

Standard:


[connectivity]
enabled=false

in /etc/NetworkManager/NetworkManager.conf

I would like the NetworkManager to bring up the interface that is connected to the ADSL modem and get the address via DHCP from that modem. The modem is on when the computure is on and otherwise off so the computer has to wait until the ADSL modem is up. Typically the computer is booted ~10 seconds earlier than the ADSL modem gives out addresses via DHCP.

After the ADSL modem is up it still has to set up the ADSL connection and that takes ~15 second but sometimes longer. For that I like the NetworkManger to check the secondary connection.

Did take that over (thanks!) and the helped in a sense that now the NetworkManager no longer assigns a temporary address and keep checking for the secondary connection.

As a test I removed the phone cable and saw the NetworkManager checking for ~4 minutes if there was a secondary connection, that is what I like, but after that it brought the interface down and that is what I do not want. Ideally NetworkManager should also only once indicate there is no secondary connection and once there is a secondary connection. Now it did report the network not being up every ~ 2 minutes.

Guess I have to dive in to the NetworkManager.conf(5) for some more settings :wink:

Well… I reinstalled Leap 15.3 and now I’m having worse problems since now the icon keeps trying to connect for a longer period of time, then it shows up disconnected. The issue now can’t be solved after rebooting the system… Once, after a rebooting, it appeared 2 Network Manager icons at the same time spinning trying to connect. What could be the problem?

Why did you chose to reinstall 15.3?

For sure two NetworkManager’s running at the same time can be a problem.
To get the log:

sudo journalctl -b --no-hostname -u NetworkManager

Have a look at the output, maybe it gives the hints you need to debug the issue
Use “nmcli” you get a short overview of the current state/config.

If the host indeed has no Internet, save the output file to a USB stick and paste it from another computer.
Better use https://susepaste.org and share the link to the log.

I did dive in NetworkManager.conf, found out that that ~ 2 minutes corresponds to 4 retries and added this to the earlier shared /etc/NetworkManager/conf.d/20-cable_autoconnect.conf

# See man NetworkManager.conf

# The number of times a connection activation should be automatically tried before switching to another one.
# This value applies only to connections that can auto-connect and have a connection.autoconnect-retries
# property set to -1. If not specified, connections will be tried 4 times.
# Setting this value to 1 means to try activation once, without retry. Setting it to 0 means retry forever.
autoconnect-retries-default=0