Ethernet driver seems not to work properly using linux 7 (rawhide and 44 release)

Hello,

Here’s the output of ethtool -i


driver: r8169
version: 7.2.0-0.rc0.260622gef0c9f75a195
firmware-version: rtl8168e-3_0.0.4 03/27/12
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no


Ethernet is at 1,000 mb/s with linux kernel 6, at linux kernel 7 it is only 100 mb/s.

I am using rawhide at the moment, same story for Fedora 44. Also tested on other operating systems they are at 1,000 mb/s, same machine.

If there is anything I can do to fix this I would appreciate it.

ethtool does not supoort -i on fedora?

I have a NIC that is using the r8169 driver.
You can use lspci to find the address of your Real tek
And the use lscpi -v -s <addr> to show the hardware details.
For example from my system:

$ sudo lspci | grep Realtek
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
$ sudo lspci -s 05:00.0 -v 
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
        Subsystem: ASUSTeK Computer Inc. Device 87d7
        Flags: bus master, fast devsel, latency 0, IRQ 18
        I/O ports at 5000 [size=256]
        Memory at 84200000 (64-bit, non-prefetchable) [size=64K]
        Memory at 84210000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, IntMsgNum 1
        Capabilities: [b0] MSI-X: Enable+ Count=32 Masked-
        Capabilities: [d0] Vital Product Data
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [148] Virtual Channel
        Capabilities: [168] Device Serial Number 01-00-00-00-68-4c-e0-00
        Capabilities: [178] Transaction Processing Hints
        Capabilities: [204] Latency Tolerance Reporting
        Capabilities: [20c] L1 PM Substates
        Capabilities: [21c] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
        Kernel driver in use: r8169
        Kernel modules: r8169

What are yuo NIC hardware details?

Find the nic name, I used ip a then use ethtool to show the details.
My NIC is enp5s0 so I ran sudo ethtool enp5s0.

Can you post what that command reports for your NIC?

Thanks for the help.


lspci -v -s 02:00.0


02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 06)
DeviceName: Onboard - RTK Ethernet
Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
Flags: bus master, fast devsel, latency 0, IRQ 20, IOMMU group 16
I/O ports at e000 [size=256]
Memory at a1200000 (64-bit, non-prefetchable) [size=4K]
Memory at 80100000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, IntMsgNum 1
Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
Capabilities: [d0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
Kernel driver in use: r8169
Kernel modules: r8169


ethtool eno1


Settings for eno1:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 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/Half 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
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


It is 1,000 mb/s on everything else but linux 7 kernels. With linux 7 it is at 100 mb/s. With linux 6 series kernels it is 1,000 mb/s. That is from linux 6 kernel. At linux 7 kernel it is 100Mb/s.

Here’s another riddle, if I unplug the ethernet and then plug it back in with linux 7 it goes to 1000Mb/s. On reboot it goes back to 100Mb/s on linux 7. There are some schools of thought that say it is bad wiring however consistently on Linux 6, FreeBSD and OpenBSD it stays at 1000Mb/s every time I turn the machine on or reboot. Add linux 7 and turn on the machine it is at 100mb/s.

I appreciate the help.

It says you have 1Gb/s are you running on the 7 kernel when you ran ethtool?

If you are the 7 kernel then it’s working.

I saw there’s a solution which I am going to try:

I appreciate it.

I have seen many cases where when both ends of the ethernet connection (PC & router) are allowed to negotiate speed it becomes indeterminate what is selected and often ends up at the 100MB speed.

When that happened we found that setting either end at a fixed speed (1GB) would result in a reliable 1GB connection. Maybe you can set the card in your PC to a fixed 1GB speed then try again.

It may avoid needing to install the additional driver.

Thanks a lot.

I changed the connection to 1000 mb/s, I didn’t even have to install a new driver.

It is up and reliable.

It seems that what you said is what happened.

Back on linux 6. Thanks all for the help. I downloaded an .iso of linux and the file didn’t come through in a reliable way. I should have known, it is a driver issue.

I am glad to have found out about this.

What do you mean with the file didn’t come through in a reliable way.
What file? What is meant by a ‘reliable way’?

When downloading a file the download process almost always verifies the download is acceptable before it completes so this statement seems a bit ambiguous and definitely is not able to be interpreted properly.

Constantly switching back and forth between kernels without doing any troubleshooting and providing no details of what may be happening makes it impossible for us to assist in any informed manner.

Thanks for the reply.

The sha256sum of the linux distro iso image I downloaded when using Fedora when forcing 1 gigabit didn’t match the source the first time I downloaded it.

That was a 3gb file. Forcing 1 gigabit seemed to cause an unstable connection on my side. Your reply seems to say that wouldn’t be possible since the download process verifies the download is acceptable. I understand that it should be fine most of the time, I’m just wondering if forcing 1 gigabit would have any effect and result in the file not being authentic from the sha256sums.

I downloaded the file again and the second time it worked fine and the sha256sum matched.

I’m changing operating systems constantly, not kernels. I am trying to find one that is good out of the box for my needs. Every linux including Ubuntu that uses linux 7 has this problem with the network card.

I’m really interested in Fedora Silverblue at this point. That’s the latest OS I tried.

If there is nothing else I could do I can try the Sunwire drivers. I can try that on regular Fedora 44 as well as Fedora rawhide.

Hello all again, I found a solution.

I installed the sunwire dkms-r8168 drivers. Here’s the result:


lspci -v -s 02:00.0

__

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 06)
DeviceName: Onboard - RTK Ethernet
Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
Flags: bus master, fast devsel, latency 0, IRQ 20
I/O ports at e000 [size=256]
Memory at a1200000 (64-bit, non-prefetchable) [size=4K]
Memory at 80100000 (64-bit, prefetchable) [size=16K]
Capabilities:
Kernel driver in use: r8168
Kernel modules: r8169, r8168

___

I now have the system at 1 gigabit. I’m using the r8168 drivers as lspci says.

I really appreciate the help I have received. I’m now using Fedora 44 workstation with Gnome.

I like the feel of Gnome and the quick desktop response.

Just as a side note:
Responding to your earlier remark as above:
Are you downloading full ISO’s ??
Just as a general comment, I find it far more successful to download and run a “Life” image via a USB stick and then use its internal install option within the Distro. This then builds it properly from the ground up on your internal SSD and pulls in all other relevant packages.