Realtek RTL8111H Network Speed / Drivers

Hey there,
first of all I’m very new to Linux so my knowledge is very little and my english isn’t the best, so I hope you can excuse some mistakes I eventually make.

I just bought the new Asrock DeskMini A300 which has a RTL8111H installed and I’m using it with Tumbleweed.
After setting up Samba I wanted to copy some files from my Windows 7 PC to the DeskMini but the network speed was very slow. I made a direct connection with a crossover cable, both sides sync to 1000Mbit/s and I even get ~100MB/s at the beginning but then the speed drops down to ~30-50MB/s. And this was tested with one large file.

After some research I now know that the RTL8111H doesn’t work very well on Linux and sudo ethtool -i enp51s0 told me the loaded driver was r8169 which comes with the main kernel.
Then I searched for a better driver and I found this page: https://software.opensuse.org/package/r8168-kmp-default
It tells me, that the r8168 also applys to the RTL8111H. So I did the 1-Click-Installation of the Sauerland package and when I now do sudo ethtool -i enp51s0 it returns:

driver: r8168
version: 8.046.00-NAPI
firmware-version: 
expansion-rom-version: 
bus-info: 0000:33:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

So it has loaded the new driver but the speeds are the same.

[FONT=tahoma]sudo ethtool enp51s0 returns the following:

Settings for enp51s0:
        Supported ports:  TP ]
        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/Half 1000baseT/Full 
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

Am I doing something wrong? Am I missing something? Would be really nice if someone could help me to get the gigabit network working.

Greetings
[/FONT]

Please post:

zypper lr -d
zypper se -si r8168

Hey,
as requested:

athlon@athlon:~> zypper lr -d
# | Alias                               | Name                            | Aktiviert | GPG-Überprüfung | Aktualisierung | Priorität | Typ    | URI                                                                               | Dienst
--+-------------------------------------+---------------------------------+-----------+-----------------+----------------+-----------+--------+-----------------------------------------------------------------------------------+-------
1 | download.opensuse.org-non-oss       | Haupt-Repository (NON-OSS)      | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/tumbleweed/repo/non-oss/                             |       
2 | download.opensuse.org-oss           | Haupt-Repository (OSS)          | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/tumbleweed/repo/oss/                                 |       
3 | download.opensuse.org-tumbleweed    | Hauptaktualisierungs-Repository | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/update/tumbleweed/                                   |       
4 | http-download.opensuse.org-c96d5aba | home:Sauerland                  | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/repositories/home:/Sauerland/Kernel_stable_standard/ |       
5 | http-download.opensuse.org-d51e1b46 | Kernel:stable                   | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/repositories/Kernel:/stable/standard/                |       
6 | openSUSE-20190314-0                 | openSUSE-20190314-0             | Nein      | ----            | ----           |   99      | rpm-md | hd:/?device=/dev/disk/by-id/usb-SanDisk_Extreme_AA011010162146133379-0:0-part2    |       
7 | repo-debug                          | openSUSE-Tumbleweed-Debug       | Nein      | ----            | ----           |   99      | NONE   | http://download.opensuse.org/debug/tumbleweed/repo/oss/                           |       
8 | repo-source                         | openSUSE-Tumbleweed-Source      | Nein      | ----            | ----           |   99      | NONE   | http://download.opensuse.org/source/tumbleweed/repo/oss/                          |  
athlon@athlon:~> zypper se -si r8168
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                  | Typ   | Version                          | Arch   | Repository    
---+-----------------------+-------+----------------------------------+--------+---------------
i  | r8168-blacklist-r8169 | Paket | 8.046.00-61.49                   | x86_64 | home:Sauerland
i+ | r8168-kmp-default     | Paket | 8.046.00_k5.0.2_2.gd1f1d19-61.49 | x86_64 | home:Sauerland

An old-school fix that sometimes works is to turn off auto-negotiation and set full duplex for whatever speed you want manually.

Of course,
You have to have a direct connection or through devices that support the speed you want, any slow devices between source and target like routers and switches will restrict speeds.

TSU

Maybe use this r8168 from this Repo and do not use the kernel:stable:
https://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Tumbleweed/

Do you use another cable?

Hey there,

