e1000 EEPROM Checksum validity check should be disabled

Bug #60388 reported by James Troup
62
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Hardy
Fix Released
High
Tim Gardner
linux-source-2.6.17 (Ubuntu)
Fix Released
Undecided
Ben Collins
Hardy
Invalid
Undecided
Unassigned
linux-source-2.6.20 (Ubuntu)
Fix Released
High
Kyle McMartin
Hardy
Invalid
Undecided
Unassigned
linux-source-2.6.22 (Ubuntu)
Won't Fix
Medium
Unassigned
Hardy
Invalid
Undecided
Unassigned

Bug Description

We have a box here which the e1000 driver refuses to work on, you just get this from the kernel:

e1000: 0000:05:00.0: e1000_probe: The EEPROM Checksum Is Not Valid
e1000: probe of 0000:05:00.0 failed with error -5

I've no idea if the checksum is valid or not, but I do know that forcibly disabling the check in the kernel makes the NIC work without any apparent problems.

There's been a fair bit of discussion about this on LKML about this, see e.g.

http://lkml.org/lkml/2006/8/4/141

Now given this is an Intel NIC in an Intel machine, shipped to us by Intel. If the EEPROM Checksum can be invalid in cases like that, I think we'd better off to changing the error message to be a warning.

Changed in linux-source-2.6.17:
assignee: nobody → ben-collins
status: Unconfirmed → Fix Committed
Revision history for this message
Johannes Schmidt (johannes-schmidt) wrote :

It seems that this patch has been applied to the 2.6.17 kernel of edgy, but 2.6.19 and 2.6.20 (feisty) again refuse to work with the e1000 driver.

It works flawlessly when applying the patch to 2.6.19/20, i.e. uncommenting the checksum check and recompiling the driver (as done with the machine I am working on).

Regards,
Johannes

Revision history for this message
Sebastian Bergmann (sb-sebastian-bergmann) wrote :

Kernel 2.6.20-2-generic works fine with e1000 on my ThinkPad X60s, Kernel 2.6.20-5-generic does not.

Revision history for this message
Szilveszter Farkas (phanatic) wrote :

2.6.20-9-generic still has this problem (Thinkpad X60s)

Kyle McMartin (kyle)
Changed in linux-source-2.6.20:
assignee: nobody → kyle
importance: Undecided → High
status: Unconfirmed → In Progress
Revision history for this message
Kyle McMartin (kyle) wrote :

Sebastian, there have been no changes to the e1000 driver between -2 and -5... Are you sure it worked? Were you just upgrading along the way? It sounds like your EEPROM checksum was somehow corrupted.

Revision history for this message
Tollef Fog Heen (tfheen) wrote :

Moving milestone forward

Revision history for this message
Kyle McMartin (kyle) wrote :

In 2.6.20-10, on the kernel command line:

e1000.eeprom_bad_csum_allow=1

should allow your card to work, can you please test it. Thanks!

Changed in linux-source-2.6.20:
status: In Progress → Fix Released
Revision history for this message
Sebastian Bergmann (sb-sebastian-bergmann) wrote :

First off, sorry for not responding sooner.

I am currently using 2.6.20-9 and the e1000 driver works without the commandline argument.

Revision history for this message
Johannes Schmidt (johannes-schmidt) wrote :

Is this command line parameter still in the code (i.e. >= 2.6.20-12)?
I always get:
Unknown boot option `e1000.eeprom_bad_csum_allow=1': ignoring
e1000: 0000:02:00.0: e1000_probe: The EEPROM Checksum Is Not Valid
e1000: probe of 0000:02:00.0 failed with error -5

Unfortunately, I can't test it anymore, as I am using now solely WLAN.
I had the chance to test it quickly in Easter holidays, but couldn't get it to work with any kernel other than 2.6.17.

Maybe I'll try the script mentioned here:
http://www.thinkwiki.org/wiki/Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid

Revision history for this message
Debo~ Dutta (debo) wrote : Re: [Bug 60388] Re: e1000 EEPROM Checksum validity check should be disabled

Are you using ubuntu? I had the issue with ubuntu but not with RHEL.

Debo

On 4/17/07, Johannes Schmidt <email address hidden>
wrote:
>
> Is this command line parameter still in the code (i.e. >= 2.6.20-12)?
> I always get:
> Unknown boot option `e1000.eeprom_bad_csum_allow=1': ignoring
> e1000: 0000:02:00.0: e1000_probe: The EEPROM Checksum Is Not Valid
> e1000: probe of 0000:02:00.0 failed with error -5
>
> Unfortunately, I can't test it anymore, as I am using now solely WLAN.
> I had the chance to test it quickly in Easter holidays, but couldn't get
> it to work with any kernel other than 2.6.17.
>
> Maybe I'll try the script mentioned here:
>
> http://www.thinkwiki.org/wiki/Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid
>
> --
> e1000 EEPROM Checksum validity check should be disabled
> https://bugs.launchpad.net/bugs/60388
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
>

