Ethernet doesn't connect, hotspot not remembered

Hello,

I updated to Leap 15.6 (Gnome 45) in July. From then, I have a problem with my network connections.
My usual setup is to be connected to my box through ethernet, and to have a wifi hotspot running for my portable devices in my office (the box is very far, its wifi is very low).

But since the update, network-manager is unable to connect through ethernet after every start or awake from sleep mode. The eth port doesn’t appear. I have to restart manually network-manager every time after the boot and then, it connects automatically to ethernet.

Moreover, when I put the computer into sleep mode or when I shutdown, while the hotspot is up, it doesn’t keep the hotspot running after I wake or start it again.

I already did a lot of research, but didn’t find the start of an explanation or solution… Could you help me first to diagnose the issue ?

Here are my specs :

Rapport d’informations du système


Hardware Information:

  • Modèle du matériel : TUXEDO TUXEDO InfinityBook Pro Gen8 MK1
  • Processeur : 13th Gen Intel® Core™ i7-13700H × 20
  • Carte réseau : Intel Wi-Fi 6E AX211

Software Information:

  • Version du micrologiciel : N.1.10A06
  • Nom du système d’exploitation : openSUSE Leap 15.6
  • Type de système d’exploitation : 64 bits
  • Version de GNOME : 45.3
  • Système de fenêtrage : X11
  • Version du noyau : Linux 6.4.0-150600.23.17-default
  • Pilote réseau : Network-Manager

Reboot, restart NetworkManager, provide full output as root of

LANG=C journalctl -b --no-pager --full

Upload to https://paste.opensuse.org/

Here is the log : openSUSE Paste

How long did you wait?

Sep 19 11:45:46 tuxedo kernel: cdc_ncm 4-2:2.0 eth3: renamed from eth0
...
Sep 19 11:45:46 tuxedo NetworkManager[1696]: <info>  [1726739146.8257] NetworkManager (version 1.44.2) is starting... (boot:20190660-e288-47da-a6be-cadca256dc58)
...
Sep 19 11:46:46 tuxedo systemd[1]: Stopped Network Manager.
Sep 19 11:46:46 tuxedo systemd[1]: Starting Network Manager...
...
Sep 19 11:46:46 tuxedo NetworkManager[5100]: <info>  [1726739206.4712] device (eth3): carrier: link connected
Sep 19 11:46:46 tuxedo NetworkManager[5100]: <info>  [1726739206.4714] manager: (eth3): new Ethernet device (/org/freedesktop/NetworkManager/Devices/3)
Sep 19 11:46:46 tuxedo NetworkManager[5100]: <info>  [1726739206.4717] device (eth3): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
...
Sep 19 11:46:46 tuxedo NetworkManager[5100]: <info>  [1726739206.9068] device (eth3): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Sep 19 11:46:46 tuxedo NetworkManager[5100]: <info>  [1726739206.9077] policy: auto-activating connection 'Ethernet' (f1f5a193-a310-4d6d-a985-85f403fc6b93)
Sep 19 11:46:46 tuxedo NetworkManager[5100]: <info>  [1726739206.9080] device (eth3): Activation: starting connection 'Ethernet' (f1f5a193-a310-4d6d-a985-85f403fc6b93)
Sep 19 11:46:46 tuxedo NetworkManager[5100]: <info>  [1726739206.9080] device (eth3): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')

Is it possible that your device simply needs some time to establish link?

No, it has been 2 months since I did the update. The first times I didn’t know I could restart network-manager to get it work, so the wait lasted like an hour or more. It is still the same now, if I forget to restart NM after booting, it never connects with eth (but wifi works… bad because of the distance with the box).

However when I restart NM, the eth connection is instant.

It sounds like some race condition. Interface becomes available too late and NetworkManager misses it. Could you add delay to NetworkManager start for testing?

mkdir /etc/systemd/system/NetworkManager.service.d
cat > /etc/systemd/system/NetworkManager.service.d/delay.conf << EOF
[Service]
ExecStartPre=/usr/bin/sleep 30
EOF

This adds 30 seconds delay to the actual NetworkManager startup. Does it change anything?

No, still no ethernet. I uploaded the log after the reboot with delay on NM : openSUSE Paste

But restarting manually NM shows the delay of 30 sec, and then ethernet is activated as usual.

Yes, delay does not help, you can remove this file. Try with NetworkManager debug logging

cat > /etc/NetworkManager/conf.d/debug.conf << EOF
[logging]
level=TRACE
domains=ALL
EOF

BTW, the output appears truncated. You may try adding the following kernel parameters

printk.devkmsg=on log_buf_len=16M

to capture full output in initrd and dmesg since boot.

Here is the new log : openSUSE Paste

