Realtek RTL8111GR issue

Hi, I have an strange issue with my NAS:

ASRock Q1900-ITX
Network adapter: Realtek RTL8111GR
2 x 4GB DDR3L
SATA3 SSD 32GB (system)
SATA3 HDD 2TB (share)

r8169 0000:03:00.0: Direct firmware load for rtl_nic/rtl8168g-2.fw failed with error -2
r8169 0000:03:00.0: Unable to load firmware rtl_nic/rtl8168g-2.fw (-2)
Generic FE-GE Realtek PHY r8169-0-300:00: attached PHY driver (mii_bus:phy_addr=r8169-0-300:00, irq=MAC)
r8169 0000:03:00.0 eth0: Link is Down
r8169 0000:03:00.0 eth0: Link is Up - 1Gbps/Full - flow control off
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
NET: Registered PF_PACKET protocol family 

When I had UBUNTU installed on this configuration, the transfer speed was around 75MB/s (FTP/SCP). The only thing I changed was to replace UBUNTU with Rockstor 4.6.0. And now I can’t get over 20MB/s. Any suggestions?

@cyberbob Hello there, and welcome to the Rockstor community forum.

That message indicates that a firmware load couldn’t complete. I’m pretty sure we don’t actually have this firmware in by default, or didn’t until more recently.

Look the the following pull request for some indications of which package we recently added in a newer installer. You may be missing some of the firmware ones:
I.e. you could try:

zypper in kernel-firmware-network

But it very much looks like the needed firmware for your card is just not installed.
A search on this card and openSUSE Leap 15.4 should help - assuming you install is of this base that is.

Hope that helps.

1 Like

That will be a problem. I have no experience with installing drivers into openSUSE.

@phillxnet looking at the installer repo, the realtek part does not seem to be there:

running zypper se -s kernel-firmware shows that a realtek package does exist for the kernel-firmware:

S | Name                    | Type    | Version                | Arch   | Repository
--+-------------------------+---------+------------------------+--------+-------------------------------------------------------------
  | kernel-firmware-realtek | package | 20230531-lp154.2.1     | noarch | Kernel_stable_Backport
  | kernel-firmware-realtek | package | 20220509-150400.4.16.1 | noarch | Update repository with updates from SUSE Linux Enterprise 15
  | kernel-firmware-realtek | package | 20220509-150400.4.13.1 | noarch | Update repository with updates from SUSE Linux Enterprise 15
  | kernel-firmware-realtek | package | 20220509-150400.4.8.1  | noarch | Update repository with updates from SUSE Linux Enterprise 15
  | kernel-firmware-realtek | package | 20220509-150400.4.5.1  | noarch | Update repository with updates from SUSE Linux Enterprise 15
  | kernel-firmware-realtek | package | 20220119-150400.2.3    | noarch | Leap_15_4

(on my system I am using the kernel backport hence that entry on the top).

so, I assume unless it’s added to the base installation of Rockstor, you would have to install the drivers

You could look here for a community package:
https://software.opensuse.org/package/r8168
and use this one:

https://software.opensuse.org/download/package?package=r8168&project=home%3ASauerland

or get the source from Realtek and follow the readme.
https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software

For this, @phillxnet - or someone else more knowledgeable than me - has to confirm, but I suspect for a source compilation you would have to install the kernel development tools, using:
zypper install -t pattern devel_kernel → (installing the entire pattern might be overkill and in reality only requires a couple of tools contained within that pattern).

There is an older post on this forum, unfortunately that one was created for the older CentOS based version. The principle is very similar though the prerequisites would have to be installed differently. Might be worthwhile updating/replacing it with a OpenSUSE flavor:

That post incidentally also came out of a Realtek performance issue when it was using the “wrong” driver

2 Likes

@cyberbob Re:

What @Hooverdan said, but it is still worth a try to install the firmware

  • as the root user
  • via the command line
  • using the the following command:
zypper in kernel-firmware-realtek

As it may just be a missing firmware.

