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.
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
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?
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.
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.
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.
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
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:
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!
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)