Changed in linux-source-2.6.17:
status: Fix Committed → Fix Released
Revision history for this message
Erik Meitner (e.meitner) wrote :

This bug also affects 2.6.22-8-generic on a Thinkpad T60.(8744-5bu)
It would be nice if this bug could be fixed in the kernel or detected and resolved upon installation.

Changed in linux-source-2.6.22:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Johannes Meng (j-jmeng-deactivatedaccount) wrote :

I had the same problem, for just about any Ubuntu version I tried (dapper, edgy, feisty) and a range of kernels (generic and custom). Also I used to have the same problem in Gentoo aswell.

The ibm-script I'm referring to can be found at the above link or, more exactly, here:
http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-67166

Try this if nothing else works for you. Beware that this may break you ethernet card, or your system, or both, or maybe the earth will explode. Uh, that'd be inconvenient. Don't blow up the earth, please.

# Remove module if it was loaded.
sudo modprobe -r e1000

# Re-load it ignoring invalid EEPROM checksum.
sudo modprobe e1000 eeprom_bad_csum_allow=1

# Run the ibm script on the respective interface; for me it was eth0.
sudo ./vidalia-eeprom-mod-script eth0

# Reboot.
sudo reboot

Revision history for this message
Gerardo Malazdrewicz (ger-malaz) wrote :

The ibm script worked on this T60p on gutsy.

Revision history for this message
Gregory Oschwald (osch0001) wrote :

I am experiencing this on my Thinkpad X60s with Gutsy. I did not experience this bug on Feisty or earlier releases.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote :

I'm seeing this on Hardy, every now and then. I think it has something to do with suspend and resume but haven't narrowed it down at all.

Changed in linux-source-2.6.24:
assignee: nobody → ubuntu-kernel-team
Revision history for this message
Gregory Oschwald (osch0001) wrote :

I am also seeing this on Hardy occasionally.

Revision history for this message
Mark Shuttleworth (sabdfl) wrote :

Are you also using suspend-and-resume?

Revision history for this message
Gregory Oschwald (osch0001) wrote :

Sorry. Yes, it does seem to be happening after a suspend and resume.

Revision history for this message
atreju (atreju-tauschinsky) wrote :

I see this on Hardy every time I boot my computer. For me it is clearly not connected to any suspend/resume issues.
I removed the check from the source and compiled it which works fine for me.

Changed in linux:
importance: Undecided → High
Revision history for this message
Ben Collins (ben-collins) wrote :

Re-added the eeprom_bad_csum_allow module parameter.

Changed in linux:
assignee: ubuntu-kernel-team → ben-collins
milestone: none → ubuntu-8.04
status: New → Fix Committed
Revision history for this message
Steve Langasek (vorlon) wrote :

Ben, this bug is marked as 'fix committed' since April 10, but (using the ethernet on my T60 for the first time in months) I'm still seeing the same old checksum error and the eeprom_bad_csum_allow parameter isn't recognized. Was this committed somewhere other than to the 'linux' package?

Revision history for this message
Steve Langasek (vorlon) wrote :

oh, that was a dumb comment, wasn't it, there have obviously been no kernel uploads since April 10. :)

Steve Langasek (vorlon)
Changed in linux:
milestone: ubuntu-8.04 → ubuntu-8.04.1
Tim Gardner (timg-tpi)
Changed in linux:
assignee: ben-collins → timg-tpi
Revision history for this message
Tim Gardner (timg-tpi) wrote :

SRU Justification:

Impact: Users of the e1000 driver cannot override default behavior of a bad eeprom checksum, e.g., the driver exits.

Fix Description: Implement a module parameter that allows the driver to proceed with initialization when eeprom checksum fails. The user can then set the MAC address from the command line (if necessary).

Patch: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=commit;h=c25a12d6ab08a1a2d79e1a6540c2579780b97d5b

TEST CASE: If the eeprom check fails, 'e1000_probe: The EEPROM Checksum Is Not Valid' is in the log and the network interface is not available.

Revision history for this message
Colin Watson (cjwatson) wrote :

