ことの発端
Ubuntu 18.04LTSのGUIの設定からWi-Fiが利用できないことに気がついた。
「No Wi-Fi Adapter Found」「Wi-Fiアダプターが見つかりません」と表示されてしまうのである。
Bluetoothの欄を見てみても同様に、Bluetoothデバイスが見つからない旨のメッセージが出る。
しばらく有線接続をしていたから、いつからそうなったのかはわからなかった。
調べてみると同じようなトラブルは多く発生しているみたいだが、原因が複数ありトラブルシューティングの方法がかなり多岐にわたることがこの問題を厄介にしているようだ。
この投稿では、原因を確認するためにコマンドをうち、症状別にどのような回復方法を行うべきなのかをまとめておく。
誰かの参考になれば幸いだし、自分の環境ではこうだったというコメントも嬉しい。
トラブルシューティング
- AirPlaneモードではないか?
- 判断基準
- Ubuntu上部のメニューバーに飛行機✈マークが出ている
- 「設定」の「Bluetooth」に明確に機内モードであることが書いてある
- 回復手段
- 「設定」の「Bluetooth」から機内モードを切る
- 判断基準
- Wi-FiがOFFになっていないか?
- 判断基準
- 「設定」の「Wi-Fi」を開いたとき、ウィンドウ上部のトグルスイッチが「OFF」になっている
- ターミナルで
$ rfkill listコマンドを打つと、SOFTの列がblockedになっている
- 回復手段
- 「設定」の「Wi-Fi」ウィンドウの上部のトグルスイッチをクリックして「ON」にする
- ターミナルで
$ rfkill unblock wlanと打つ
- 判断基準
- キーボードのWirelessキーが押されていないか?
- 判断基準
- ターミナルで
$ rfkill listコマンドを打つと、HARDの列がblockedになっている - ターミナルで
$ rfkill list bluetoothコマンドを打つと何も出ない - 「設定」を開くと、Wi-FiもBluetoothもデバイスが見つからないと出る
- トグルスイッチを「ON」にしても戻ってしまう
- ターミナルで
- 回復手段
- キーボードのWirelessキーを探して打つ
- 私の場合はこれだった。DELL XPS 13ではFnキーと一緒にPrtScrキー
- ノートPCのメーカー・型番によって、Wirelessキーのマークも位置もかなり異なる
- キーボードのWirelessキーを探して打つ
- 判断基準
- BIOSレベルで無効になっていないか?
- 判断基準
- BIOS画面からWi-Fi、Bluetoothの設定を確認する
- BIOSの画面構成はPCによって異なるので自分のPCに合わせて調べる
- BIOS画面からWi-Fi、Bluetoothの設定を確認する
- 回復手段
- 「Disable」になっているなら「Enable」にする
- 判断基準
- デバイスドライバが無いのではないか?
- 判断基準
- ターミナルで
$ ip link showと打ちWi-Fiデバイスの名前(logical name)を確認する- wlan0、wlp1s0などの名前が自動で付けられている
- MACアドレスで区別しても良い
- ターミナルで
$ sudo lshw -C networkと打ち、該当するnetworkのconfigurationにdriver=hogeとなっていないか確認する - Wi-FiモジュールがPCIデバイスとして認識されている場合、
$ lspci -nnkでも使用中のデバイスドライバ名が確認できる
- ターミナルで
- 回復手段
-
driver=hogeとなっていない場合- lshwコマンドで確認したときの
productを手がかりにデバイスドライバを探す - RealtekのrtlXXXXシリーズはgithubなどからコンパイルしてインストールする
- BUFFALO WI-U2-433DMSはRealtek用のこのデバドラで利用できた
- Broadcomのbcmシリーズは
$ sudo apt install bcmwl-kernel-sourceでインストールする
- lshwコマンドで確認したときの
-
driver=hogeとなっている場合- ターミナルで
$ modinfo hogeと打ちデバイスドライバの情報を確認する - ターミナルで
$ nmcli connectionを打つ- 利用したいWi-FiのSSIDが表示されない場合は設定からWi-Fiネットワークの設定を行う
- ターミナルで
$ nmcli deviceを打ちデバイスの名前を手がかりにSTATEを確認する-
connectedならばWi-Fiに繋がっているはず
-
-
$ dmesg | lessや$ nano /var/log/syslogといったコマンドを使い、エラーメッセージが出ていないかを目視で確認する
- ターミナルで
-
- 判断基準