You are not logged in.

#1 2017-05-20 21:08:39

MatteoCampinoti94
Member
Registered: 2017-03-02
Posts: 7

[SOLVED] Ethernet speed 10Mb/sec instead of 100Mb/sec

Hello,
I've recently upgraded my home internet speed to 100Mbits/sec but for some reason my arch system won't use more than 10Mb/s.

I have two hard drives with Windows 10 on one and Arch on another. The Windows 10 partition doesn't have any problem. I can reboot it, reset the connection, etc... and the speed always stays at 100Mb/s.
On the Arch partition however the top speed is only maintained at the first boot after coming from Windows 10. When I reboot or just power off->on the speed goes down to 10Mb/s.

For some reason after reboot Arch does something with the coomunication between the network adapter and the modem I think.
ethtool says that after reboot the network card only advertises 10Mb/s connections (half and full duplex) even though it also says it supports up to 1000Mb/s and that the modem advertises 10 through 1000 as well.
Moreover, after Arch does this the problem moves to Windows 10 as well and the only solution I've found is to use Windows 10 'reset networks' utility. After that Windows can use 100Mb without any problem, but going back to Arch starts troubles again.

Initially I thought it could be a driver problem so installed the r8168 driver from the community repo and blacklisted the r8169 module but nothing has changed.

Has anyone ever encountered a problem like this? Know any possible solution?

Thank you in advance.

Last edited by MatteoCampinoti94 (2017-05-25 21:48:13)

Offline

#2 2017-05-21 21:21:19

Painless
Member
Registered: 2006-02-06
Posts: 233

Re: [SOLVED] Ethernet speed 10Mb/sec instead of 100Mb/sec

Have you tried forcing the speed when you load the new module?

E.g. create a file like /etc/modprobe.d/r8168.conf containing options such as:

options r8168 speed=100 duplex=1 autoneg=1

See https://wiki.archlinux.org/index.php/ke … probe.d.2F for more details.  Hope this helps.

Disclaimer: I don't use r8168, but I think this is the sort of direction you need to look in.

Offline

#3 2017-05-21 21:34:18

MatteoCampinoti94
Member
Registered: 2017-03-02
Posts: 7

Re: [SOLVED] Ethernet speed 10Mb/sec instead of 100Mb/sec

Painless wrote:

Have you tried forcing the speed when you load the new module?

E.g. create a file like /etc/modprobe.d/r8168.conf containing options such as:

options r8168 speed=100 duplex=1 autoneg=1

See https://wiki.archlinux.org/index.php/ke … probe.d.2F for more details.  Hope this helps.

Disclaimer: I don't use r8168, but I think this is the sort of direction you need to look in.

Thank you for the suggestion!
Had tried to do that already when the problem first occurred but wasn't sure which options and what syntax to use..

Fortunately though it seems that building the drivers from Realtek did the trick, installed the same drivers on W10 too and now it seems that all problems are solved.
What I can't understand is why the package from community didn't work though since it's more up-to-date than the one from realtek. Though maybe that was the reason.

Will do some more tests and if everything is indeed solved will post a short summary of the problem and solution and mark the thread as solved.

Offline

#4 2017-05-21 23:26:17

MatteoCampinoti94
Member
Registered: 2017-03-02
Posts: 7

Re: [SOLVED] Ethernet speed 10Mb/sec instead of 100Mb/sec

MatteoCampinoti94 wrote:
Painless wrote:

Have you tried forcing the speed when you load the new module?

E.g. create a file like /etc/modprobe.d/r8168.conf containing options such as:

options r8168 speed=100 duplex=1 autoneg=1

See https://wiki.archlinux.org/index.php/ke … probe.d.2F for more details.  Hope this helps.

Disclaimer: I don't use r8168, but I think this is the sort of direction you need to look in.

Thank you for the suggestion!
Had tried to do that already when the problem first occurred but wasn't sure which options and what syntax to use..

Fortunately though it seems that building the drivers from Realtek did the trick, installed the same drivers on W10 too and now it seems that all problems are solved.
What I can't understand is why the package from community didn't work though since it's more up-to-date than the one from realtek. Though maybe that was the reason.

Will do some more tests and if everything is indeed solved will post a short summary of the problem and solution and mark the thread as solved.

Unfortunately it wasn't enough, it reverted back to 10Mb/s and using your idea didn't work even though it did now advertise all speeds correctly.
However it did so as soon as I tried to reboot to Windows 10 using grub-reboot and that made me remember an option in the network card references under W10: "Wake-On-LAN and Shutdown Link speed"
That option limits ethernet speed after shutdown system-wide, probably telling something to the adapter itself or the mobo, and it has 4 settings: 10Mb/s, 100Mb/s, Do not slow down, disable (0 speed & no wol). By default it's set at 10Mb/s.
Changed the setting and rebooted into Windows from Windows a few times and it holds the 100Mb/s. Gonna try rebooting into and from Arch to Windows and get back.

Offline

#5 2017-05-22 01:29:52

Ropid
Member
Registered: 2015-03-09
Posts: 1,069

Re: [SOLVED] Ethernet speed 10Mb/sec instead of 100Mb/sec

I think there's a way to override auto negotiation and force a certain setting with "ethtool", but I don't understand what I'm reading in the ethtool man-page. Perhaps see if you can understand how that's supposed to work.

Offline

#6 2017-05-25 21:39:44

MatteoCampinoti94
Member
Registered: 2017-03-02
Posts: 7

Re: [SOLVED] Ethernet speed 10Mb/sec instead of 100Mb/sec

Finally managed to solve it.

As Ropid suggested it was indeed an autonegation problem probably because of a driver problems coupled with Windows' weird (albeit more easily editable) network card settings.

In case anyone encounters the same problem:

  1. Make sure Linux and Windows drivers are up to date
    edit: it is not necessary to use the r8168 drivers from realtek if you have a network card of the type RTL8111/8168/8411 as the default r8169 that ships with the kernel can handle it perfectly. Tested it and it works, the whole problem was with autonegotiation, shutdown speed, etc...

  2. In Windows make sure you turn off autonegotiation by setting the speed to the desired amount (100Mb/sec Full in my case) then turn on wake on lan and also set the "WoL & Shutdown Speed" option to "not slowed down" (not sure of the actual option name in English being my Windows Install in Italian).

  3. In Linux do the same, preferably in a permanent way for example by using MATE control center which allows to turn autonegotiation off and select a speed, both of which cannot be done with GNOME settings.
    I installed MATE just for this and then uninstalled but the autoneg and speed settings remained so you don't have to use MATE. That said I don't know if editing anything through GNOME settings changes the autoneg and speed again, haven't tried.

Once all of that is done the network card "should" keep the 100Mb/s in both systems.

Thank you both Painless and Ropid for your help! smile

Last edited by MatteoCampinoti94 (2017-05-29 10:21:40)

Offline

Board footer

Powered by FluxBB