[SOLVED] WiFi stopped working on Debian 11 Bullseye: `failed to load iwlwifi-ty-a0-gf-a0-67.ucode`

Approximately, 1 month ago WiFi stopped working on my 11th Gen DIY model:

$ ip address show wlan0
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop s
tate DOWN group default qlen 1000
    link/ether 00:93:**:**:**:** brd ff:ff:ff:ff:ff:ff
$ iwctl station wlan0 scan
No station on device: 'wlan0'
$ lsb_release -d
Description:	Debian GNU/Linux 11 (bullseye)
$ uname -r
5.16.0-0.bpo.4-amd64
$ dpkg --list | grep -P '^ii\s+(linux-image|iwd|firmware-iwlwifi)'
ii  firmware-iwlwifi                      20210818-1~bpo11+1               all          Binary firmware for Intel Wireless cards
ii  iwd                                   1.14-3                           amd64        wireless daemon for Linux
ii  linux-image-5.10.0-21-amd64           5.10.162-1                       amd64        Linux 5.10 for 64-bit PCs (signed)
ii  linux-image-5.16.0-0.bpo.4-amd64      5.16.12-1~bpo11+1                amd64        Linux 5.16 for 64-bit PCs (signed)
ii  linux-image-amd64                     5.10.162-1                       amd64        Linux for 64-bit PCs (meta-package)
$ journalctl --output cat --boot=0 | grep iwlwifi
iwlwifi 0000:aa:00.0: enabling device (0000 -> 0002)
iwlwifi 0000:aa:00.0: firmware: failed to load iwlwifi-ty-a0-gf-a0-67.ucode (-2)
iwlwifi 0000:aa:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-67.ucode failed with error -2
iwlwifi 0000:aa:00.0: firmware: direct-loading firmware iwlwifi-ty-a0-gf-a0-66.ucode
iwlwifi 0000:aa:00.0: api flags index 2 larger than supported by driver
iwlwifi 0000:aa:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.63.2.1
iwlwifi 0000:aa:00.0: loaded firmware version 66.55c64978.0 ty-a0-gf-a0-66.ucode op_mode iwlmvm
iwlwifi 0000:aa:00.0: firmware: failed to load iwl-debug-yoyo.bin (-2)
iwlwifi 0000:aa:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 1, ret=-1
iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 2, ret=-1
iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 3, ret=-1
iwlwifi 0000:aa:00.0: firmware: direct-loading firmware iwlwifi-ty-a0-gf-a0.pnvm
iwlwifi 0000:aa:00.0: loaded PNVM version d35929d8
iwlwifi 0000:aa:00.0: Detected RF GF, rfid=0x10d000
iwlwifi 0000:aa:00.0: base HW address: 00:93:**:**:**:**

Maybe related to the removal of iwlwifi-ty-a0-gf-a0-67.ucode:
https://web.archive.org/web/20230226171508/git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=3435843535f747e5d68c7b084d234254dcd74f55

I tried to manually add the missing iwlwifi-ty-a0-gf-a0-67.ucode from the repo above:

$ sha256sum /usr/lib/firmware/iwlwifi-ty-a0-gf-a0-67.ucode
617697a18fa2b9b1bc8453538527109aab467478de1f942b7e920e6bc417e75b  /usr/lib/firmware/iwlwifi-ty-a0-gf-a0-67.ucode

The firmware: failed to load iwlwifi-ty-a0-gf-a0-67.ucode error vanished.
However, iwctl still reported No station on device

Any ideas? Thanks a lot!

After struggling for a month, I found the solution just a few minutes after creating this post.
Sorry, I was just dumb… fixed via:

$ sudo rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0     blocked unblocked
 1 wlan      phy0   blocked unblocked
$ sudo rfkill unblock wlan
$ sudo rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0     blocked unblocked
 1 wlan      phy0   unblocked unblocked
$ iwctl station list
                            Devices in Station Mode
--------------------------------------------------------------------------------
  Name                State          Scanning
--------------------------------------------------------------------------------
  wlan0               connected

journal:

sudo[7292]:  someone : TTY=pts/9 ; PWD=/home/someone ; USER=root ; COMMAND=/usr/sbin/rfkill unblock wlan
rfkill[7293]: unblock set for type wlan
kernel: iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 1, ret=-1
kernel: iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 2, ret=-1
kernel: iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 3, ret=-1
systemd[1]: Starting Load/Save RF Kill Switch Status...
systemd[1]: Started Load/Save RF Kill Switch Status.
systemd-networkd[483]: wlan0: Link UP
systemd[1]: systemd-rfkill.service: Succeeded.
systemd-networkd[483]: wlan0: Link DOWN
kernel: iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 1, ret=-1
kernel: iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 2, ret=-1
kernel: iwlwifi 0000:aa:00.0: WRT: Failed to set DRAM buffer for alloc id 3, ret=-1
systemd-networkd[483]: wlan0: Link UP
kernel: wlan0: authenticate with **:**:**:**:**:**
kernel: wlan0: send auth to **:**:**:**:**:** (try 1/3)
kernel: wlan0: authenticated
kernel: wlan0: associate with **:**:**:**:**:** (try 1/3)
kernel: wlan0: RX AssocResp from **:**:**:**:**:** (capab=0x11 status=0 aid=2)
kernel: wlan0: associated
kernel: wlan0: Limiting TX power to 23 (23 - 0) dBm as advertised by **:**:**:**:**:**
systemd-networkd[483]: wlan0: Gained carrier
systemd-networkd[483]: wlan0: Connected WiFi access point: SORRY (**:**:**:**:**:**)
iwd[671]: WARNING: src/resolve.c:resolve_systemd_set_dns() condition !systemd_state.is_ready failed
iwd[671]: WARNING: src/resolve.c:resolve_systemd_set_domains() condition !systemd_state.is_ready failed

Apparently, the mentioned error iwlwifi 0000:aa:00.0: firmware: failed to load iwlwifi-ty-a0-gf-a0-67.ucode (-2) is irrelevant.

I hope this post will be useful for others making the same mistake.