The NVM Checksum Is Not Valid, a solution to the problem that Intel's wired LAN is not recognized on Linux

Solution for Intel's Wired LAN Not Recognizing on Linux (The NVM Checksum Is Not Valid Solution)

If you try to use Linux on a PC equipped with Intel's wired LAN and the error The NVM Checksum Is Not Valid appears as shown below, we will explain how to resolve it if it is not recognized.

ubuntu@ubuntu:~$ dmesg | grep e1000
[    0.770292] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    0.770292] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.770448] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    1.052205] e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid
[    1.139563] e1000e: probe of 0000:00:1f.6 failed with error -5

Related Links

https://superuser.com/questions/1104537/how-to-repair-the-checksum-of-the-non-volatile-memory-nvm-of-intel-ethernet-co http://faq3.dospara.co.jp/faq/show/6289?site_domain=default https://downloadcenter.intel.com/ja/download/29137/

Solution

Initialize the Ethernet Controller NVM using bootutil64e in Preboot.tar.gz at https://downloadcenter.intel.com/en/download/29137.

Things necessary

Process flow

  1. Turn off Secure Boot in the BIOS. (Required to execute step 4)
  2. Boot from Linux Live USB media
  3. Unzip Preboot.tar.gz
  4. Install the dedicated driver
  5. Run bootutil64e to restore the NVM to its default settings
  6. Turn off your PC
  7. Insert and remove Live USB media
  8. Turn Secure Boot back on
  9. Boot from Linux Live USB media
  10. Make sure it recognizes Ethernet

Remarks

1. Turn off Secure Boot in the BIOS

The procedure depends on the motherboard.

For ASRock

  1. Immediately after turning on the power, press the F2 key.
  2. Press ʻAdvanced`.
  3. Press Security.
  4. Press Secure Boot.
  5. Change to Disabled.
  6. Press ʻExit`.
  7. Press Save Change and Exit.

reference: https://www.asrock.com/support/index.jp.asp?cat=FindBIOS

2. Boot from Linux Live USB media

The procedure depends on the motherboard.

For ASRock

  1. Immediately after turning on the power, press the F11 key with a pompon.
  2. Select the Live USB media.
  3. Select Try Ubuntu without installing and press ENTER

3. Unzip Preboot.tar.gz

Copy Preboot.tar.gz in the USB memory and unzip it.

ubuntu@ubuntu:~$ tar xvfz Preboot.tar.gz 
APPS/
APPS/BootUtil/
APPS/BootUtil/BootIMG.FLB
APPS/BootUtil/Docs/
APPS/BootUtil/Docs/bootutil.txt
APPS/BootUtil/iv.txt
APPS/BootUtil/Linux32/
APPS/BootUtil/Linux32/bootutil32
APPS/BootUtil/Linux32/DRIVER/
APPS/BootUtil/Linux32/DRIVER/install
APPS/BootUtil/Linux32/DRIVER/iqvlinux-1.2.0.13-0.noarch.rpm
APPS/BootUtil/Linux32/DRIVER/iqvlinux.tar.gz
APPS/BootUtil/Linux32/DRIVER/license_gpl.txt
APPS/BootUtil/Linux_x64/
APPS/BootUtil/Linux_x64/bootutil64e
APPS/BootUtil/Linux_x64/DRIVER/
APPS/BootUtil/Linux_x64/DRIVER/install
APPS/BootUtil/Linux_x64/DRIVER/iqvlinux-1.2.0.13-0.noarch.rpm
APPS/BootUtil/Linux_x64/DRIVER/iqvlinux.tar.gz
APPS/BootUtil/Linux_x64/DRIVER/license_gpl.txt
Omitted thereafter

4. Install the dedicated driver

ubuntu@ubuntu:~$ cd APPS/BootUtil/Linux_x64/DRIVER
ubuntu@ubuntu:~/APPS/BootUtil/Linux_x64/DRIVER$ sudo ./install 
Extracting archive..OK!
Compiling the driver...OK!
Skipping removing QV driver - it does not exist...
Copying iqvlinux.ko driver file to /lib/modules directory...OK!
Driver installation verification...Installed!

If Secure Boot is not turned off

If Secure Boot is not turned off, the following error will occur.

ubuntu@ubuntu:~/APPS/BootUtil/Linux_x64/DRIVER$ sudo ./install 
Extracting archive..OK!
Compiling the driver...OK!
Skipping removing QV driver - it does not exist...
Copying iqvlinux.ko driver file to /lib/modules directory...OK!
Driver installation verification...modprobe: ERROR: could not insert 'iqvlinux': Operation not permitted
rmmod: ERROR: Module iqvlinux is not currently loaded
Installed!

