Wifi is hardware blocked (rfkill) in newer kernels (Fedora 43, updated 42), works perfectly on older kernels (older Fedora 42)

I’m facing an issue with wifi working on older kernels, but blocked by rfkill on newer kernels, which is preventing me from using Fedora 43. Fedora 42 works if I keep using an older kernel version.

Here is an example of everything working on Fedora 42 with an older kernel:

g@fedora:~$ uname -a
Linux fedora 6.14.0-63.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Mar 24 19:53:37 UTC 2025 x86_64 GNU/Linux

g@fedora:~$ lspci | grep Network
05:00.0 Network controller: MEDIATEK Corp. Device 7925

g@fedora:~$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0   unblocked unblocked

g@fedora:~$ lspci -nnk | grep -A2 0280
05:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7925]
        Subsystem: Foxconn International, Inc. Device [105b:e138]
        Kernel driver in use: mt7925e

g@fedora:~$ lsmod | grep mt7925e
mt7925e                24576  0
mt7925_common         163840  1 mt7925e
mt792x_lib             77824  2 mt7925e,mt7925_common
mt76_connac_lib       106496  3 mt792x_lib,mt7925e,mt7925_common
mt76                  163840  4 mt792x_lib,mt7925e,mt76_connac_lib,mt7925_common

^^ Notice that rfkill shows the wlan as fully unblocked and lsmod doesn’t have an rfkill entry.

Now take a look at a newer kernel:

g@fedora:~$ uname -a
Linux fedora 6.17.8-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 14 04:52:44 UTC 2025 x86_64 GNU/Linux

g@fedora:~$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0   unblocked   blocked

g@fedora:~$ lspci -nnk | grep -A2 0280
05:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7925]
        Subsystem: Foxconn International, Inc. Device [105b:e138]
        Kernel driver in use: mt7925e

g@fedora:~$ lsmod | grep mt7925e
mt7925e                28672  0
mt7925_common         172032  1 mt7925e
mt792x_lib             77824  2 mt7925e,mt7925_common
mt76_connac_lib       110592  3 mt792x_lib,mt7925e,mt7925_common
mt76                  167936  4 mt792x_lib,mt7925e,mt76_connac_lib,mt7925_common
rfkill                 45056  8 mt7925e,bluetooth,cfg80211

^^ Notice how rfkill now shows the wlan as hardware blocked, plus rfkill shows up under lsmod. This seems suspicious. Keep in mind that my laptop, an MSI Vector A16 HX A8W, does not have any kind of hardware block for the wifi: no switch, no keyboard combination, nothing.

Reloading the kernel module via modprobe has no effect.

Can anyone please help me with further troubleshooting? Thanks!

I was not even aware that rfkill could be loaded as a kernel module though it does seem normal.

On my system I see

$ rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0   unblocked unblocked


$ lsmod | grep iwlmvm
iwlmvm                925696  0
mac80211             1949696  1 iwlmvm
iwlwifi               589824  1 iwlmvm
cfg80211             1531904  3 iwlmvm,iwlwifi,mac80211
rfkill                 45056  9 iwlmvm,bluetooth,cfg80211

You should be able to unblock it with sudo rfkill unblock wlan.
Let us know if that does not work.

I’m assuming you meant sudo rfkill unblock wlan, because phy0 is not an identifier.

Very peculiar results. See this:

[g@fedora]~% rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0     blocked unblocked

[g@fedora]~% sudo rfkill unblock wlan

[g@fedora]~% rfkill                  
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0   unblocked   blocked

So the wlan started in a soft-blocked state with no block on the hardware. After trying to unblock it, it then became hardware blocked.

Correct, I apparently mis-interpreted the output from rfkill -h. I fixed it in my post above.

That is definitely strange and I believe would tend to indicate a problem with the driver. Possibly either a firmware or driver change with the newer kernel.