I am using Leap 42.3, but when booting I hit the escape key to see what takes so long. In my case it is wpa_supplicant performing multiple connects and disconnects.
I noticed it in /var/log/boot.log as:
Starting WPA Supplicant daemon...
OK ] Started WPA Supplicant daemon.
OK ] Started Wait for Network to be Configured.
* ] A start job is running for wicked managed network interface
** ] A start job is running for wicked managed network in
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
***] A start job is running for wicked managed netw
**] A start job is running for wicked managed network inter
*] A start job is running for wicked managed network interfaces (
**] A start job is running for wicked managed network inter
***] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
** ] A start job is running for wicked managed network in
* ] A start job is running for wicked managed network interface
** ] A start job is running for wicked managed network in
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
***] A start job is running for wicked managed netw
**] A start job is running for wicked managed network inter
*] A start job is running for wicked managed network interfaces (
**] A start job is running for wicked managed network inter
***] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
** ] A start job is running for wicked managed network in
* ] A start job is running for wicked managed network interface
** ] A start job is running for wicked managed network in
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
***] A start job is running for wicked managed netw
**] A start job is running for wicked managed network inter
*] A start job is running for wicked managed network interfaces (
**] A start job is running for wicked managed network inter
***] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
*** ] A start job is running for wicked managed netw
So, I dumped the boot logs with the command below to see what wpa_suipplicant was actually doing.
# systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
graphical.target @38.303s
└─multi-user.target @38.302s
└─getty.target @38.302s
└─getty@tty1.service @38.302s
└─systemd-user-sessions.service @22.808s +121ms
└─remote-fs.target @22.807s
└─iscsi.service @22.635s +172ms
└─network.target @22.557s
└─wpa_supplicant.service @35.935s +674ms
└─dbus.service @9.293s
└─basic.target @9.238s
└─paths.target @9.238s
└─sendmail-client.path @9.238s
└─sysinit.target @9.206s
└─apparmor.service @2.437s +6.768s
└─system.slice
└─-.slice
I’m using GDM as display manager. I use an ethernet connection for networking. My desktop is Plasma 5 (X, not Wayland). I have removed the string “splash=silent” from the kernel command, so I don’t see plymouth graphics. I do use an encrypted LVM.
This is normal “wicked” behaviour: it waits until it’s absolutely certain that, all interfaces are read, up, and running. In “/etc/sysconfig/network/config” there’s a parameter named “WAIT_FOR_INTERFACES” which controls how long wicked will wait.
To work out how long to wait, you need something like this, for the user “root”:journalctl --this-boot | grep -Ei ‘r8169|eth0|wicked|network|DHCP|ntp’
Where: “r8169” is the physical interface indicated by “kernel: ??? 0000:02:00.0 eth0: link up” – your system will have something different to “r8169” …
Walk through the output and check the timestamps for:
“systemd[1]: Reached target Host and Network Name Lookups.”
“systemd[1]: Starting wicked network management service daemon…”
“kernel: r8169 0000:02:00.0 eth0: link up”
“wicked???]: Interface wait time reached”
The wicked interface wait time should expire a few seconds after wicked has committed at least the DHCPv4 lease …
On this system, wicked commits the DHCPv6 lease about 3 seconds after “systemd[1]: Started wicked managed network interfaces.” and “systemd[1]: Reached target Network.” …
To work out how much time the “wpa_supplicant.service” is taking, use "systemd-analyze blame | grep ‘wpa_supplicant’ ".
And, “systemctl status wpa_supplicant.service”.