いつもの調子でubuntuをインストールしたけれども、ネットがつながらないので悪戦苦闘した。
UbuntuでNICを認識しない場合の対応
ifconfig
lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 inet6アドレス: ::1/128 範囲:ホスト UP LOOPBACK RUNNING MTU:65536 メトリック:1 RXパケット:948 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:948 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:152937 (152.9 KB) TXバイト:152937 (152.9 KB)
ローカルループバックというものしかない。優先ならばイーサネットのeth0, 無線LAN ならばwlan0 というものがあるはず。
まずは対応機種を調べる。
lspci | grep "Ethernet\|Network"
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection 156f (rev 21) 02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
こちらからe1000e-2.2.14.tar.gzをダウンロード。
ここの一覧から156f はe1000e/netdev.c のようなのでたぶんe1000e シリーズでいける。
他のマシンでダウンロードし、LinuxマシンにUSBメモリなどでコピーする。
ファイルを解凍し、srcディレクトリに移動した後次のコマンドを実行する。
sudo make install
sudo modprobe -r e1000e
sudo modprobe e1000e
これでドライバが入った。確認は次のコマンドで行う。例のようにe1000eが表示されればOK。
lsmod | grep e1000e
e1000e 158424 0
問題は無線LAN のほうである。
無線LANドライバーからAC 8260 に対応したiwlwifi-8000-ucode-25.30.13.0.tgz をダウンロードして解凍後、
cp iwlwifi-*.ucode /lib/firmware
として再起動したらいける、とかいうのにうんともすんとも言わない。
ここで書いているように、backports のファイルをとってきて
cd backports-20150923 make clean make defconfig-iwlwifi make sudo make install
とするけれども、make でエラーがでる。
ググるとbuild-essential とか linux-headers-generic とか、他にkernel3.19 じゃないやつが必要らしく
linux-headers-generic-lts-wily_4.2.0.27.21_amd64.deb linux-headers-4.2.0-27-generic_4.2.0-27.32~14.04.1_amd64.deb linux-headers-4.2.0-27_4.2.0-27.32~14.04.1_all.deb linux-generic-lts-wily_4.2.0.27.21_amd64.deb linux-image-generic-lts-wily_4.2.0.27.21_amd64.deb linux-image-4.2.0-27-generic_4.2.0-27.32~14.04.1_amd64.deb linux-image-extra-4.2.0-27-generic_4.2.0-27.32~14.04.1_amd64.deb linux-firmware_1.127.20_all.deb
このあたりをひたすらインストールしているといつのまにか無線LAN もつながった。
これでローカルループバックだけでなく、eth0 とwlan0 も認識されている。