5

I am experiencing extremely slow download speeds (~25 Mbps) on my 1 Gbps connection. In Windows, on the same machine, I get ~960 Mbps download speed. The upload speed has absolutely no issues.

For WiFi, this answer worked like a charm for me. Is there a similar or a concrete solution for a wired connection as well?

EDIT I am including some hardware configuration based on matigo's comment on my question.

Output of sudo lspci

00:00.0 Host bridge: Intel Corporation Device 9a14 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
00:04.0 Signal processing controller: Intel Corporation Device 9a03 (rev 01)
00:06.0 PCI bridge: Intel Corporation Device 9a09 (rev 01)
00:07.0 PCI bridge: Intel Corporation Device 9a23 (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Device 9a0d (rev 01)
00:0d.0 USB controller: Intel Corporation Device 9a13 (rev 01)
00:0d.2 USB controller: Intel Corporation Device 9a1b (rev 01)
00:14.0 USB controller: Intel Corporation Device a0ed (rev 20)
00:14.2 RAM memory: Intel Corporation Device a0ef (rev 20)
00:14.3 Network controller: Intel Corporation Device a0f0 (rev 20)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device a0e8 (rev 20)
00:15.2 Serial bus controller [0c80]: Intel Corporation Device a0ea (rev 20)
00:16.0 Communication controller: Intel Corporation Device a0e0 (rev 20)
00:1c.0 PCI bridge: Intel Corporation Device a0b8 (rev 20)
00:1c.2 PCI bridge: Intel Corporation Device a0ba (rev 20)
00:1f.0 ISA bridge: Intel Corporation Device a082 (rev 20)
00:1f.3 Multimedia audio controller: Intel Corporation Device a0c8 (rev 20)
00:1f.4 SMBus: Intel Corporation Device a0a3 (rev 20)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device a0a4 (rev 20)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a80a
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

Output of sudo lshw -C network

  *-network                 
       description: Wireless interface
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 14.3
       bus info: pci@0000:00:14.3
       logical name: wlp0s20f3
       version: 20
       serial: 54:14:f3:dd:16:70
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=5.13.0-30-generic firmware=63.c04f3485.0 QuZ-a0-hr-b0-63.u ip=192.168.1.35 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: iomemory:600-5ff irq:16 memory:601d18c000-601d18ffff
  *-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:04:00.0
       logical name: enp4s0
       version: 15
       serial: 90:2e:16:9a:42:a8
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.13.0-30-generic firmware=rtl8168h-2_0.0.2 02/26/15 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:18 ioport:3000(size=256) memory:8e204000-8e204fff memory:8e200000-8e203fff
sri
  • 151
  • Some device-specific information will be required here. Could you [edit] your question to include the Terminal output of sudo lspci and sudo lshw -C network? This will show some details about the devices in your computer and which driver is in use, making it much easier to offer actionable suggestions. – matigo Mar 07 '22 at 07:54
  • Thank you so much @matigo, I have edited the question :) – sri Mar 07 '22 at 08:06

1 Answers1

6

Looking at the output of lshw, you may have a sub-optimal driver installed. One of the most common complaints with the r8169 is reduced throughput. The solution is usually to install the r8168-dkms package and blacklisting the original.

Here's how you do it:

  1. Open Terminal (if it's not already open)
  2. Update apt and install the dkms driver:
    sudo apt update
    sudo apt install r8168-dkms 
    
  3. Prevent the system from using r8169 going forward:
    sudo echo "blacklist r8169"  > /etc/modprobe.d/blacklist-r8169.conf
    
  4. Reboot

Now when you run sudo lshw -C network you should see driver=r8168 within the penultimate row. You should see speeds similar to those you see with Windows.

matigo
  • 22,138
  • 7
  • 45
  • 75
  • 1
    Thanks a lot for your response. I did make all the changes as described above. In addition, I also took care to enrol the secure boot key upon reboot. However, it didn't increase the download speed. Here's the output of sudo lshw -C network that shows the updated driver:

    configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.048.00-NAPI latency=0 link=no multicast=yes port=twisted pair resources: irq:145 ioport:3000(size=256) memory:8e204000-8e204fff memory:8e200000-8e203fff

    – sri Mar 07 '22 at 08:56
  • If you're like me and the installation fails because of current kernel version, be prepared ahead of time to apt purge r8168-dkms to revert the install. – pspahn Nov 07 '22 at 04:06
  • It worked well, just remember to finish the Enroll MOK if your machine is using UEFI. – Carlos Beppler Aug 10 '23 at 00:48
  • The blacklist command should be echo "blacklist r8169" | sudo tee /etc/modprobe.d/blacklist-r8169.conf – jordanbtucker Sep 15 '23 at 01:24