Kernel 4.20 Slowed ethernet more than 1/3

I am running Manjaro XFCE on a Lenovo T430 with a large monitor for my main machine. So I run it on ethernet instead of wifi as it never moves. I have 300Mbps internet. It is a fiber optics feed and I am 100% satisfied with it.

I have checked it several times for speed and I have always had between 275 ond 320 or so Mbps up and down. Wifi is another story as my Lenovo T430s older wireless cards do not support such speeds and I can deal with that. Other items I have like cell phones and my NUC with 8th gen i5, 8g RAM and a NVME ssd that is my media box are just as fast using Wifi. (The NUC overall is NO faster than the T430 with the much older 2nd gen i5 and the same 8G RAM. I wasn’t impressed but it has HDMI and the older faster booting T430s do not have. That is another topic)

When I switched over to the 4.20 kernel to try it out I noticed it was much slower. Over a couple of days I tested it many times with several speed test sites. I was getting on average a little under 100Mbps. Never once did it test over 100Mbps. This wasn’t a huge deal on Wifi as I don’t get a lot over 100Mbps with the older cards anyway. So I just switched back to the 4.19 kernel and the speeds came right back.

Just thought it was interesting how the new kernel wasn’t up to par on the T430s. Now, with that said, my NUC running Manaro XFCE gets the same 300Mbps with either kernel.

System:
Host: Manjaro-1-T430 Kernel: 4.19.13-1-MANJARO x86_64
bits: 64 compiler: gcc v: 8.2.1 Console: tty 1
Distro: Manjaro Linux
Machine:
Type: Laptop System: LENOVO product: 2347AY1
v: ThinkPad T430 serial:
Mobo: LENOVO model: 2347AY1 serial: UEFI: LENOVO
v: G1ET93WW (2.53 ) date: 03/08/2013
CPU:
Topology: Dual Core model: Intel Core i5-3320M bits: 64
type: MT MCP arch: Ivy Bridge rev: 9 L2 cache: 3072 KiB
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 20759
Speed: 1198 MHz min/max: 1200/3300 MHz Core speeds (MHz):
1: 1197 2: 1197 3: 1197 4: 1197
Graphics:
Device-1: Intel 3rd Gen Core processor Graphics
vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0
Display: server: X.org 1.20.3 driver: intel
unloaded: modesetting resolution:
OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile
v: 4.2 Mesa 18.3.1 direct render: Yes
Audio:
Device-1: Intel 7 Series/C216 Family High Definition Audio
vendor: Lenovo driver: snd_hda_intel v: kernel
bus ID: 00:1b.0
Sound Server: ALSA v: k4.19.13-1-MANJARO
Network:
Device-1: Intel 82579LM Gigabit Network vendor: Lenovo
driver: e1000e v: 3.2.6-k port: 5080 bus ID: 00:19.0
IF: enp0s25 state: up speed: 100 Mbps duplex: full
mac:
Device-2: Intel Centrino Advanced-N 6205 [Taylor Peak]
driver: iwlwifi v: kernel port: efa0 bus ID: 03:00.0
IF: wlp3s0 state: down mac:
Drives:
Local Storage: total: 409.88 GiB used: 152.76 GiB (37.3%)
ID-1: /dev/sda vendor: HGST (Hitachi)
model: HTS725032A7E630 size: 298.09 GiB
ID-2: /dev/sdb vendor: Zheino model: CHN mSATA01M 120
size: 111.79 GiB
Partition:
ID-1: / size: 101.39 GiB used: 11.57 GiB (11.4%) fs: ext4
dev: /dev/sdb2
ID-2: /home size: 292.41 GiB used: 141.19 GiB (48.3%)
fs: ext4 dev: /dev/sda1
ID-3: swap-1 size: 8.11 GiB used: 0 KiB (0.0%) fs: swap
dev: /dev/sdb3
Sensors:
System Temperatures: cpu: 45.0 C mobo: N/A
Fan Speeds (RPM): cpu: 2498
Info:
Processes: 173 Uptime: 19m Memory: 7.61 GiB
used: 934.9 MiB (12.0%) Init: systemd Compilers: gcc: 8.2.1
Shell: bash v: 4.4.23 inxi: 3.0.28

Nice of you to post all that info, but it’s not very useful to anyone without the brands and models of the adapters involved.

2 Likes

Moved to #technical-issues-and-assistance:kernel

Please see:

Better than this other user but still very strange.

Here is another report of slowdown in 4.20 with Realtek r8169 driver.

So this is a more widespread problem then.

1 Like

Thank you for updating your info. That is good to know. So now we have reports of the r8168 and the e1000e drivers not working on kernel 4.20.

Greatly appreciated you filling in the missing blanks.

The e1000e driver has been experiencing issues for a little while now. The r8168 issues can usually be remedied by switching to the r8169 kernel module.

Yes, it’s a little unusual to have problems with the most widely used ethernet adapters. It’s usually wifi drivers that causes all the problems.

Searching online the Intel 82579LM also has this 100mbps problem in Windows. Many people say switching cables seem to fix it.

Network:
Device-1: Intel 82579LM Gigabit Network vendor: Lenovo
driver: e1000e v: 3.2.6-k port: 5080 bus ID: 00:19.0
IF: enp0s25 state: up speed: 100 Mbps duplex: full

Yes it’s very unusual for intel ethernet adapters to be experiencing problems. The I217-V & I219-V series have been reporting a lot of problems recently. Usually Intel is the gold standard for adapters in Linux, but not so much lately.

I can’t remember this series of adapters finding fixes to there recent speed issues. They’ve been very hard to try to find anything to improve their speeds.

[merell@Jammin1 ~]$ inxi -N
Network:   Device-1: Intel Ethernet I219-V driver: e1000e

I’m wondering if there are differences in mobo manufacturers’ implementations of this ‘NIC’; mine is just a port on the mobo, not a discreet adapter.

I also build my driver into the kernel:

[merell@Jammin1 ~]$ zcat /proc/config.gz|grep -i e1000e
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
[merell@Jammin1 ~]$ 

The following fix was reported to work on the Intel I219-V NIC, but should work with any of the 200 series adapters. Hopefully it will work with your adapter model also.

You can easily test this method to see if it works for you by installing a small utility called ethtool.

Install ethtool:

sudo pacman -S ethtool

Test your internet speed, and record the result.

After installing ethtool, enter this command in the terminal:

ethtool -K eno1 tso off gso off

If your adapters ID is different than “eno1” you must substitute your own adapters ID in place of “eno1” in the above command.

After running that command, again test your speed for improvement

If your speeds have improved it will only remain that way until you reboot.

If you wish to have these settings loaded at start up then you will need to write a systemd service file to make this setting persistent.

Create the required systemd service file:

/etc/systemd/system/nic-config.service

The contents of the service file should be as follows:

#/etc/systemd/system/nic-config.service
#sudo systemctl enable nic-config.service
#sudo systemctl start nic-config.service
#sudo systemctl status nic-config.service
#sudo systemctl daemon-reload
[Unit]
Description=NIC configuration service
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/ethtool -K eno1 tso off gso off
Restart=on-failure

[Install]
WantedBy=multi-user.target

Again, if your adapter ID is different than “eno1” you will need to substitute you own adapter’s ID into the ExecStart line of the service file.

Save your newly created service file, then:

Enable the service:

sudo systemctl enable nic-config.service

Reboot your system and the new NIC configuration parameters should be automatically be loaded at startup.

1 Like

Good find, and .service file!

1 Like

This topic was automatically closed after 180 days. New replies are no longer allowed.

Forum kindly sponsored by