Scheduled maintenance — back soon.

~/blog/e1000e-the-nvm-checksum-is-not-valid

e1000e - The NVM Checksum Is Not Valid

With the recent version of Linux kernel (just a guess) you may discover that your Intel 825** network card (e1000e) is not working anymore and dmesg is displaying an annoying message like this:

e1000e: Intel(R) PRO/1000 Network Driver
e1000e 0000:0x:00.0: The NVM Checksum Is Not Valid
e1000e: probe of 0000:0y:00.0 failed with error -5

It seems that the nework adapter's EEPROM is broken. If the error is not fixed yet then, at the boot time, the card's EEPROM checksum will fail, and as a result of this you will get the above message. Don't throw your card to the waste container, perhaps it's still working. Windows uses to ignore these kind of problems but Linux, being more rigorous, will check for such issues and will fail loading the device driver if card's NVM checksum is not valid.

How to fix it?

The detailed steps you may find also   here. If everything works as expected then after reboot you should see something like this:

 e1000e: Intel(R) PRO/1000 Network Driver
 e1000e 0000:00:19.0: setting latency timer to 64
 e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
 e1000e 0000:00:19.0: irq 47 for MSI/MSI-X
 e1000e 0000:00:19.0: eth0: (PCI Express:2.5GT/s:Width x1) 00:24:81:18:88:88
 e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
 e1000e 0000:00:19.0: eth0: MAC: 8, PHY: 8, PBA No: FFFFFF-0FF

Comments

10 comments

  • andreas

    How do you extract it to usb/floppy, in a way that is possible to boot from ??!

    • Eugen Mihailescu

      If you want to boot from floppy/usb you are going to need a bootable floppy/usb device, isnt' it? Step 1) make a bootable floppy/usb device according with your OS Step 2) copy those files on the bootable device Step 3) boot that device then run that command specified in the article

  • andreas

    Now i got it! Have found a workaround! http://xander.csapi.ru/operatsionnye-sistemy/linux/fix-intel-i350-igb-driver-nvm-checksum-not-valid-error-linux.html but i going to try this article, seems more solid and correct for a production environment. Thanks !

    • Eugen Mihailescu

      I've read that article. My understanding is that it only fixes the effect but not the root of the problem. By that I mean it patches the Linux kernel/module (so that Linux, likewise Windows, will ignore entirely the "The NVM Checksum Is Not Valid" issue which in reality is not a big issue as I've mentioned in my article). Note that his hardware will still contain the problem! Is just Linux that will start (thanks to that update/patch) to ignore the issue (will become more permissive, silent), likewise Windows does. Anyway, I have had this problem some time ago, I haven't patched the software (i.e. Linux) but the root of the problem (i.e. the card's EEPROM). By doing that I could install from scratch whatever system and none of them will complain about "NVM checksum" because, you see, the hardware's problem was fixed. And is fixed for good! The other solution is more like a (soft) compromise that actually could work too. I am glad you have pointed out this because maybe other people like you and me will found one solution or another very useful and would be able to fix their problem.

  • Balaji

    Hi, We are facing the same issue ESXi alone. Do you have any clue. Regards Balaji R

  • Guillaume

    Thank you! Getting the Linux utility directly on the system did the job perfectly, no need for a special boot device.

  • compdoc

    I faced this problem, however my nic is an onboard I217-LM, and it gives an error using the option 'DEFAULTCONFIG'. After experimenting, I wrote this: Go to the "Intel Ethernet Connections Boot Utility, Preboot Images, and EFI Drivers" page, and download PREBOOT.EXE. Run to extract files. Create a bootable usb stick, that boots freedos. I used Rufus. Copy the files BootIMG.FLB and DOS/bootutil.exe to the stick. (Don't copy the directory 'DOS' - just the file inside named bootutil.exe) Next, boot the server from the stick. Then run two commands: bootutil -wold -all bootutil -wole -all The first command turns off WOL (wake on lan), and the second command enables it again. This action will correct/reset the checksum.

  • Nathan

    On Ubuntu 16.04 I ran: $ cd APPS/BootUtil/Linux_x64 $ sudo ./bootutil64e -NIC=1 -DEFAULTCONFIG This works. Thank you.

  • Jörgen

    Thank you so much!! Had NIC issues after bios update on my z270 board... NVM checksum fail. I used rufus, installed freeDos, put the intel bootutil files on the stick, booted up, ran the bootutil.exe -NIC=1 -DEFAULTCONFIG and restarted into ubuntu. The nic was working again!

  • werner hofmann

    I also want you to thank a lot!

Leave a comment

Name and email required · moderated before publish · plain text only