Wifi is slow and unstable on ubuntu 20.04 dual boot (DELL XPS-L502X)

I am using a Dell XPS l502x laptop dual booted with Windows 10 and Ubuntu 20.04. The internet speed on Windows is fast and stable while it is very slow and unstable while I use Ubuntu, it keeps on dropping. The signal strength is also much weaker when I boot into Ubuntu while it works perfectly in Windows with same conditions.

The output of lspci -nnk | grep -A2 0280:

03:00.0 Network controller [0280]: Intel Corporation Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a] (rev 34)
    Subsystem: Intel Corporation Centrino Wireless-N 1030 BGN [8086:5325]
    Kernel driver in use: iwlwifi

The output of dmesg | grep iwl:

 [   17.896470] iwlwifi 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[   17.974380] iwlwifi 0000:03:00.0: loaded firmware version 18.168.6.1 op_mode iwldvm
[   18.938665] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUG disabled
[   18.938672] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUGFS enabled
[   18.938677] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[   18.938684] iwlwifi 0000:03:00.0: Detected Intel(R) Centrino(R) Wireless-N 1030 BGN, REV=0xB0
[   18.975229] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[   20.747957] iwlwifi 0000:03:00.0 wlp3s0: renamed from wlan0
[   35.230165] iwlwifi 0000:03:00.0: Radio type=0x2-0x2-0x1
[   35.326450] iwlwifi 0000:03:00.0: Radio type=0x2-0x2-0x1

The output of sudo lshw -C network:

 description: Wireless interface
       product: Centrino Wireless-N 1030 [Rainbow Peak]
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: wlp3s0
       version: 34
       serial: bc:77:37:28:9f:5b
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0-31-generic firmware=18.168.6.1 ip=192.168.0.104 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:39 memory:f1b00000-f1b01fff
  *-network
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:06:00.0
       logical name: enp6s0
       version: 06
       serial: 14:fe:b5:9c:fc:0d
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 firmware=rtl_nic/rtl8168e-2.fw latency=0 link=no multicast=yes port=MII
       resources: irq:17 ioport:2000(size=256) memory:f1804000-f1804fff memory:f1800000-f1803fff

I hope this information is enough to help me sort this out, Please let me know if any other information is needed regarding this issue.


I finally solved this after browsing and trying a couple of threads on various blogs.

The problem: My router is old and didn't supported 802.11n protocol, that caused the internet to slow down only in Ubuntu because by default it was being used.

The Solution: To force disable the 802.11 protocol permanently:

Step 1: Open iwlwifi.conf using nano or any other text editor.

sudo nano /etc/modprobe.d/iwlwifi.conf

Step 2: Add a line to force disable 802.11n protocol

options iwlwifi 11n_disable=1

Step 3: Save and reboot your PC.

NOTE: The changes won't take effect until you reboot your PC.

If you want to reverse the changes the please remove the line you've added and reboot.

This solved my problem and If your PC has the same issue, I'm sure it will solve yours too.