読者です 読者をやめる 読者になる 読者になる

Rys

自分用のメモ

NVM checksum が Valid じゃない

(ブログを移行したのでもう一度書いています)

新しくPCを買ったらubuntuでネットがつながらなかったので解決方法を書きます.

状況

まず, Windows10搭載のPCにubuntu16.04LTSを入れました.
そして有線でネットに繋ごうとしてもdisconnectedになることに気づきました.
とりあえず再起動してみると, 起動時にちらっと Checksum not Valid と出ているのが見えた気がしたので以下のコマンドをterminalで実行して確認.
$ dmesg | grep Valid
すると,
e1000e 0000:00:1f:6: The NVM checksum is Not Valid
と出てきました. やはり, checksumではじかれていました.

解決方法

とりあえずe1000eを最新のものにしてみましたが, 解決されませんでした.
なので, 根本的な解決にはなっていませんが, 以下のようにして解決しました.

まず, 最新のe1000eを ここ からダウンロードしてきます.
(別のpcでダウンロードし, USBで移しました.)
次に, e1000e-3.3.4/srcに移動してそこにあるnvm.cを開き,
s32 e1000e_validate_nvm_checksum_generic(struct e1000_hw *hw)
の内部を return 0 以外全てコメントアウトして保存します.
そして以下のコマンドを実行

$ sudo modprobe -r e1000e
$ sudo make install
$ sudo modprobe e1000e
$ sudo update-initramfs -u

この時, sudo modprobe e1000eを実行すると
modprobe: Error: could not insert e1000e : Reqired key not available
というエラーが出たら(ubuntu14.04では出なかったけど, 16.04では出た), BIOSメニュー(起動時にFn2を押すなどしたら入れる) で詳細設定からセキュアブートを無効にしてからもう一度実行すればおそらく通ります.