I have a Ubuntu 22.04 LTS on my PC and have 350-450Kb/s Wifi speed on Windows but on Ubuntu it is very very slow. Sometimes it counts 34-100bytes/sec. Specially on TERMINAL downloads like when installing something from CLI.
I don't know if there is any background service like updating or something like that on Ubuntu. If there is I think that might be the reason. If there is need to know them to disable and try if it's the reason for my issues.
Is there any way to solve this?
The iwlwifi driver is actually one of those supported by the manufacturer for linux, unlike a lot of other wifi drivers which have been reverse engineered by linux developers, and which don't work optimally at times, so I guess in theory the iwlwifi one should work as well in linux as elsewhere.
Whilst there are some reports online of quirks with it, the speed issue has in some cases been resolved by using one or more driver options which are placed in a file created for the purpose: /etc/modprobe.d/iwlwifi.conf.
Some success has occurred using the option: 11n_disable=8 in that created file with the following contents:
Code:
options iwlwifi 11n_disable=8
If by chance there already is an option somewhere such as: 11n_disable=1, then just change the number to 8 to see if it makes a difference.
Other suggested options include: lar_disable=1 swcrypto=1 bt_coex_active=0, which can be added to the options line to see if they are useful. The process is a bit experimental.
Sometimes the problem has been sourced in the "2.4 GHz vs 5 GHz" issue, which led to the suggested modprobe entry:
Code:
options cfg80211 cfg80211_disable_40mhz_24ghz=Y
which disables the 40 MHz channels usage on the 2.4GHz band.
On the matter of speed testing, one approach is to use the wget program which is often installed by default, but is easily installed if not. It provides a speed indication in Megabytes per second (MB/s), which can be converted to Megabits per second (Mbits/s) by multiplying MB/s by 8. For example, one can see a comparison in the following downloading speed for a kernel, compared to the output of speedtest-cli. The point of using wget is that the user can determine the speed during some useful downloading work, if they work that way, instead of bothering with other means:
Code:
[flip@flop ~]$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.5.2.tar.gz
--2023-09-08 08:59:00-- https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.5.2.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 2604:1380:40f1:3f00::1, 147.75.48.161
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|2604:1380:40f1:3f00::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 223527520 (213M) [application/x-gzip]
Saving to: ‘linux-6.5.2.tar.gz’
linux-6.5.2.tar. 100%[=======>] 213.17M 32.0MB/s in 6.7s
2023-09-08 08:59:07 (31.7 MB/s) - ‘linux-6.5.2.tar.gz’ saved [223527520/223527520]
compared with:
Code:
[flip@flop ~]$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Telstra Internet (101.176.147.220)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Macquarie Telecom (Sydney) [126.82 km]: 24.416 ms
Testing download speed................................................................................
Download: 269.98 Mbit/s
Testing upload speed......................................................................................................
Upload: 23.51 Mbit/s
The multiplication shows a good approximation, considering the differences in server locations:
Code:
[flip@flop ~]$ expr 32 \* 8
256