Intel Ethernet stopped working

Hey,

I have the exact same problem with the exact Intel Ethernet I2170-V e1000e

  1. Fresh install of Manjaro
  2. Reboot in Manjaro, ethernet works
  3. Reboot in Windows, ethernet works
  4. Reboot in Manjaro, ethernet does not work (and live usb does not work either).

I tried several things:

  1. dhcpcd but it tells me that dhcp4 times out
  2. disconnect / reconnect cable
  3. flush all devices on my router
  4. disabled fast boot / csm / secure boot on my ROG
  5. disabled fast boot on Windows
  6. Shutdown
  7. Restart

Interestingly, I waited a day and then it worked again.
But everytime I go to Windows and then Manjaro it doesn’t work.

Dual Boot
SSD1: efi / windows
SSD2: efi / swap / manjaro
Router Linksys

EDIT: tried kernel 5.4 and 5.8

Windows is more than likely the culprit here.
I cannot imagine a sensible reason why ethernet would not work even on live USBs.
Probably some recent update messed something up?
However I don’t recall updating Windows around that time (I could be wrong, though).

Now that you mention it, the ethernet adapter on my system always breaks after I’ve logged into Windows.
I use both OSs on a daily basis and when I manage to fix linux (by pure chance), the next time I log in (which will more than likely be after also booting on Windows) the ethernet is broken again.

As you can see by this thread, I’ve been facing this problem for 3-4 days now.
When it works it is purely random.

Which router model is it exactly?

@SlapGas
Could you both run a test regimen to establish the source of the problem by exclusion?
Do each of those steps alone and see if anything changes.

  1. Turn of the PC and leave it turned off for 5 minutes. Then turn on again.
  2. Do the same with the router.
  3. Hard configure the IP addresses in the router and the devices.

This is for sure a very curious behaviour you both are describing here.

I will try all these steps and get back to you.

For once, I can safely guarantee you that step 1 does not work; I turn the PC off every night and power it on the next afternoon (when I get back home from work). Thus it remains powered off for like 16-17 hours.

I will give a shot at restarting the router and configuring the IP manually (I’m gonna be pretty rusty on the latter, it’s been a while since I had to manually set up and internet connection).

Have you turned off both “fast startup” in Windows, and “fast boot” in BIOS?

I did not turn “fast boot” off in BIOS and, to be honest, I don’t even know if it is on or off right now.
What I do know though is that I certainly did not change anything in BIOS when the problem appeared.

I can attest to this.

  1. Working ethernet on linux
  2. Reboot into linux again --> Ethernet stays fine
  3. Reboot into Windows --> Ethernet always works there
  4. Reboot into Manjaro --> Ethernet broken

So, the problem appears after logging into Windows.

Fun fact:
Yesterday evening around 2 a.m. we had a minor power outage here in the neighborhood.
Not too long, probably was around 5 minutes.
I was finishing some stuff when the power went out.
So I figured I’d call it a day.

This afternoon when I came back from work and logged into linux, guess what happened?
Ethernet was working fine.
This means that the power outage was someway/somehow able to “reset” the whole issue.
So I used this opportunity to work on linux, reinstall some stuff etc etc.

I rebooted many times from linux to linux, not a single problem.
As soon as I booted into Windows (for like 20 seconds) and rebooted into linux, ethernet broke again.

I fully shut down the PC, waited for like 5 minutes and then logged into linux again.
Ethernet still broken.
Fully shut down the PC and the router, opened them up and then logged into linux.
Ethernet still broken.

The only thing I did not try thus far (in hopes of “mimicking” the power outage) is switching off the PSU and taking the power cable off.

I’ve tried all the steps that @Takei suggested.
Didn’t work either.

@pobrn I have disabled fast boot and fast startup both in bios and windows.

I have a Linksys EA8500. It is known to have some wifi issues with firmware 1.1.9 so I downgraded to 1.1.8 but still no luck.

Maybe it’s a cable problem as suggested in another post (Ethernet connection to router fails to set network address)

I’ll try to shutdown the PSU and see what happens.

I’ve switched off the PSU and waited.

Turned back on and it worked!

Not sure what Windows is doing then…

Same here!

Read through that thread and tried replacing the ethernet cable.
I have 3 different ethernet cables, which all work on Windows.
Tested all 3, the connection problem was not fixed.
I also tried different router ports, with similar results.

The only thing that “works” reliably thus far is shutting off the PSU.

The problem persists, I haven’t been able to figure out what’s wrong.

The only way I am able to get ethernet to work on Linux is by shutting off the PSU for a couple minutes after I have logged into Windows.
This way, I am able to get normal ethernet connection on Linux.
It’s kinda annoying, but at least it is something simple that does the trick.

Would love to find out what’s causing the problem though.

  1. Have you tried turning off the machine from Windows, then booting into Manjaro instead of rebooting?
  2. Does turning off fast boot and fast startup help?
  3. Does sudo modprobe -r e1000e ; sudo modprobe e1000e solve the problem?
  4. Does the output of sudo dmesg | grep e1000e differ when the network adapter does not work?
  5. What is the output of running
echo 'file drivers/net/ethernet/intel/e1000e/* +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
echo '0000:00:19.0' | sudo tee /sys/bus/pci/drivers/e1000e/unbind
echo '0000:00:19.0' | sudo tee /sys/bus/pci/drivers/e1000e/bind
sudo dmesg | grep e1000e

when the network adapter does not work?

  1. Do any of the workaround listed here (except for the last) have any effect?

  2. Does running

sudo modprobe -r e1000e
echo 1 | sudo tee "/sys/bus/pci/devices/0000:00:19.0/reset"
sudo modprobe e1000e

help?

2 Likes

Hey, thanks for replying!

