Intel 82573/82574 – e1000e Driver ASPM L1 Bug – Network Problem

intelRecently my router (vyatta) nic’s, 2x Intel 82574L, stopped working, the Ethernet interfaces went into a very strange state, were they seem to be up but not running, the leds on the nics are lit but they don’t blink, there is no ip communication, and not a packet is sent or received (This problem was found while using kernel 3.3.8-1).

I started browsing the web and found other people with the same problem. It is, in short, a problem with ASPM (active state power management) L1 power mode. ASPM is embedded in the kernel and used by the e1000e driver, although this problem seems to be only related with 82573 and 82574 chipsets.
A permanent fix that enables the use of ASPM is not yet available, rather a workaround that disables ASPM completely.
You can actually disable aspm by passing an argument “pcie_aspm=off” in the kernel load line inside the grub config file “/boot/grub/grub.cfg” or by adding “kopt=pcie_aspm=off” kernel option to “/boot/grub/menu.lst”.
This actually didn’t work for me, I think it is because my nic’s are onboard and not pcie (!?) maybe, I’m not sure.
There is however a more efficient way of overcoming this problem, by patching the nic eeprom.
This solution is stated at sourceforge.
To check if your nic is affected by this problem sun ethtool (as superuser or output may differ)

sudo ethtool -e eth0 | more
 Offset          Values
 ------          ------
 0x0000          00 1b 21 51 39 8c 20 0d 46 f7 a1 10 ff ff ff ff
 0x0010          29 e6 02 64 6b 02 00 00 86 80 0c 15 ff ff 58 9c

“The value at offset 0x001e (58) has bit 1 unset. This enables the problematic
power saving feature. In this case, the EEPROM needs to read “5a” at offset
0x001e.” from sourceforge.

Copy the script to your box by using a pendrive, I had wireless working on the router so I was able to copy it via scp, i’ll assume the script is in /tmp, your nic is eth0 and you’re not root:
Run script with:

cd /tmp
sudo chmod +x fixeep-82574_83.sh
sudo bash fixeep-82574_83.sh eth0

Output will be something like this:

eth0: is a "82574L Gigabit Network Connection"
This fixup is applicable to your hardware
executing command: ethtool -E eth0 magic 0x10d38086 offset 0x1e value 0x5a
Change made. You *MUST* reboot your machine before changes take effect!

Reboot

sudo shutdown -r now

Related posts:

This entry was posted in Debian, Linux, Networking, Vyatta and tagged , , . Bookmark the permalink.

One Response to Intel 82573/82574 – e1000e Driver ASPM L1 Bug – Network Problem

  1. Pingback: Kernel Warning - NOHZ: local_softirq_pending 08 | iTespresso

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.