I suggest that you try a driver parameter. From the terminal:
sudo -i
echo "options cfg80211 cfg80211_disable_40mhz_24ghz=Y" > /etc/modprobe.d/cfg80211.conf
exit
Reboot. If there is no improvement, please make a few changes in the router's setup.
WPA2-AES is preferred; not any WPA and WPA2 mixed mode and certainly not TKIP. Second, if your router is capable of N speeds, you may have better connectivity with a channel width of 20 MHz in the 2.4 GHz band instead of automatic 20/40 MHz, although it is likely to affect N speeds. I recommend a fixed channel, either 1, 6 or 11, rather than automatic channel selection. Also, be certain the router is not set to use N speeds only; auto B, G and N is preferred. After making these changes, reboot the router.
EDIT: We note dozens, perhaps hundreds of lines of:
changed bandwidth, new config
There are many reports of this behavior and it seems always to prohibit the wireless from working at all. Let's try to stop it. From the terminal:
sudo -i
echo "options iwlwifi 11n_disable=8" >> /etc/modprobe.d/iwlwifi.conf
modprobe -r iwlwifi
modprobe iwlwifi
exit
Is there any improvement? If not, there are other parameters that we may try that are increasingly restrictive.
EDIT 2: Your device and driver look first for version -50 of the firmware and, not finding it, then -49 and then it finds and loads -48 which is the latest found in the Ubuntu package linux-firmware. There is, however, a version -50 available. Let's load it:
cd /usr/lib/firmware
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/iwlwifi-QuZ-a0-jf-b0-50.ucode
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi
Now, let's check to see what version loaded:
dmesg | grep firmware
Look for later timestamps; the firmware load that occured when the computer first boots will be around 4.00 or so; we are interested in the most recent entries; that is, 50.00 and probably much higher.
Is there any improvement?