You are not logged in.

#1 2021-01-03 16:51:01

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Can't set gigabit speed on Realtek chipset

Hi,

I recently set up a new network, where my desktop is connected to my router via ethernet. I am unable to get gigabit speeds from the connection, even though my motherboard and my router support it. It runs at 100Mbps instead.

The first thing I wanted to rule out was the cable not being able to operate at gigabit speeds. Even if its rated Cat5e, I connected my Raspberry Pi 4 to the router with the same cable (and the same port in the router), and I get a gigabit connection from it. So it shouldn't be the cable.

Next thing I tried was diagnosing where it is determined that the connection should be limited to 100Mbps. I get the following output from running ethtool:

Settings for enp11s1:
	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:  100baseT/Half 100baseT/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: No
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Auto-negotiation: on
	master-slave cfg: preferred slave
	master-slave status: slave
	Port: MII
	PHYAD: 0
	Transceiver: external
	Supports Wake-on: pumbg
	Wake-on: d
	Link detected: yes

I noticed the output stated that the "Advertised link modes" only lists 100Mbps, not 1000Mbps. This despite 1000Mbpsis listed among the "Supported link modes".

However, I tried forcing it to run at 1000Mbps anyway:

sudo ethtool -s enp11s1 speed 1000 autoneg off duplex full 

sudo ethtool enp11s1                                                                                                                                                                                                                                                                               elias@archlinux
Settings for enp11s1:
	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:  100baseT/Half 100baseT/Full
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Auto-negotiation: off
	master-slave cfg: preferred slave
	master-slave status: slave
	Port: MII
	PHYAD: 0
	Transceiver: external
	Supports Wake-on: pumbg
	Wake-on: d
	Link detected: yes

This makes the connection go down, and I'm unable to access the network. From what I can see, it doesn't give any relevant output to dmesg either, making it hard for me to exactly point out what is going wrong.

Worth mentioning is that I'm dual booting this machine with Windows, and that I haven't gotten gigabit speeds to work in Windows either, making me wonder if it could be faulty hardware that's causing this.

I'm looking for help how to further diagnose this.

Offline

#2 2021-01-03 21:16:46

tbg
Member
Registered: 2017-06-22
Posts: 41

Re: Can't set gigabit speed on Realtek chipset

You haven't specified whether you are using the r8168 driver or the r8169 kernel module. At least I didn't notice it as I'm only on my cell and things are sometimes difficult to read that way for me because of my vision.

How about posting, lspci -k

Offline

#3 2021-01-03 21:36:47

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

tbg wrote:

You haven't specified whether you are using the r8168 driver or the r8169 kernel module. At least I didn't notice it as I'm only on my cell and things are sometimes difficult to read that way for me because of my vision.

How about posting, lspci -k

You're right, should have though about that. I'm using the r8169 driver (it was loaded automatically).

Output of relevant lspci -k:

0b:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)
	Subsystem: ASUSTeK Computer Inc. Device 820d
	Kernel driver in use: r8169
	Kernel modules: r8169

Offline

#4 2021-01-04 02:06:11

tbg
Member
Registered: 2017-06-22
Posts: 41

Re: Can't set gigabit speed on Realtek chipset

As you say this affects Windows as well, have you checked to see if a newer bios version is available for your computer? If not, reset your bios to the factory default.

Have you tested any alternate kernel, such as the linux-lts kernel yet?

Have you tested the alternate r8168 driver, yet?

Have you tried enabling/disabling auto-negotiation, or tried different MTU settings yet?

Have you tested your speeds on different live boot disk environments to compare the speeds?

Have you rebooted both your router and computer yet?

Is your router firmware is up to date?

Is there a VPN involved in your setup?

Have you performed ping tests (post results) to both google.com and google's 8.8.8.8 address?

I haven't used Windows for many years so I'm really not familiar with its options these days. However, I suggest you carefully go through all of the advanced r8168 driver settings in Windows. Pay extra careful attention to any settings for power saving and/or speed settings. Power saving options can persist even after Windows is shut down and can affect network components in Linux. Turn off any Ethernet power saving options you may find in Windows, and be sure your speed is set correctly within Windows. Also look to see if there is any setting similar to this "Wake-On-LAN and Shutdown Link speed". If so be sure the speed is not set to a reduced number. Better yet, if "Wake-On-LAN" is enabled, then disable it completely. If your bios allows, then test disabling WOL from within your bios.

