Download speed very slow in Ubuntu 20.04.1 while upload speed is perfectly fine over wifi
Im a new Linux user and I am facing this problem with my install. To be very specific, I have tried Ubuntu, Mint and even Kubuntu but this issue persists. The weird part is I am getting the exact same slow download speeds in all the distros which is 1.1Mbps (It should have been 45Mbps up+down) [checked through fast.com], but Im getting the full upload speed. [Using a fiber connection]
Things I have tried -
- Turning off the power management from this post
- Turning off IPV6 for that particular interface
- Updated grub and my system
Here is the output for
ip a
wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 192.168.1.47/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp0s20f3
valid_lft 86044sec preferred_lft 86044sec
valid_lft forever preferred_lft forever
Here is some information about my Network Controller
Network controller: Intel Corporation Device 43f0 (rev 11)
Subsystem: Bigfoot Networks, Inc. Device 1652
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at 6205274000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
Also
10.817111] iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX203, REV=0x354
To add further, I dual boot Windows 10 and Ubuntu as of now. The wifi works perfectly fine on windows 10. So after trying everything else I tried to connect my phone to my wifi and then created a hotspot from my phone. I then connected my laptop[with Ubuntu] to that hotspot and it works perfectly fine. The only issue is that I cannot keep doing this forever. Please help me out regarding this and do let me know if there is any command that i specifically need to check.
Thanks a lot for your time.
Check your WiFi MTU
, using
ip link
or
ip l | grep $(ip r | awk '/default/ {print $5}' ) | awk '{print $2, $4, $5}'
also notice your WiFi interface's name. Your ip a
command shows that your WiFi interface is "w1p0s2f3
" and your MTU is 1500, which is the cause of your difficulty.
The MTU
(Maximum Transmission Unit) is the size of the largest packet that can be sent in a single network transmission. If a packet exceeds the MTU
of a link, the data must be split into multiple packets (fragmented). These multiple packets must be sent over the link, received, acknowledged, and reassembled at the far end. If your link is misconfigured, and you have to fragment every packet you send, your actual data transfer rate drops.
Ethernet (wired) networks use an MTU
of 1500 bytes.
Due to additional per packet overhead for WiFi (8 bytes PPPoE header), WiFi uses an MTU
of 1492.
Your MTU
should be set by your DHCP server, check your router's config.
You can set your own MTU
(setting does not persist over restarts) with
sudo ip link set dev name mtu 1492
where "name" is the interface name from above.
Here's an example:
walt@squid:~(0)$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 00:24:21:7f:e5:1c brd ff:ff:ff:ff:ff:ff
3: wlxf46d04b1790f: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
link/ether f4:6d:04:b1:79:0f brd ff:ff:ff:ff:ff:ff
walt@squid:~(0)$ sudo ip link set dev wlxf46d04b1790f mtu 1492
[sudo] password for walt:
walt@squid:~(0)$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp63s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 00:24:21:7f:e5:1c brd ff:ff:ff:ff:ff:ff
3: wlxf46d04b1790f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether f4:6d:04:b1:79:0f brd ff:ff:ff:ff:ff:ff
My WiFi "interface name" is "wlxf46d04b1790f
".
Alright its totally my fault. The firewall on the router was set to strict and I changed it to be "low" and I'm getting the full bandwidth. Anyways thank you for your time, guys