Unfortunately it does not show anything new - NetworkManager does not detect carrier on eth3 and does not start it. I assume, it is the interface that you need. This log does not include NetworkManager restart, so we do cannot compare the difference. Could you capture log once more after NetworkManager restart? Also, provide output of

ip l
ip a

before and after NetworkManager restart.

OK, so :

Before NM restart :

After NM restart :

(BTW, thanks a LOT for taking the time to look for the issue with me :heart: )

Hi, a little up, and some new information :

Actually I connect to ethernet via a USB-RJ45 adapter. Note that it was the same with Leap 15.5, when I had no problem.

But today for some reason I used another adapter, and the ethernet connection was established automatically at login.

So there may be a hardware issue too, but the usual adapter worked before on Leap 15.5 and still works now after NM restart. It just seems that on 15.6, with this specific adapter, I can’t connect automatically on login. I don’t see any logic in here, but that’s my experience.

Does anybody have an idea about the problem ?

Looking at your logs I think the problem has to do with the bridge.

From the ip l : openSUSE Paste before the NM restart:

3: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 20:7b:d2:90:9e:26 brd ff:ff:ff:ff:ff:ff
    altname enp0s20f0u2c2
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether b6:cf:22:7e:ad:dc brd ff:ff:ff:ff:ff:ff

So you added a bridge but I think that bridge needs to be up.

I think the bridge was created for my QEMU virtual machine, which I use from time to time. It was already there in 15.5. And I manage to connect (after restarting NM) even if the VM is down.

You can see in the log after restart that br0 is still down, but the wired network now works.

In the case my memories are wrong and br0 is not linked to my VM, how can I check that ?

I am still trying to get me head around how bridging for NetworkManager works, for now it is pretty confusing to me.

As an experiment you could just remove the bridge and so simplify things. If that is working we know for sure it has to do with the bridge, if it still not working it is easier te debug.

Is the bridge linked to a network interface?
check it via the command bridge (as root or via sudo)
here my config for br0

hpprol2:~ # bridge link show
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100 
hpprol2:~ # 

status of br0 with two ip address (alias) bridge

# ip a 
....
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1a:75:5f:65:ab:a1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.120/32 scope global br0
       valid_lft forever preferred_lft forever
    inet 192.168.1.110/32 scope global br0
       valid_lft forever preferred_lft forever

Regards
Philippe

Before restarting NM : no link

decrue-ad@tuxedo:~> sudo bridge link show
decrue-ad@tuxedo:~> 

After restarting NM : no link

decrue-ad@tuxedo:~> sudo bridge link show
decrue-ad@tuxedo:~> 

After starting my QEMU virtual machine :

decrue-ad@tuxedo:~> sudo bridge link show
6: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master virbr0 state forwarding priority 32 cost 2 
decrue-ad@tuxedo:~> 

So the bridge is actually linked to my VM, not to a hardware interface.
I made also an “ip a” after the start of the VM :

decrue-ad@tuxedo:~> 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 noprefixroute 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f4:3b:d8:03:1f:9c brd ff:ff:ff:ff:ff:ff
    altname wlo1
    altname wlp0s20f3
    inet 10.42.0.1/24 brd 10.42.0.255 scope global noprefixroute wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::909c:563b:6ce5:dcda/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 20:7b:d2:90:9e:26 brd ff:ff:ff:ff:ff:ff
    altname enp0s20f0u2c2
    inet 192.168.1.28/24 brd 192.168.1.255 scope global dynamic noprefixroute eth3
       valid_lft 86200sec preferred_lft 86200sec
    inet6 fe80::7524:afd0:1bb6:5e8f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 82:f2:af:55:95:08 brd ff:ff:ff:ff:ff:ff
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:d4:71:c1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fed4:71c1/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
6: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:04:5a:c9 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe04:5ac9/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

When my xen VM is started I have

hpprol2:~ # bridge link show
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100 
14: vif2.0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 master br0 state disabled priority 32 cost 100 
hpprol2:~ # 

I think that maybe you need to add a physical network to the bridge.
On my system this allows the VM to connect to the internet and the physical network interface has no IP address

hpprol2:~ # 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
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 9c:8e:99:5b:48:12 brd ff:ff:ff:ff:ff:ff
    altname enp2s0f0

In your case the bridge has only vnet0 and this is not a bridge.
see also
leap 15.2 virtualization

As far as I understand, this is not linked to my problem.

Actually I configured my VM with a virtual network (see Managing Networks | Virtualization Guide | openSUSE Leap 15.2), which is different from a bridged network. The VM uses virbr0, not br0.
I have no issue connecting to the internet from my VM.

The problem is that my ethernet connection does not go up automatically on boot. But wi-fi works.
As br0 seems not to be used, may it be disturbing the system ? Could I try to remove this bridge ? How do I do that ?