Kabylake+Z270なマザーでUbuntu 16.04が使えた -ネットワーク(イーサーネット)のみ設定が必要

2018年7月8日Linux・Ubuntu TipsUbuntu

最近PCの老朽化が著しく、KabylakeなIntel Core i7 7700Kに買い換えた。インストールは無事終わったのだが、唯一イーサーネットアダプタのみ認識してくれない。Intelからドライバをダウンロードすることでなんとかなったので、ご紹介。

私が購入したのは下記の製品。

ASUSTeK Intel Z270搭載 マザーボード LGA1151対応 PRIME Z270-A 【ATX】

ASUSTeK Intel Z270搭載 マザーボード LGA1151対応 PRIME Z270-A 【ATX】

35,791円(11/08 17:27時点)
Amazonの情報を掲載しています

Z270 + Kabylakeだと、初期状態でIntelのイーサーネットを認識しない

Z270チップだと、基本的にIntelの1000BASE/Tのイーサーネットコネクタがオンボードで設置されているようである。

$ sudo lspci | grep Ethernet
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (5) I219-V

ただし、Ubuntuの標準状態では下記のようにチェックサムエラーと言われて、ドライバがロードされていない。

*********** kernel: [ 1.089863] e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid

Intelの公式サイトから、Linux用のドライバをインストールする

結論から言ってしまうと、「e1000e」のモジュールでnvmのチェックサムを無視する改変してロードすれば、イーサーネットアダプタを利用することが出来るようになる。

I219-Vのドライバをダウンロードする

まずはIntelの公式サイトからドライバをダウンロード。といっても、Ubuntuからはダウンロードできないので、他のPCでDLしたあとにUSBメモリなどで入れ込む。

ダウンロード インテル® PCIe* インテル®ギガビットイーサネット・ネッ...
インテル® PCIe* インテル®ギガビットイーサネット・ネットワーク・コネクション (Linux*) 用ネットワーク・アダプター・ドライバー

Checksum Is Not Validならチェックサムをしないように改変する

その後、解凍した後のファイルのなかにある「nvm.c」を開き、「e1000e_validate_nvm_checksum_generic」関数が何もしないよう、下記のような形で編集をする。

s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw)
{
return 0;
}

コンパイルしてmodprobe

このあと、make & make installを行い、modprobeを行えば正常に動作するはず。

$ make
$ sudo make install
$ sudo modprobe e1000e

認識していることを確認。

$ modinfo e1000e
filename: /lib/modules/4.4.0-59-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
version: 3.2.6-k
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, linux.nics@intel.com

改変版e1000eをブート時に読み込むようにする

自動的にロードするように/boot配下のinitramfsに念のため変更をかける

$ sudo update-initramfs -u

再起動して、認識しているか確認してみる

$ cat /var/log/kern.log | grep e1000e
kernel: [ 0.848116] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
kernel: [ 0.848117] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
kernel: [ 0.896737] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
kernel: [ 1.190969] e1000e 0000:00:1f.6 eth0: registered PHC clock
kernel: [ 1.190971] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 2c:4d:54:55:2e:5c
kernel: [ 1.190972] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
kernel: [ 1.191150] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF
kernel: [ 1.191543] e1000e 0000:00:1f.6 ******: renamed from eth0
kernel: [ 6.293172] e1000e: ****** NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

これで無事インターネットに接続できるようになる。

ちなみにOCは?性能アップは?

i7 7700Kはそんなに評判が良くない(所詮はSkylakeのリフレッシュだろ、と言われている)が、これまでIvyBridgeで必至にエンコードをしていた身としては、それなりに速度が出ているなという印象。
なお、購入はAmazonが一番安かった(スタートダッシュで4万円ちょいで買えた。入荷待ちだが今も一番安いと思う)。

地道にOCなんかやってみたりしているのだが、それは別途ご紹介。

執筆者紹介

Thir

最新のガジェットを購入してはレビューする、を繰り返しています。このブログでは、ガジェットの紹介のほか、各種サーバーやスマートホームの構築などを提供しています。最近はYouTubeでもレビュー動画やVlogをあげています。(プロフィール