I know it's a long list, but please confirm all my questions/suggestions.

I hope some of that might be helpful, and good luck.

Last edited by tbg (2021-01-04 02:34:33)

Offline

#5 2021-01-04 02:41:33

Sinistar
Member
Registered: 2021-01-02
Posts: 2

Re: Can't set gigabit speed on Realtek chipset

I had this happen to me after a network cable came unplugged. I actually had to shut the power supply off and back on, and it worked properly after that.

Offline

#6 2021-01-04 09:21:16

seth
Member
Registered: 2012-09-03
Posts: 18,146

Re: Can't set gigabit speed on Realtek chipset

Regarding windows, ensure it's not hibernating (3rd link in my signature) - the support/advert gap is certainly weird.

To advert everything you could try

ethtool -s enp11s1 advertise 0x3f

Offline

#7 2021-01-04 09:27:12

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

tbg wrote:

As you say this affects Windows as well, have you checked to see if a newer bios version is available for your computer? If not, reset your bios to the factory default.

Have you tested any alternate kernel, such as the linux-lts kernel yet?

Have you tested the alternate r8168 driver, yet?

Have you tried enabling/disabling auto-negotiation, or tried different MTU settings yet?

Have you tested your speeds on different live boot disk environments to compare the speeds?

Have you rebooted both your router and computer yet?

Is your router firmware is up to date?

Is there a VPN involved in your setup?

Have you performed ping tests (post results) to both google.com and google's 8.8.8.8 address?

I haven't used Windows for many years so I'm really not familiar with its options these days. However, I suggest you carefully go through all of the advanced r8168 driver settings in Windows. Pay extra careful attention to any settings for power saving and/or speed settings. Power saving options can persist even after Windows is shut down and can affect network components in Linux. Turn off any Ethernet power saving options you may find in Windows, and be sure your speed is set correctly within Windows. Also look to see if there is any setting similar to this "Wake-On-LAN and Shutdown Link speed". If so be sure the speed is not set to a reduced number. Better yet, if "Wake-On-LAN" is enabled, then disable it completely. If your bios allows, then test disabling WOL from within your bios.

I know it's a long list, but please confirm all my questions/suggestions.

I hope some of that might be helpful, and good luck.

Thank you for the thorough list, I really appreciate it. I think the problem has to do with the Windows setup interfering with Linux. I should probably get the gigabit connection to work in Windows before trying to get it to work on Linux.

BIOS version: I checked and it's the latest. I'm running quite old hardware (overclocked X58), so there haven't been any new BIOS releases in quite a while.

The LTS kernel does not seem to make any difference.

Correct me if I'm wrong, but the r8168 does not seem to support my NIC (8110sc).

I tried forcing autoneg off, and it issue persists (connects with 100Mbps, not 1000Mbps). I did not try changing MTU settings.

I booted Ubuntu from a USB stick and the issue is exactly the same (making me think it's Windows that's causing the issue).

Yes, both computer and router have been rebooted.

Router firmware is up to date. No VPN.

Ping for google.com and 8.8.8.8:

ping google.com                                                                                                                       elias@archlinux
PING google.com (216.58.207.206) 56(84) bytes of data.
64 bytes from arn11s04-in-f14.1e100.net (216.58.207.206): icmp_seq=1 ttl=113 time=29.2 ms
ping 8.8.8.8                                                                                                                          elias@archlinux
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=30.7 ms

I will try tinkering more with the driver in Windows, and report back if I notice anything that might give a clue as to what is wrong.

Offline

#8 2021-01-04 09:27:54

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

Sinistar wrote:

I had this happen to me after a network cable came unplugged. I actually had to shut the power supply off and back on, and it worked properly after that.

Thanks for the suggestion. I'm afraid it doesn't seem to make a difference (left the computer unplugged for 5min or so).

Offline

#9 2021-01-04 10:43:26

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

seth wrote:

Regarding windows, ensure it's not hibernating (3rd link in my signature) - the support/advert gap is certainly weird.