Hope that helps.

2 Likes

OK, It`s not about Realtek. Today I added a LAN Gbit PCIe adapter with Intel I210-AT and same speed issue (22 MB/s). Looks like the Rockstor is a nice crap…

dmesg:

igb 0000:01:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX

ROS:

Hi there, @cyberbob,

I understand this kind of issue is always a frustrating but let’s try to keep a cordial tone and stay constructive; you’ve received multiple recommendations above but we do not know whether you have tested them and what their results were exactly. Please understand that it is difficult for people to help you any further if they can’t get feedback and additional information on things they’re recommended.

With that out of the way, let’s see if we can do something about the new card. An Intel controller usually should be a bit more robust but we’ve seen some issues in the past with other intel controllers still. Either way, let’s start from the beginning.

First, can you describe steps to reproduce your slow speed? Are these disk writes/reads or pure network speeds as reported by iperf for instance?

I personally would also need some details about your screenshot.

I am assuming you are using Rockstor on Leap 15.4, so you could also try installing the latest drivers and firmware for your controller. For instance:

Drivers

# Get drivers from Intel
wget https://downloadmirror.intel.com/781326/SLES_15.4_igb_5.13.20_RPM.zip
# Install unzip and extract the zip file
zypper --non-interactive in --no-recommends unzip
unzip SLES_15.4_igb_5.13.20_RPM.zip
# Install the drivers
zypper in igb-kmp-default-5.13.20_k5.14.21_150400.22-1.sles15.4.x86_64.rpm 

The latter will warn you about unsigned drivers, should be fine to “ignore” and install nonetheless. NOTE that Intel has a mention about adding the signing key if you’re using secure boot… I couldn’t test that but here’s the note:

This release includes the Intel public key to allow you to authenticate the signed driver in secure boot mode. To authenticate the signed driver, you must place Intel’s public key in the UEFI Secure Boot key database.

Firmware packages

Searching on this forum will show you that some additional firmware packages may be needed for some Intel network controllers. Have a look, for instance at the following:

There, you will see that @stitch10925 shared their troubleshooting and solution:

zypper in --no-recommends kernel-firmware-intel kernel-firmware-network kernel-firmware-platform

Of course, make also sure that you are all up-to-date on upstream updates:

zypper update --no-recommends

Let us know how that goes.

1 Like

I’m sorry, but I’m already quite depressed. Now, I have tried all the procedures you recommended. But no change in my case.

iperf:

Connecting to host 192.168.1.27, port 5201                                                                                                                                                                     
[  5] local 192.168.1.8 port 57742 connected to 192.168.1.27 port 5201                                                                                                                                         
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd                                                                                                                                               
[  5]   0.00-1.00   sec   110 MBytes   926 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   1.00-2.00   sec   113 MBytes   944 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   2.00-3.00   sec   113 MBytes   946 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   3.00-4.00   sec   113 MBytes   948 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   4.00-5.00   sec   112 MBytes   942 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   5.00-6.00   sec   113 MBytes   950 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   6.00-7.00   sec   109 MBytes   913 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   7.00-8.00   sec   111 MBytes   931 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   8.00-9.00   sec   113 MBytes   947 Mbits/sec    0    220 KBytes                                                                                                                                        
[  5]   9.00-10.00  sec   112 MBytes   942 Mbits/sec    0    220 KBytes                                                                                                                                        
- - - - - - - - - - - - - - - - - - - - - - - - -                                                                                                                                                              
[ ID] Interval           Transfer     Bitrate         Retr                                                                                                                                                     
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec    0             sender                                                                                                                                   
[  5]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec                  receiver 

But FTP transfer still cannot beat the speed of 20MB/s.

Did you notice a difference between active and passive transfer (pulling / pushing)? Is SCP still slow as well? Are there any filesystem operations running (scrub/balance)?

No scrub, No balance on POOL. Difference betwen passive/active FTP transfer I can try next day.

OK, SFTP does not allow disabling passive mode.