Accepted into hardy-proposed.

Revision history for this message
Steve Langasek (vorlon) wrote :

I can confirm this fix. With 2.6.24-16-generic, the e1000 driver was not working for me, and the eeprom_bad_csum_allow option was not recognized. With 2.6.24-17-generic, the e1000 driver appears to work better generally, and the eeprom_bad_csum_allow is also recognized.

Changed in linux-source-2.6.17:
status: New → Invalid
Changed in linux-source-2.6.20:
status: New → Invalid
Changed in linux-source-2.6.22:
status: New → Invalid
Steve Langasek (vorlon)
Changed in linux:
assignee: nobody → timg-tpi
importance: Undecided → High
milestone: none → ubuntu-8.04.1
status: New → Fix Committed
milestone: ubuntu-8.04.1 → none
Revision history for this message
Martin Pitt (pitti) wrote :

linux 2.6.24-17.31 copied to hardy-updates.

Changed in linux:
status: Fix Committed → Fix Released
Revision history for this message
Chris Jones (cmsj) wrote :

The thinkwiki link in comment 8 has a section which suggests that checking the checksum a second time causes it to validate. Would this patch be acceptable to us? Checking a broken checksum a second time doesn't immediately sound insane/dangerous, but making a commonly used chipset work in more situations would be extremely useful.
For a regular user, this bug appears like "Ubuntu doesn't support my network card", and they very probably won't end up finding out about a modprobe option, or know what to do with it.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

SRU Justification:

Impact: e1000 checksum test sometimes fails causing loss of network connectivity

Patch Description: Check checksum validity before HW reset, reset and try again on checksum failure.

Patch: http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-hardy.git;a=commit;h=f8ad24022f703452346c1456154f3733a11fd4cc

Test Case: Power up Thinkpad T60 while inserted into a docking station. The e1000 module fails to initialize.

Changed in linux:
status: Fix Released → Fix Committed
Revision history for this message
Steve Langasek (vorlon) wrote :

pushing the milestone back to 8.04.2 for the second part of this reopened bug.

Changed in linux:
milestone: ubuntu-8.04.1 → ubuntu-8.04.2
Revision history for this message
Steve Langasek (vorlon) wrote :

Accepted into -proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Revision history for this message
Alacrityathome (alacrityathome) wrote :

I have this problem with both 2.6.26-5 and with Alpha 5 Ubuntu 8.10 (2.5.27-3). Solving it with a work around at the moment on 2.6.26 by using the terminal command ... sudo ifconfig eth0 hw ether 00:1c:25:1e:0f:e6 or by putting the command in the rc.local file.

I have not tried a work-around for 2.6.27.....that looks like a different problem but the same end result (no eth0).

Revision history for this message
Rohit Khetan (rohit-khetan) wrote :

I have experienced the same problem with ubuntu 8.04.1 (Hardy ) and linux kernel 2.6.24.19 generic. In the dmesg I get the message bad checksum. I have worked around it using the module parameter to allow the bad checksum.

Revision history for this message
Martin Pitt (pitti) wrote :

linux 2.6.24-21 copied to hardy-updates.

Changed in linux:
status: Fix Committed → Fix Released
Tim Gardner (timg-tpi)
Changed in linux:
assignee: timg-tpi → nobody
importance: High → Undecided
status: Fix Committed → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

Revision history for this message
Sergio Zanchetta (primes2h) wrote :

The 18 month support period for Gutsy Gibbon 7.10 has reached its end of life -
http://www.ubuntu.com/news/ubuntu-7.10-eol . As a result, we are closing the
linux-source-2.6.22 kernel task.

Changed in linux-source-2.6.22 (Ubuntu):
status: Triaged → Won't Fix
Revision history for this message
Hans Ginzel (hans-matfyz) wrote :

This bug is still on Oneiric. I have used http://archive.ubuntu.com/ubuntu/dists/oneiric/main/installer-i386/current/images/netboot/ubuntu-installer/i386/ linux kernel and initrd for instalation on IBM/Lenovo T60 (Type 2007-FSG), uname -a: Linux (none) 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 GNU/Linux, cat /proc/version_signature: Ubuntu 3.0.0-12.20-generic 3.0.4.
e1000e: 0000:02:00.0: (unregistered net_device): The NVM Checksum Is Not Valid
e1000e: probe of 0000:02:00.0 failed with error -5

See http://www.thinkwiki.org/wiki/Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid.

I have tried the eeprom_bad_csum_allow parametr, but it is not known by e1000e modul.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.