NOTE: unloading and reloading iwlwifi brings back the 2 minute window - so it is definitively NOT related to a race on bootup: even if the system was up for 30 minutes already, simply do:
rmmod iwlwifi
modprobe iwlwifi
=> it will take again 2 minutes to load the firmware
NOTE: unloading and reloading iwlwifi brings back the 2 minute window - so it is definitively NOT related to a race on bootup: even if the system was up for 30 minutes already, simply do:
rmmod iwlwifi
modprobe iwlwifi
=> it will take again 2 minutes to load the firmware
some udevadm monitoring:
after 'modprobe iwlwifi'
KERNEL[3055.484684] add /module/iwlwifi (module) drivers/ iwlwifi (drivers) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-6. ucode (firmware) drivers/ iwlwifi (drivers) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-6. ucode (firmware)
UDEV [3055.485613] add /module/iwlwifi (module)
KERNEL[3055.485656] add /bus/pci/
KERNEL[3055.485810] add /devices/
UDEV [3055.486038] add /bus/pci/
UDEV [3055.486638] add /devices/
KERNEL[3055.487174] add /module/iwldvm (module)
UDEV [3055.487377] add /module/iwldvm (module)
one minute later (note: remove *-6.ucode, add *-5.ucode)
1KERNEL[ 3115.612278] remove /devices/ pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-6. ucode (firmware) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-5. ucode (firmware) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-6. ucode (firmware) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-5. ucode (firmware)
KERNEL[3115.612320] add /devices/
UDEV [3115.613263] remove /devices/
UDEV [3115.613708] add /devices/
one minute later (note: remove *-5.ucode; I assume it would add *-4*.ucode, BUT this is loaded in kernel, as this is the file that exists!)
KERNEL[3175.644300] remove /devices/ pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-5. ucode (firmware) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/firmware/ iwlwifi- 6000-5. ucode (firmware) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/leds/ phy3-led (leds) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/ieee80211/ phy3 (ieee80211) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/ieee80211/ phy3/rfkill6 (rfkill) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/leds/ phy3-led (leds) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0 (net) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/leds/ phy3-led (leds) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ rx-0 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-0 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-1 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-2 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-3 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/leds/ phy3-led (leds) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/ieee80211/ phy3 (ieee80211) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/ieee80211/ phy3/rfkill6 (rfkill) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0 (net) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ rx-0 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-2 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-1 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-3 (queues) pci0000: 00/0000: 00:1c.1/ 0000:03: 00.0/net/ wlan0/queues/ tx-0 (queues)
UDEV [3175.645274] remove /devices/
KERNEL[3175.660107] add /devices/
KERNEL[3175.660145] add /devices/
KERNEL[3175.660220] add /devices/
KERNEL[3175.660480] change /devices/
KERNEL[3175.660507] add /devices/
UDEV [3175.660525] add /devices/
KERNEL[3175.660541] add /devices/
KERNEL[3175.660557] add /devices/
KERNEL[3175.660572] add /devices/
KERNEL[3175.660587] add /devices/
KERNEL[3175.660602] add /devices/
UDEV [3175.661026] change /devices/
UDEV [3175.661060] add /devices/
UDEV [3175.661768] add /devices/
UDEV [3175.666579] add /devices/
UDEV [3175.667090] add /devices/
UDEV [3175.667520] add /devices/
UDEV [3175.667705] add /devices/
UDEV [3175.668393] add /devices/
UDEV [3175.669080] add /devices/
So the main issue is indeed that we pass off to udev for loading - and there is a 60s timeout (per try)