ASUS z270 Motherboard with Intel onboard controller Fix EEPROM Checksum for e1000 Linux Driver Reference: https://gist.github.com/peteonrails/b7c41b74d2c2b60e457ce1db50752100 The ASUS z270 motherboard ships with a bug in the firmware that prevents the Linux kernel driver (e1000) from activating the hardware. The system will boot correctly, but will not activate your network interface with this error in place. In order to fix the issue, I followed these steps: 1. Download the latest Intel Linux drivers from https://downloadcenter.intel.com/product/19297/Intel-82573L-Gigabit-Ethernet-Controller 2. Transfer the drivers to the z270 machine with a thumbdrive 3. Patch the linux drivers to ignore the checksum error. See diff below. 4. make, make install the patched driver. Please note, this will taint your kernel We can fix that later. 5. `modprobe -r e1000` 6. `modprobe e1000e WriteProtectNVM=0` 7. `ifconfg -a` should now show your network device 8. Install `ethtool` by running `configure; make; make install` 9. Using ethtool, read the current checksum value: `$ sudo ethtool -e enp0s31f6 offset 0x7e length 2` Write down the output of this command under the "values" column. This is the current checksum. 10. Using ethtool, find an unused word byte (ff) by running `sudo ethtool -e enp0s31f6 | less`. In my system, this was in the row 0x0010 at position 0. 11. Find your magic value by a. running `lspci | grep Ethernet`, b. then use the address value at the beginning of the line in my case: 00:1f.6 c. lspci -n | grep '00:1f.6' d. Note the vendor code, in my case: 8086:15b8 e. Magic value is the device code and vendor code reversed as a hexidecimal, so for me: 0x15b88086 12. Rewrite the value ff to the existing spot in the EEPROM: `$ sudo ethtool -E enp0s31f6 magic 0x15b88086 offset 0x10 value 0xff` 13. ethtool will recalculate the correct checksum and update it. Verify this by running `$ sudo ethtool -e enp0s31f6 offset 0x7e length 2` The number should no longer match the value you wrote down earlier. 14. Switch back to the stock Intel driver: a. modprobe -r e1000e b. re-unzip the Intel drivers, rebuild them, and reinstall them useing make: make install. c. modprobe e1000e 15. Your interface should be running. `ifconfig -a` 16. Configure the network and reboot http://blog.vodkamelone.de/archives/146-Unbricking-an-Intel-Pro1000-e1000-network-interface.html http://superuser.com/questions/1104537/how-to-repair-the-checksum-of-the-non-volatile-memory-nvm-of-intel-ethernet-co/1106641#1106641?newreg=c361cd236b4a4e99b0543ef784226ced https://forums.linuxmint.com/viewtopic.php?t=209410 https://thesorcerer.wordpress.com/2011/07/01/guide-intel-82573l-gigabit-ethernet-with-ubuntu-11-04-and-fix-pxe-e05/