so today i tried at first turning off auto-negotiation and set the speed manually to 1000Mbit/s.
So if you look at this screenshot i made: https://abload.de/img/network1w9kyn.jpg you can see my network speed with auto-negotiation “on” on the left side (don’t mind the time passed, I canceled the job) and with auto-negotiation “off” on the right side. Looks pretty good at the first few second but then the speed drops again.

Then I changed auto-neg back to “on”, deinstalled the old driver changed the repo, installed the new ones. Median speed was a bit better (~70MB/s). As you can see in the next screenshot the traffic looks like a hacksaw: https://abload.de/img/network2sekti.jpg

Then I turned auto-neg back to off and set my speed manually to 1000Mbit/s again. And as you can see in this last screenshot I made (https://abload.de/img/network3vnj2o.jpg) it looks a bit better but somethings still not quite right because of this speed drops.

Yesterday I had my DeskMini connected to my router with a different cable and it didn’t change anything. So today I connected it directly to my PC again.

My current settings are this:

athlon@athlon:/> sudo ethtool -i enp51s0
[sudo] Passwort für root: 
driver: r8168
version: 8.046.00-NAPI
firmware-version: 
expansion-rom-version: 
bus-info: 0000:33:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

athlon@athlon:/> sudo ethtool enp51s0
Settings for enp51s0:
        Supported ports:  TP ]
        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:  Not reported
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

athlon@athlon:/> zypper se -si r8168
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                  | Typ   | Version                | Arch   | Repository             
---+-----------------------+-------+------------------------+--------+------------------------
i  | r8168-blacklist-r8169 | Paket | 8.046.00-62.1          | x86_64 | home:Sauerland:hardware
i+ | r8168-kmp-default     | Paket | 8.046.00_k5.0.1_1-62.1 | x86_64 | home:Sauerland:hardware

athlon@athlon:/> zypper lr -d
# | Alias                               | Name                            | Aktiviert | GPG-Überprüfung | Aktualisierung | Priorität | Typ    | URI                                                                                      | Dienst
--+-------------------------------------+---------------------------------+-----------+-----------------+----------------+-----------+--------+------------------------------------------------------------------------------------------+-------
1 | download.opensuse.org-non-oss       | Haupt-Repository (NON-OSS)      | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/tumbleweed/repo/non-oss/                                    |       
2 | download.opensuse.org-oss           | Haupt-Repository (OSS)          | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/tumbleweed/repo/oss/                                        |       
3 | download.opensuse.org-tumbleweed    | Hauptaktualisierungs-Repository | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/update/tumbleweed/                                          |       
4 | http-download.opensuse.org-8a381727 | home:Sauerland:hardware         | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Tumbleweed/ |       
5 | http-download.opensuse.org-d51e1b46 | Kernel:stable                   | Ja        | (r ) Ja         | Ja             |   99      | rpm-md | http://download.opensuse.org/repositories/Kernel:/stable/standard/                       |       
6 | repo-debug                          | openSUSE-Tumbleweed-Debug       | Nein      | ----            | ----           |   99      | NONE   | http://download.opensuse.org/debug/tumbleweed/repo/oss/                                  |       
7 | repo-source                         | openSUSE-Tumbleweed-Source      | Nein      | ----            | ----           |   99      | NONE   | http://download.opensuse.org/source/tumbleweed/repo/oss/                                 |       
8 | teamviewer                          | TeamViewer - x86_64             | Ja        | (r ) Ja         | Nein           |   99      | rpm-md | http://linux.teamviewer.com/yum/stable/main/binary-x86_64/    

Greetings

Hey there,

today i did some more testing. I downloaded a larger file of 4,4GB to test with. Then I remembered that I got a NVME SSD and that I could test the bandwitdh on this one instead of the HDDs. It looked very stable. Then I copied that file on a HDD and got 2 drops. Then I did this again and both copy jobs looked very well.
I also did a screenshot of my network monitor: https://abload.de/img/network4cjjut.jpg

I then copied some more but smaller files and it looked much better copying to the SSD than to the HDD. So I guess from now on it’s either the S-ATA interface or even the HDDs that are bottlenecking.

So I’m going to stick with the home:Sauerland:hardware repository and auto-negotiation turned off.

Thank you very much for your time and help.

Best regards