File Transfers Slow Using Manjaro KDE Linux Compared To Windows

Hi,

Just wondering if someone with more knowledge might be able to lend a hand?
While I’ve been able to sort most things with transitioning off Windows, one thing I haven’t been able to solve is the slow file transfer speeds compared to using Windoz.

I’ve read a few topic’s about others having the same sorts of issues and tried a few things but haven’t been able solve it. When I send a file from windows to my server, it transfers at about 90-100MB/s. When I do the same thing via Linux, it’s about 20MB/s. I have timed the actual transfers and it’s definitely slower (a 700MB file takes 37sec on Linux compared to 8sec on windoz so I’m not imagining it).

My Manjaro is up to date and using KDE desktop 5.23.4, Kernel is 5.10.83-1 (I downgraded to an LTS version, but the kernel 5.14.21-2 was what was initially installed and I still had the same issue.

Both the server and PC drives are formatted as Ext4 (4xHDD as RAID 6 on server and SSD in PC and no encryption), using Gigabit ports to transfer, CPU is about 25% when transferring (so not peaking at 100% or anything). I’m just connecting to the server using the File Manager and I’ve tried a few different file managers (Dolphin, Thunar and I’m using Nemo) - they all transfer at about the same rate.

If I transfer between SSD’s on the PC (there’s two in there and both SSD) it transfers at about 55-60MB/s (which still seems slow between SSDs).

Is there something I’m missing? I assume it’s connecting via Samba. The File Manager also had an option to connect via Windows shares and transferred at about the same rate. I’d seen a post about a Samba.conf file in /etc that could be modified, but there’s no such file on my install.

Please be gentle. While I’ve been using computers for years (and tried Linux a few times before), but I’m not up on the terminal yet other than doing some upgrades and installing apps when it doesn’t work via Paman.

Thanks in advance for any help

Cheers Pete

1 Like

Hi @schmidtp, and welcome!

While I doubt I’ll be the one to crack this, and not for a lack of willingness. I will be the one to point you here: [HowTo] Provide System Information and, if applicable, here: [HowTo] post screenshots and links.

Hope you manage!

1 Like

OK Thanks. I can do that.

So here’s the inxi output

System:
  Kernel: 5.10.83-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64
    root=UUID=0d350dc5-061f-4570-a546-a36be4a7ba12 rw quiet apparmor=1
    security=apparmor resume=UUID=3e15db92-9f8c-44d2-928e-855ea6601845
    udev.log_priority=3
  Desktop: KDE Plasma 5.23.4 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: X550DP v: 1.0
    serial: <superuser required>
  Mobo: ASUSTeK model: X550DP v: 1.0 serial: <superuser required>
    UEFI: American Megatrends v: 211 date: 07/14/2014
Battery:
  ID-1: BAT0 charge: 24.7 Wh (100.0%) condition: 24.7/30.8 Wh (80.1%)
    volts: 16.5 min: 14.4 model: ASUS X550E30 type: Li-ion serial: N/A
    status: Not charging cycles: 4096
Memory:
  RAM: total: 14.85 GiB used: 3.74 GiB (25.2%)
  RAM Report:
    permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: AMD A10-5750M APU with Radeon HD Graphics bits: 64 type: MT MCP
    arch: Piledriver family: 0x15 (21) model-id: 0x13 (19) stepping: 1
    microcode: 0x6001119
  Topology: cpus: 1x cores: 4 smt: enabled cache: L1: 192 KiB
    desc: d-4x16 KiB; i-2x64 KiB L2: 4 MiB desc: 2x2 MiB
  Speed (MHz): avg: 1921 high: 2481 min/max: 1400/2500 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 2425 2: 2481
    3: 1391 4: 1387 bogomips: 19969
  Flags: 3dnowprefetch abm aes aperfmperf apic arat avx bmi1 clflush cmov
    cmp_legacy constant_tsc cpb cpuid cr8_legacy cx16 cx8 de decodeassists
    extapic extd_apicid f16c flushbyasid fma fma4 fpu fxsr fxsr_opt ht
    hw_pstate ibs lahf_lm lbrv lm lwp mca mce misalignsse mmx mmxext monitor
    msr mtrr nodeid_msr nonstop_tsc nopl npt nrip_save nx osvw pae pat
    pausefilter pclmulqdq pdpe1gb perfctr_core perfctr_nb pfthreshold pge pni
    popcnt pse pse36 rdtscp rep_good sep skinit ssbd sse sse2 sse4_1 sse4_2
    sse4a ssse3 svm svm_lock syscall tbm tce topoext tsc tsc_scale vmcb_clean
    vme vmmcall wdt xop xsave
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2
    mitigation: Full AMD retpoline, STIBP: disabled, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Richland [Radeon HD 8650G] vendor: ASUSTeK driver: radeon
    v: kernel bus-ID: 00:01.0 chip-ID: 1002:990b class-ID: 0300
  Device-2: AMD Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 /
    Radeon 520 Mobile]
    vendor: ASUSTeK driver: radeon v: kernel alternate: amdgpu bus-ID: 01:00.0
    chip-ID: 1002:6660 class-ID: 0380
  Device-3: Chicony USB2.0 HD UVC WebCam type: USB driver: uvcvideo
    bus-ID: 2-4:2 chip-ID: 04f2:b3d8 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org 1.21.1.1 compositor: kwin_x11 driver:
    loaded: ati,modesetting unloaded: radeon alternate: fbdev,vesa
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 506x285mm (19.9x11.2")
    s-diag: 581mm (22.9")
  Monitor-1: HDMI-0 res: 1920x1080 hz: 60 dpi: 93
    size: 527x296mm (20.7x11.7") diag: 604mm (23.8")
  Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:
  Device-1: AMD Trinity HDMI Audio vendor: ASUSTeK driver: snd_hda_intel
    v: kernel bus-ID: 00:01.1 chip-ID: 1002:9902 class-ID: 0403
  Device-2: AMD FCH Azalia vendor: ASUSTeK driver: snd_hda_intel v: kernel
    bus-ID: 00:14.2 chip-ID: 1022:780d class-ID: 0403
  Sound Server-1: ALSA v: k5.10.83-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.40 running: yes
Network:
  Device-1: Qualcomm Atheros AR9485 Wireless Network Adapter vendor: Lite-On
    driver: ath9k v: kernel bus-ID: 04:00.0 chip-ID: 168c:0032 class-ID: 0280
  IF: wlp4s0 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK driver: r8169 v: kernel port: d000 bus-ID: 05:00.0
    chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 1.14 TiB used: 193.06 GiB (16.6%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Crucial model: CT250MX500SSD1
    size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 023 scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT1000MX500SSD1
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 023 scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 914.88 GiB size: 899.45 GiB (98.31%)
    used: 193.06 GiB (21.5%) fs: ext4 dev: /dev/sdb2 maj-min: 8:18 label: N/A
    uuid: 0d350dc5-061f-4570-a546-a36be4a7ba12
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 288 KiB (0.1%) fs: vfat dev: /dev/sdb1 maj-min: 8:17 label: NO_LABEL
    uuid: B009-BE87
Swap:
  Kernel: swappiness: 10 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 16.33 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/sdb3 maj-min: 8:19 label: swap
    uuid: 3e15db92-9f8c-44d2-928e-855ea6601845
Unmounted:
  ID-1: /dev/sda1 maj-min: 8:1 size: 128 MiB fs: <superuser required>
    label: N/A uuid: N/A
  ID-2: /dev/sda2 maj-min: 8:2 size: 832 MiB fs: ntfs
    label: Windows RE tools uuid: ED0EB5303F2A400D
  ID-3: /dev/sda3 maj-min: 8:3 size: 100 MiB fs: vfat label: SYSTEM
    uuid: 1ECE-339A
  ID-4: /dev/sda4 maj-min: 8:4 size: 222.47 GiB fs: ntfs label: N/A
    uuid: D37AB715A402DA7C
  ID-5: /dev/sda5 maj-min: 8:5 size: 9.38 GiB fs: ntfs label: Recovery image
    uuid: 74E28EE9416E7B18
USB:
  Hub-1: 1-0:1 info: Full speed or root hub ports: 5 rev: 2.0 speed: 480 Mb/s
    chip-ID: 1d6b:0002 class-ID: 0900
  Hub-2: 2-0:1 info: Full speed or root hub ports: 5 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 2-4:2 info: Chicony USB2.0 HD UVC WebCam type: Video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s power: 500mA
    chip-ID: 04f2:b3d8 class-ID: 0e02 serial: <filter>
  Hub-3: 3-0:1 info: Full speed or root hub ports: 5 rev: 1.1 speed: 12 Mb/s
    chip-ID: 1d6b:0001 class-ID: 0900
  Device-1: 3-1:3
    info: Microsoft 2.4GHz Transceiver v8.0 used by mouse Wireless Desktop 900
    type: Keyboard,Mouse,HID driver: hid-generic,usbhid interfaces: 3 rev: 2.0
    speed: 12 Mb/s power: 100mA chip-ID: 045e:07b2 class-ID: 0300
  Hub-4: 4-0:1 info: Full speed or root hub ports: 5 rev: 1.1 speed: 12 Mb/s
    chip-ID: 1d6b:0001 class-ID: 0900
  Hub-5: 5-0:1 info: Hi-speed hub with single TT ports: 2 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-6: 6-0:1 info: Super-speed hub ports: 2 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 6280.4 C mobo: N/A
  Fan Speeds (RPM): cpu: 2900
  GPU: device: radeon temp: 50.0 C device: radeon temp: 43.0 C
Info:
  Processes: 222 Uptime: 3d 8h 37m wakeups: 3 Init: systemd v: 249
  tool: systemctl Compilers: gcc: 11.1.0 Packages: pacman: 1369 lib: 380
  flatpak: 0 Shell: Zsh v: 5.8 default: Bash v: 5.1.12 running-in: konsole
  inxi: 3.3.10

Anything in there that might be affected the slow transfer rates? Where to now?

Thanks

your network driver: r8169

Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK driver: r8169

Are there error messages for this driver in the journal?
in shell:

journalctl -g r816

https://wiki.archlinux.org/title/Network_configuration/Ethernet#Realtek_RTL8111/8168B

1 Like

I have similar network chip and can add that it sometimes defaults back to 100 Mbps and needs a restart to get back to 1000 Mbps. I have a ASRock motherboard but the solutions provided in the arch wiki could lead you to something useful even for other motherboards.

I suspect that the journal will say something like:

dec 15 15:25:02 gid kernel: Generic FE-GE Realtek PHY r8169-0-500:00: Downshift occurred from negotiated speed 1Gbps to actual speed 100Mbps, check cabling!
dec 15 15:25:02 gid kernel: r8169 0000:05:00.0 enp5s0: Link is Up - 100Mbps/Full (downshifted) - flow control rx/tx

For reference the hardware I use:

Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASRock driver: r8169 v: kernel port: f000 bus-ID: 05:00.0
    chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter>

I have not been that bothered to solve this yet since I suspect the cause in my case is a substandard switch that needs replacing.

1 Like

Thanks for the suggestion @Hanzel

I had a look at my current journal log and couldn’t find anything relating to Realtek in the log. And rebooting doesn’t seem to change anything related to my speed issues.

Besides, I don’t think it is anything to do with the hardware in my case as it works fine under Windows, not so much under Linux. I am tempted to try a different distro (Debian based) just to see whether it’s got something to do with Arch vs Debian. I don’t seem to remember having this issue when I ran Linux Mint a while back. But it would be nice to know why this happens and how to fix it.

So just to rule out something funny with the laptops hardware and Linux, I ran a live version of Manjaro on my newer laptop from a USB. I got the same file transfer rates - about 20MB/s. This laptop doesn’t have a LAN port, just a thunderbolt port with a multi-port adapter (Display, LAN, 4x USB3 ports).

Then I ran Linux Mint as a live USB as well on the new laptop. Files transfer at about 90MB/s. Put the same live USB in the old laptop, Files transfer at about 75-80MB/s - 4x faster than the 20MB/s currently transferring them using Manjaro.

OK, so what’s different in the network settings for Manjaro Linux build to a Debian Linux build?

Thanks

realtek drivers has not had the cleanest of track record in linux. but there are instances where arch vs ubuntu based has gone well for ubuntu.

check to see if this improves;
https://bbs.archlinux.org/viewtopic.php?id=240688

There are two driver r8168 and r8169 for realtek. Which one uses debian?

lsmod gives you the loaded kernel modules:

e.g.

lsmod | grep r81
r8169 118784 0
mdio_devres 16384 1 r8169
libphy 151552 3 r8169,mdio_devres,realtek

on my system r8189 is loaded.

I ran the command and it said R8169 for my install. I went to system settings and Hardware Config. Network only had the open source driver installed checked (which it said R8168). I right clicked and installed the R8168 driver, rebooted. Still the same speeds.

@koshikas
I had a look at the article. The first two commands didn’t seem to work.

ethtool enp2s0

lshw -c network

But I did have a look at my Configure Network Settings. Link Negotiation and MTU is set to Auto, regardless of the driver used.

you will have to install both “ethtool” and “lshw” pacakges for it to work.

look for “Supported link modes:” and “Auto-negotiation:” fields. if auto neg. is disbaled enable it with given command in the forum.

Thanks @koshikas
I thought these commands would be installed normally. I’ve installed them both.
The output from ethtool is

[sudo] password for schmidtp: 
Settings for enp5s0:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        master-slave cfg: preferred slave
        master-slave status: slave
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: external
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: d
        Link detected: yes

and

[sudo] password for schmidtp: 
  *-network                 
       description: Wireless interface
       product: AR9485 Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: wlp4s0
       version: 01
       serial: 3e:0c:f7:10:38:04
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=5.10.84-1-MANJARO firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:17 memory:ff900000-ff97ffff memory:ff980000-ff98ffff
  *-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:05:00.0
       logical name: enp5s0
       version: 0c
       serial: 9c:5c:8e:2f:ac:9d
       size: 1Gbit/s
       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-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.10.84-1-MANJARO duplex=full firmware=rtl8168g-2_0.0.1 02/06/13 ip=192.168.0.17 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:18 ioport:d000(size=256) memory:ff800000-ff800fff memory:d0000000-d0003fff

I ran lshw as superuser as it came up with a warning it should be run this way and also ethtool as it didn’t have all the output of the forum example. But speeds seem to indicate Gigabit and Auto-negotiate is on.

2 things to consider:

  • Disable IPv6

  • Blacklist r8169 in favor of r8168

1 Like

Thanks @cscs for the suggestion.

I went into System Settings - Network -Connections and disabled IPv6 from the tab, then rebooted. Still no change to speed.

I reinstalled the R8168 driver through System Settings - Hardware Configuration - right click install and rebooted. Still no speed change.

Then looked up blacklisting drivers from the wiki, searched through to
etc/modprobe.d/ and there was already a file created r8169_blacklist.conf which contained 1 line only:

blacklist r8169

Presumably made when I reinstalled the R8168 driver from the time stamp.

Any other suggestions?

Lets go with the outside chance its something to do with dirty_writeback and things like that …
(so general transfer speeds like copying between your SSDs too)
Give this a whirl:

Other considerations:

  • Disable IPv6 more robustly; add to boot options ipv6.disable=1
  • Kernel - try something like 5.4 maybe
  • Maybe the aur/dkms package? AUR (en) - r8168-dkms

PS - I doubt the nvram and other slight additions make any difference … but I think you have BIOS update (still from 2014 though) X550DP - Support

1 Like

Thanks @cscs
I downloaded and ran your script and just selected the default options that were offered. Tried to transfer a file again, still the same. Did a reboot, transfer a file and still the same slow speed.

Where and which file do I need to update to disable IPv6? I’m not sure what file the boot options is?

This is usually preferable - it does some checking of hardware and a bit of arithmetic to provide what should be decent configuration values for your particular system.

Edit /etc/default/grub on line GRUB_CMDLINE_LINUX so that, assuming no other options are there, it will look like this:

GRUB_CMDLINE_LINUX="ipv6.disable=1"

Then run:

sudo update-grub

(and reboot)

Thanks @cscs

I did the following:

Edit /etc/default/grub on line GRUB_CMDLINE_LINUX="ipv6.disable=1" 
sudo update-grub
And rebooted

No change to speed.

I installed the Linux 5.4.168-1 kernel and removed 5.10.84-1, rebooted and tried to copy a file again. Still only 20MB/s

Maybe the aur/dkms package? AUR (en) - r8168-dkms

How do I install this? I checked in the AUR package manager but it couldn’t find it. Only on the link page your suggested, but not sure how to install it?

PS - I doubt the nvram and other slight additions make any difference … 
but I think you have BIOS update (still from 2014 though) [X550DP - Support]
(https://www.asus.com/us/supportonly/X550DP/HelpDesk_BIOS/)

I might have updated the firmware when I put this new motherboard in this laptop. I’m hesitant to upgrade it again as that’s what caused the original motherboard to go kaput!

Just as with any other AUR package.
I dont know what manager(s) you have installed … but I am guessing you have pamac:

pamac build r8168-dkms

Thanks again @cscs

I ran the command as superuser and it ran fine until the end where it spat out some errors about Kernel headers? But said it installed I believe (I re-booted so lost the from the terminal window).

I ran lshw -c network again, and the output was ( I removed the IP address)

configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.049.02-NAPI duplex=full ip=xxx.xxx.x.xx latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s

From this, the driver installed correctly I think?

I tried copying a file again after rebooting, still transferring at about 20MB/s.