5. Run bootutil64e to restore the NVM to its default settings

Give bootutil64e execute permission

ubuntu@ubuntu:~/APPS/BootUtil/Linux_x64$ ls -l
total 3460
drwxr-xr-x 3 ubuntu ubuntu     140 Apr 18 13:05 DRIVER
-rw-r--r-- 1 ubuntu ubuntu 3541720 Nov 22 14:42 bootutil64e
ubuntu@ubuntu:~/APPS/BootUtil/Linux_x64$ chmod +x bootutil64e 
ubuntu@ubuntu:~/APPS/BootUtil/Linux_x64$ ls -l
total 3460
drwxr-xr-x 3 ubuntu ubuntu     140 Apr 18 13:05 DRIVER
-rwxr-xr-x 1 ubuntu ubuntu 3541720 Nov 22 14:42 bootutil64e

Check the status by running bootutil64e with no arguments

ubuntu@ubuntu:~/APPS/BootUtil/Linux_x64$ sudo ./bootutil64e 

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.7.10.10
Copyright (C) 2003-2019 Intel Corporation

Type BootUtil -? for help

Port Network Address Location Series  WOL Flash Firmware                Version
==== =============== ======== ======= === ============================= =======
  1   xxxxxxxxxxxx     0:31.6 Gigabit N/A FLASH Not Present

Run bootutil64e to set NVM to the default state (this is the core)

ubuntu@ubuntu:~/APPS/BootUtil/Linux_x64$ sudo ./bootutil64e -NIC=1 -DEFAULTCONFIG

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.7.10.10
Copyright (C) 2003-2019 Intel Corporation

Setting PXE EEPROM words back to defaults on NIC 1...done

Port Network Address Location Series  WOL Flash Firmware                Version
==== =============== ======== ======= === ============================= =======
  1   xxxxxxxxxxxx     0:31.6 Gigabit N/A FLASH Not Present

6. Turn off your PC

Turn off the power of the PC once

7. Insert and remove Live USB media

If you do not insert and remove it, it will not be recognized the next time you start it, so insert and remove it.

8. Turn Secure Boot back on

Return Secure Boot to ʻON in the same way as in 1. Turn off Secure Boot in the BIOS.

9. Boot from Linux Live USB media

Boot from Live USB media in the same way as 2. Boot from Linux Live USB media

10. Make sure it recognizes Ethernet

ubuntu@ubuntu:~$ dmesg | grep e1000
[    0.809135] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    0.809135] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
Omission
[   21.479526] e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

You can see that it can be recognized by the ʻip a` command. You can also connect to the network.

Recommended Posts

The NVM Checksum Is Not Valid, a solution to the problem that Intel's wired LAN is not recognized on Linux
A solution to the problem that files containing [and] are not listed in glob.glob ()
A solution to the problem that the Python version in Conda cannot be changed
Solution to the problem that build does not end when installing OpenCV (PEP517)
[Python] Solution to the problem that elements are linked when copying a list
I tried installing a driver for a NIC that is not recognized by Linux
[Jinja2] Solution to the problem that variables added in the for statement are not inherited
How to use a tp-link wireless LAN slave unit that does not support Linux
[Pyhton] I want to solve the problem that tkinter does not work on MacOS11
The Linux emulator "iSH" that runs on the iPad is a hot topic in me
Check if the LAN cable is disconnected on Linux
How to deal with the problem that pandas 1.1.0 or later build fails on Alpine Linux
How to solve the problem that video content cannot be played on Firefox for Linux
[VLC] How to deal with the problem that it is not in the foreground during playback
Finding a solution to the N-Queen problem with a genetic algorithm (2)
Finding a solution to the N-Queen problem with a genetic algorithm (1)
Workaround for the problem that sys.argv is not passed when executing a Python script with only the file name in Python2.7 on Windows
Temporary solution to the problem that the exe file created by PyInstaller is mistaken as a Trojan horse virus by AVAST or AVG
How to solve the problem that APL does not start after transferring to the actual device on Kivy-iOS
How to solve the problem that time goes wrong every time you turn on the power in Linux
How easy is it to synthesize a drug on the market?
On Linux, the time stamp of a file is a little past.
What to do if the inode is exhausted on EC2 Linux
Note that the Google Maps Android API GoogleMap.getProjection is not a singleton
I want to identify the alert email. --Is that x a wildcard? ---
Linux screen distribution on Ubuntu Memo that wants to be a Linux screen distribution YouTuber
What is a C language library? What is the information that is open to the public?