Wi-Fi on Ubuntu 20.04 is very slow

I am using Ubuntu 20.04 dual boot with windows 10 on Dell Inspiron 13 7000 2-in-1 laptop.

Wi-Fi speeds in Ubuntu are very slow, whereas in Windows they are good. I checked the Wi-Fi signal. It is strong.

00:14.3 Network controller: Intel Corporation Wireless-AC 9462
        Subsystem: Intel Corporation Wireless-AC 9462
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at 602311c000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [c8] Power Management version 3
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [40] Express (v2) Root Complex Integrated Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0
                        ExtTag- RBE- FLReset+
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                DevCap2: Completion Timeout: Range B, TimeoutDis+, NROPrPrP-, LTR+
                         10BitTagComp-, 10BitTagReq-, OBFF Via WAKE#, ExtFmt-, EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 16ms to 55ms, TimeoutDis-, LTR+, OBFF Disabled
                         AtomicOpsCtl: ReqEn-
        Capabilities: [80] MSI-X: Enable+ Count=16 Masked-
                Vector table: BAR=0 offset=00002000
                PBA: BAR=0 offset=00003000
        Capabilities: [100 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Capabilities: [164 v1] Vendor Specific Information: ID=0010 Rev=0 Len=014 <?>
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi

Adding dmesg o/p:

$sudo dmesg | grep -i iwl
[sudo] password for ayalar: 
[    2.414470] Loading modules backported from iwlwifi
[    2.414470] iwlwifi-stack-public:master:8324:9176b151
[    2.474032] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    2.479041] iwlwifi 0000:00:14.3: Direct firmware load for iwl-dbg-cfg.ini failed with error -2
[    2.479328] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-55.ucode failed with error -2
[    2.479458] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-54.ucode failed with error -2
[    2.479476] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-53.ucode failed with error -2
[    2.479495] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-52.ucode failed with error -2
[    2.479510] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-51.ucode failed with error -2
[    2.479635] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-50.ucode failed with error -2
[    2.479650] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-49.ucode failed with error -2
[    2.481494] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 43.2.23.17
[    2.481695] iwlwifi 0000:00:14.3: loaded firmware version 48.4fa0041f.0 QuZ-a0-jf-b0-48.ucode op_mode iwlmvm
[    2.481716] iwlwifi 0000:00:14.3: Direct firmware load for iwl-debug-yoyo.bin failed with error -2
[    2.551506] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560, REV=0x354
[    2.704999] iwlwifi 0000:00:14.3: base HW address: 5c:80:b6:a8:67:9a
[    2.937081] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0

Kernel:

$ uname -r
5.4.0-33-generic

I had similar behaviour on my Lenovo L13 Yoga. Same Network controller, same kernel.

 $ lspci | grep Network
 00:14.3 Network controller: Intel Corporation Wireless-AC 9462

 $ uname -r
 5.4.0-33-generic

I found a temporary fix: I downloaded the firmware directly from Intel: https://www.intel.de/content/www/de/de/support/articles/000005511/network-and-i-o/wireless-networking.html put it in /lib/firmware .

At each reboot I have to restart the wireless:

 sudo modprobe -r iwlwifi
 sudo modprobe iwlwifi

but after doing that wi-fi is working properly.