I had to find sometime to work on the steps you suggested.

  1. Unfortunately, it does not make a difference. I have tried all shutdown+reboot combinations and they do not fix the problem.

  2. They are both off, results are the same.

  3. sudo modprobe -r e1000e ; sudo modprobe e1000e did not solve the problem.

  4. sudo dmesg | grep e1000e

[ 3.955764] e1000e: Intel® PRO/1000 Network Driver - 3.2.6-k
[ 3.955766] e1000e: Copyright© 1999 - 2015 Intel Corporation.
[ 3.955960] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 4.031482] e1000e 0000:00:19.0 0000:00:19.0 (uninitialized): registered PHC clock
[ 4.110526] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 74:d0:2b:2c:04:1b
[ 4.110532] e1000e 0000:00:19.0 eth0: Intel® PRO/1000 Network Connection
[ 4.110557] e1000e 0000:00:19.0 eth0: MAC: 11, PHY: 12, PBA No: FFFFFF-0FF
[ 4.182027] e1000e 0000:00:19.0 eno1: renamed from eth0
[ 9.631077] e1000e 0000:00:19.0 eno1: NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[ 9.631082] e1000e 0000:00:19.0 eno1: 10/100 speed: disabling TSO

  1. /sys/kernel/debug/dynamic_debug does not exist on my system (I did not take the extra step to create it).

echo '0000:00:10.0' | sudo tee /sys/bus/pci/drivers/e1000e/unbind

0000:00:10.0
tee: /sys/bus/pci/drivers/e1000e/unbind: No such device

echo '0000:00:10.0' | sudo tee /sys/bus/pci/drivers/e1000e/bind

0000:00:10.0
tee: /sys/bus/pci/drivers/e1000e/bind: No such device

  1. The workarounds suggested have been tried in previous steps. In addition, my problem is not WiFi related so I could not try the WiFi specific remedies.

  2. THIS WORKED!!!. Ethernet started working after the suggestion in step 7!!!

Wow, thanks a lot!
By means of the working solution, what seems to be the problem?
I am genuinely curious.

Ninja edit:
I just realised I did not provide a complete answer for your 4th suggestion (since I’d have to also provide the dmesg output when the Ethernet works). Apologies. However, I don’t think it matters since I guess we were able to kinda track the problem down.

2 Likes

Well, it should. /sys/kernel/debug/ can only accessed by root, so if you tried tab completion in the shell, it won’t work.


You seem to have used “0000:00:10.0” instead of “0000:00:19.0” when testing the fifth point.


I believe the device is in a state after the Windows shutdown that the Linux driver cannot handle properly. It seems a PCI reset helps. This was suggested in comment 55 of bug 201319, I just adapted it to your configuration.

That worked for me too!
Thanks for the solution @pobrn

I created a bash script to run it whenever I have to boot on Linux after Windows

#!/bin/bash
sudo modprobe -r e1000e
echo 1 | sudo tee "/sys/bus/pci/devices/0000:00:19.0/reset"
sudo modprobe e1000e

And then just call ./network.sh and voilà.

2 Likes

I think Windows 10 no longer does a proper shutdown, it suspends to disk if I’m not mistaken. This would explain having to kill the power to the machine manually.

I have the same problem but this does not help:

sudo modprobe -r e1000e
echo 1 | sudo tee "/sys/bus/pci/devices/0000:00:19.0/reset"
sudo modprobe e1000e

it says this:

[20508.027564] e1000e 0000:00:1f.6 enp0s31f6: Setting page 0x0
[20508.027627] e1000e 0000:00:1f.6 enp0s31f6: writing PHY page 0 (or 0x0 shifted) reg 0x11
[20508.027696] e1000e 0000:00:1f.6 enp0s31f6: reading PHY page 0 (or 0x0 shifted) reg 0x0
[20508.027763] e1000e 0000:00:1f.6 enp0s31f6: writing PHY page 0 (or 0x0 shifted) reg 0x0
[20508.029944] e1000e 0000:00:1f.6 enp0s31f6: reading PHY page 0 (or 0x0 shifted) reg 0x1
[20508.030013] e1000e 0000:00:1f.6 enp0s31f6: reading PHY page 0 (or 0x0 shifted) reg 0x1
[20508.030076] e1000e 0000:00:1f.6 enp0s31f6: Phy info is only valid if link is up
[20508.030240] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Down
[20524.304813] e1000e: Intel(R) PRO/1000 Network Driver
[20524.304815] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[20524.305165] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[20524.509129] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
[20524.579296] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 38:f3:ab:4c:6e:f5
[20524.579307] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[20524.579512] e1000e 0000:00:1f.6 eth0: MAC: 14, PHY: 12, PBA No: FFFFFF-0FF
[20524.581302] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0

If you’re still having this problem, I found a solution.

Okay, so after a lot of trial and error, I finally figured out how to solve this. I had the exact same error as you. Live USB wouldn’t work, install wouldn’t work, these solutions wouldn’t work. Almost everything I tried just didn’t work. Tried all these great solutions posted here as well. Thank you @pobrn wouldn’t have gotten close without you!
Semingly the issue is that with the Intel PRO/1000 Network Driver something changes the defaults of the controller(driver). This had no effect on my windows boot before or after. You need to reset them all to default. You can do that in Arch/Ubuntu/Windows using Intels utility found here:

I cannot post links yet, but It is downloadcenter.intel dot com /download/29137?v=t

One could also google intels network utility as well.

You’ll need to have fast boot disabled in Windows and BIOS if you’re dual booting as well. For reference I am running an MSI z390 Pro Carbon Mobo. This seems to be a problem with the specific default driver for ASUS/MSI mobos.

I haven’t been on Linux in over 10 years so hopefully this makes sense and can help someone in the future! Thanks to everyone in this thread!