To advert everything you could try

ethtool -s enp11s1 advertise 0x3f

So, I might have had some progress disabling fast boot (in BIOS) and all relating hibernation settings from inside Windows. However, now I can't get any connection when i boot into Linux. I did the following:

1. Boot into BIOS, disabled Quick Boot.
2. Boot into Windows, disabled Hibernation and all settings related too it.
3. Shut down the computer (did not select Restart, as per the guide in your signature).
4. Boot into Arch Linux.
5. No connection, and when I try to start the connection via netctl I get the below logs from 'journalctl -xe'.

I guess I cant try your other suggestion until I get a working connection.

Jan 04 11:38:02 archlinux systemd[1]: Starting Networking for netctl profile RydmansEthernet...
░░ Subject: A start job for unit netctl@RydmansEthernet.service has begun execution
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A start job for unit netctl@RydmansEthernet.service has begun execution.
░░ 
░░ The job identifier is 834.
Jan 04 11:38:02 archlinux network[23157]: Starting network profile 'RydmansEthernet'...
Jan 04 11:38:02 archlinux kernel: RTL8211B Gigabit Ethernet r8169-b08:00: attached PHY driver [RTL8211B Gigabit Ethernet] (mii_bus:phy_addr=r8169-b08:00,>
Jan 04 11:38:02 archlinux kernel: r8169 0000:0b:01.0 enp11s1: Link is Down
Jan 04 11:38:10 archlinux rtkit-daemon[787]: Supervising 2 threads of 2 processes of 1 users.
Jan 04 11:38:10 archlinux rtkit-daemon[787]: Supervising 2 threads of 2 processes of 1 users.
Jan 04 11:39:32 archlinux systemd[1]: netctl@RydmansEthernet.service: start operation timed out. Terminating.
Jan 04 11:39:32 archlinux audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=netctl@RydmansEthernet comm="systemd" exe="/usr/li>
Jan 04 11:39:32 archlinux systemd[1]: netctl@RydmansEthernet.service: Failed with result 'timeout'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ The unit netctl@RydmansEthernet.service has entered the 'failed' state with result 'timeout'.
Jan 04 11:39:32 archlinux systemd[1]: Failed to start Networking for netctl profile RydmansEthernet.
░░ Subject: A start job for unit netctl@RydmansEthernet.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A start job for unit netctl@RydmansEthernet.service has finished with a failure.
░░ 
░░ The job identifier is 834 and the job result is failed.

Offline

#10 2021-01-04 10:51:43

seth
Member
Registered: 2012-09-03
Posts: 18,146

Re: Can't set gigabit speed on Realtek chipset

BIOS quickboot is unrelated, it just skips memory tests.
Windows 8/10 by default hibernate instead of properly shutting down (even if they say "shut down) and that's the important setting.
Once you've disabled that, reboot into windows and shut down again (there's also a shell command to do this explicitly, see links in the wiki article)

What's the updated status of ethtool?
Can you bring up the device "by hand"? ("ip link set enp11s1 up", check "ip a")
If not, are there immediate error messages or kernel messages in dmesg from this?

Last edited by seth (2021-01-04 10:52:03)

Offline

#11 2021-01-04 11:12:34

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

seth wrote:

BIOS quickboot is unrelated, it just skips memory tests.
Windows 8/10 by default hibernate instead of properly shutting down (even if they say "shut down) and that's the important setting.
Once you've disabled that, reboot into windows and shut down again (there's also a shell command to do this explicitly, see links in the wiki article)

What's the updated status of ethtool?
Can you bring up the device "by hand"? ("ip link set enp11s1 up", check "ip a")
If not, are there immediate error messages or kernel messages in dmesg from this?

Updated status of ethtool:

Settings for enp11s1:
	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
	Speed: Unknown!
	Duplex: Unknown! (255)
	Auto-negotiation: on
	master-slave cfg: preferred slave
	master-slave status: unknown
	Port: MII
	PHYAD: 0
	Transceiver: external
	Supports Wake-on: pumbg
	Wake-on: d
	Link detected: no

I can bring the device up by hand (with ip link set).

ip a                                                                                                                                  elias@archlinux
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp11s1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether bc:ae:c5:24:d0:47 brd ff:ff:ff:ff:ff:ff
3: wlp2s0u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 18:31:bf:56:cd:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.233/24 brd 192.168.50.255 scope global dynamic noprefixroute wlp2s0u1
       valid_lft 86400sec preferred_lft 75600sec
    inet6 fe80::1a31:bfff:fe56:cda7/64 scope link 
       valid_lft forever preferred_lft forever

EDIT: I see now that the "state" of enp11s1 is DOWN. Does that mean that the interface did not start properly, or just that it isn't connected?

Last edited by Rydberg95 (2021-01-04 11:16:12)

Offline

#12 2021-01-04 11:24:52

seth
Member
Registered: 2012-09-03
Posts: 18,146

Re: Can't set gigabit speed on Realtek chipset

It's up (the value inside "<>" matters), but has no carrier (ie. no cable, loose cable or anything that would prevent low-level signalling to/from the router)
If you're sure about the cable (#1: it's always the cable) check dmesg for errors from the device or r8169

