はじめに
新しく購入したパソコン(IdeaPad C340)にUbuntuを入れたらWifiが使えない問題が発生して解決に苦労したので備忘録として残しておきます。
ちなみに問題が発生した環境は下記のとおりです。
PC : IdeaPad C340 (14)
型番 : 81TK001FJP
OS : Ubuntu 18.04.3 LTS
あと$ lspci -nnk
の出力結果は下記になってました。(Networkのみ抜粋)
00:14.3 Network controller [0280]: Intel Corporation Device [8086:02f0]
Subsystem: Intel Corporation Device [8086:0034]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
解決した方法
色々と試したのですが、Secure Bootを無効化した状態で下記ページのように linux-firmware をバージョンアップしたらwifiが認識されて使えるようになりました。
Intel Wifi Card not working on Ubuntu
https://askubuntu.com/questions/1180765/intel-wifi-card-not-working-on-ubuntu
ちなみに、
# apt update
と# apt install linux-firmware
を予め実行していたのですが、wgetで取得してこないと18.04では解決できるバージョンまで上げれないみたいです。
アップデートしたら使えなくなった
※2020.03.23 追記
サボってたアップデート#apt update & apt upgrade
を実行したらまたWifiが認識されない現象が発生しました。orz...
詳しい原因はわかってないですが、どうもLinuxカーネルのバージョンとWifiドライバのバージョンに不整合があってドライバの読み込みがちゃんとできてないっぽいです。
結論から言うと、カーネルのバージョンを5.3.0-28-generic
で起動したら認識するようになりました。
以下、この結論に至った過程
-
デュアルブートしてるWindowsとかからWifiドライバのメーカー、バージョンを特定
→「Intel(R) Wireless-AC 9560」ってやつでした。 -
Intelのページ から対象のドライバをダウンロード
→iwlwifi-9000-pu-b0-jf-b0-34.618819.0.tgz をダウンロード&解凍
(Intelのドライバはiwlwifi-***って名前のファイルを使用するみたい) -
取得したドライバ(**.ucode)を
/lib/firmware
に配置
→同じファイル名のやつがあったのでとりあえずバックアップ -
再起動したけどWifi認識しないままなので、
/lib/firmware
から2.で取得したドライバ(ucode)以外のファイル(iwlwifi-**のやつ)を全削除 -
再起動してdmesgを確認したらucodeのバージョンがminimum〜maximumの間に無いから読み込めません的なエラーが出てた
(4.で削除する前は別のエラー(startできません的なやつ)だったので、この辺からバージョン不整合で別のドライバを読み込んでると推測) -
Linuxカーネルを4.18まで下げて再起動したらWifi認識してくれた!!
けど、マウスカーソルが動かないという致命的な問題が...( ;∀;) -
最新は
5.3.0-42-generic
だったので、この間のバージョンでインストール済みのやつを順に調べたらWifiを認識する最新バージョンが5.3.0-28-generic
でした。
ホントは最新カーネルで読み込むドライバをちゃんと指定してやるべきだと思うんですが、やり方がわかんなかったので誰かわかる人いたら教えてくださいm(_ _)m