ことの発端
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
といったコマンドを使い、エラーメッセージが出ていないかを目視で確認する
- ターミナルで
-
- 判断基準