Offline

#13 2021-01-04 11:29:34

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

seth wrote:

It's up (the value inside "<>" matters), but has no carrier (ie. no cable, loose cable or anything that would prevent low-level signalling to/from the router)
If you're sure about the cable (#1: it's always the cable) check dmesg for errors from the device or r8169

I successfully connected to the network by changing autoneg to off and setting the speed to 100Mbps:

ethtool -s enp11s1 autoneg off speed 100 duplex full

Still, when I change to 1000Mbps it looses the connection:

ethtool -s enp11s1 autoneg off speed 1000 duplex full

EDIT: It doesn't seem to give any output to dmesg.

Last edited by Rydberg95 (2021-01-04 11:30:40)

Offline

#14 2021-01-04 13:38:08

seth
Member
Registered: 2012-09-03
Posts: 18,146

Re: Can't set gigabit speed on Realtek chipset

The device firmware seems still locked in a setup - is the extended advert list w/ or w/o explicitly setting it to 0x3f?
Ensure that windows is really shutdown (try to use the forcing command "shutdown /s /f /t 0" in cmd.exe) and upload the dmesg after bringing the NIC up (you can use the tip in the 1st link in my signature to feed dmesg into ix.io)

Offline

#15 2021-01-04 13:56:57

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

seth wrote:

The device firmware seems still locked in a setup - is the extended advert list w/ or w/o explicitly setting it to 0x3f?
Ensure that windows is really shutdown (try to use the forcing command "shutdown /s /f /t 0" in cmd.exe) and upload the dmesg after bringing the NIC up (you can use the tip in the 1st link in my signature to feed dmesg into ix.io)

Another thing I noticed is that there is a BIOS sometimes (yes, sometimes, it's not consistent...) that "Realtek LAN Cable not ready, enter setup for details". This was the case even when powering off using the forcing command. However, when I enter setup (BIOS) I can not understand where these details are located, which is rather frustrating. I suspect this might have to do with the locked up interface?

I tried shutting Windows down with the command you provided. The output of dmesg is from trying to bring the enp11s1 interface up (with ip link) without changing anything, and it fails. If I change to 100Mbps in speed with ethtool (with autoneg still on), the interface is successfully activated.

Offline

#16 2021-01-04 14:58:27

seth
Member
Registered: 2012-09-03
Posts: 18,146

Offline

#17 2021-01-04 15:10:38

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

Thanks, the message is still there on bootup after installing that version of the driver, unfortunately. And still getting 100Mbps regardless of using Windows 10 or Linux.

Might just buy a new PCI-E Gigabit PCI-E cards to see if that solves the problem, even if it's a shame.

Last edited by Rydberg95 (2021-01-04 15:12:22)

Offline

#18 2021-01-04 21:29:20

Rydberg95
Member
From: Stockholm, Sweden
Registered: 2013-01-25
Posts: 48

Re: Can't set gigabit speed on Realtek chipset

So, I ended up buying a (cheap) TP-Link TG-3468, and it's working with gigabit out of the box, using the same cable. Ironically, it's using the same r8169 driver.

Thanks for all the help!

Offline

Board footer

Powered by FluxBB