My new PC has poor Internet speeds. It's only a cheap WiFi dongle, but when I use the same WiFi dongle on the same network in my old, worse PC, then I get a faster speed than the new PC. So I think something must be wrong with the drivers or configuration on the new PC, but I cannot see what to change. Could you please tell me why my WiFi connection is slow?
Comparison of the two PCs
PC | Ubuntu | Kernel | CPU | Storage | WiFi adapter |
Adapter bus |
Download Mbps |
Upload Mbps |
Diagnostic results |
---|---|---|---|---|---|---|---|---|---|
Lazarus | 18.04.4 | 5.4.0-58 | Intel Sandy Bridge | SATA SSD | Broadcom BCM4313 | PCI | 20 | 13 | |
Lazarus | 18.04.4 | 5.4.0-58 | Intel Sandy Bridge | SATA SSD | Ralink RT2870/ RT3070 |
USB 1.0 | 35 | 18 | User and root |
Paul | 20.04.1 | 5.4.0-58 | AMD Picasso | NVMe SSD | Ralink RT2870/ RT3070 |
USB 3.0 socket into USB 3.2 Gen 1 mobo | 7 | 3 | User and root |
You can see that 'Paul' is substantially better in every way except for the slower Internet speeds. All speeds are rough averages over several tests using a 2.4GHz-only network.
I tested the RT3070 dongle on 'Lazarus' only after using sudo ifconfig wlp2s0 down
to disable the internal Broadcom adapter (and the fact that the Internet is faster over the dongle seems to confirm that this worked).
Earlier answers recommend a deprecated driver
Some AskUbuntu answers and other Internet pages suggest replacing the kernel's rt3070usb
driver with a self-compiled driver from the vendor's rt3070sta
source code. But as the comments at that link explain, the vendor's website disappeared long ago and that driver was for the 2.4 kernel. Debian has a .deb for that rt2870sta
driver, but it's also for ancient kernels and is deprecated in favour of rt2870usb
and rt3070usb
, so this route seems unworkable. I think the problem is more likely my configuration or maybe 20.04.
Other possibilities
Several answers talk about editing /etc/modprobe.d/blacklist.conf
to disable conflicting drivers. I can't see any conflicts in the lsmod
diagnostic results (the "menuconfig" paragraph of this kernel documentation mentions three required drivers), but I have no experience of using that tool.
I even wonder whether it could be some kind of USB configuration problem.
By the way, the dongle does not work in the new PC ('Paul') if inserted before boot. It only works when inserted afterwards. This answer explains how to fix the problem, but perhaps it gives a clue to the problem.