NetworkManager fails to start after logging out and back in to KDE

I have two laptop computers both running openSUSE Leap 15.0. Both are using NetworkManager and the network is started when logging into KDE (kwallet pops up and asks for my password, after which it starts up the network. In my case it’s a wifi connection).

This always works fine after a fresh boot and logging into KDE. But on one of the laptops, if I logout of KDE (not shutdown or reboot), and then log back in, kwallet does not pop up, and the network is not started. I can open a terminal window and type the “systemctl restart network.service” command as root, and it will then cause kwallet to popup, letting me type in my password and start the network.

Curiously, the other laptop does not have this problem. After log out and then log in, kwallet seems to always pop up, and after entering my password the network starts fine.

So what could be wrong with the first laptop?

Not sure about this, but are both desktops configured to start a new session at login?

FWIW, I prefer configuring my wireless connections as system connections, so that they start before login and available for all users. Then kwallet is not involved in the credentials process at all.

In “Configure Desktop”, both laptops’ KDE sessions are set up to:

Confirm logout [checked]
Offer shutdown options [checked]

Default Leave Option:
End current session [checked]
Turn off computer [unchecked]
Restart computer [unchecked]

On Login:
Restore previous session [checked]
Restore manually saved session [unchecked]
Start with empty session [unchecked]
Applications to be excluded from sessions [none]

I don’t set up the network to start at boot time, because I have no ability to select which wifi network I want to connect to at that stage. And this is a laptop, so there are no other users other than myself.

On Login:
Restore previous session [checked]

Ok, so using ‘Restore previous session’. I’m not sure why the difference in behaviour between the two systems. Are they both up to date?

I don’t set up the network to start at boot time, because I have no ability to select which wifi network I want to connect to at that stage. And this is a laptop, so there are no other users other than myself.

Actually, you can still configure the wifi connections as “system-connections” (by editing the connections and selecting “All users may connect to this network”). It is possible to select the desired connection manually after login. The secrets will then be stored in the root-owned wireless connection profiles (located in the /etc/NetworkManager/system-connections/ directory).

Yes, they are both up to date, and have exactly the same repositories and packages installed. If I run “rpm -qa | sort >/tmp/packages” on each system, then “diff” the two output files, they are identical.

I’ll change to “All users may connect to this network” and see what happens.

I enabled “All users may connect to this network” but the network does not start at boot time (before I login to KDE). Now, when starting KDE, a pop-up dialog asks for the root password to start the network. Even though kwallet also pops up for my account password for apparently some other reason. The network starts fine after all that.

Configure the connection to save the wifi password for all users unencrypted.

After that change, it should start before login and you should no longer be prompted for root password. It may sound insecure, but it will be saved if a file that only root can read.

OK, I did this on both laptops. Now indeed the network starts during boot. I can log in on one of the virtual consoles without logging in to KDE, and verified that the network is up.

However, I ran into a problem with the other laptop (which was previously problem-free). Twice in a row after rebooting, sddm starts, the X server starts, the mouse cursor moves, but no login screen appears. Just a blank screen with a mouse cursor. I logged in as root on the virtual console and did a “telinit 3”, then a “telinit 5”. This “kicked” the graphical login screen into appearing. After logging in to KDE, the network was down. I had to again do a “systemctl restart network.service” from an xterm window to get the network up. It seems to me that all this stuff is like a house of cards. Mess with it a little and things fall apart!

All I can say is that not a normal experience, and I can’t imagine how NM would cause such an impact. Likely there are other issues with your particular system.

Turns out this problem occurs on both my Leap 15.0 laptops. I reverted to the previous NM configuration (unchecked “All users may connect to this network” and back to “Store this password for this user only (encrypted)”. Now, after reboot or logging out out of KDE, the graphical login screen appears as it should.

However, on one of the laptops the old problem of kwallet not appearing and network not starting after logout/login to KDE returned. I have to do “systemctl restart network.service” to make the network start up.

What can I say, this problem is driving me nuts. What “other issues” can cause these problems? The system works fine in other respects.