こんにちは、よむです。今回は我が家のプログラミング用マシン(Ubuntu 22.04 LTS)でよく起こるWiFiアダプターのトラブルの対処法についてお伝えしたいと思います。
Ubuntu 22.04 LTSでUSB WiFiアダプターを利用している方の中には、システムのアップデート後にアダプターが突然動作しなくなったという問題に直面した方も多いのではないでしょうか。
この問題は、特にカーネルアップデートやドライバーの不整合が原因で発生することがよくあります。
本記事では、USB WiFiアダプターがUbuntu 22.04 LTSで動作しなくなった場合の対処法について、詳しく解説します。
特に、GitHubから最新のドライバーを入手しても動作しない問題と、それを解決するために古いコミットに戻す方法についても重点的に説明します。
Ubuntu 22.04 LTSでUSB WiFiアダプターが使えない問題とは?
まず、USB WiFiアダプターがUbuntuで動作しない原因について考えてみましょう。
Ubuntuはオープンソースであり、多くのデバイスが標準でサポートされていますが、一部のUSB WiFiアダプターは、特にサードパーティ製のドライバーを必要とします。
こうしたデバイスは、システムのアップデート後にカーネルや依存ライブラリとの互換性が崩れることがあり、その結果、WiFiアダプターが動作しなくなることがあります。
多くのユーザーが最新のアップデート後に「USB WiFiアダプターが認識されない」「接続が不安定」といった問題を報告しており、特にGitHubから入手した最新のドライバーを利用している場合、こうした不具合が発生することが確認されています。
使用環境の紹介:Ubuntu 22.04 LTSとBUFFALO WI-U2-433DHP
次に、今回使用するソフトウェアとハードウェアについて簡単に説明します。
Ubuntu 22.04 LTS
Ubuntu 22.04 LTSは、LTS(Long Term Support)版なので、5年間の長期サポートがあり、安定性が高く、初心者にも適しています。また、無線LANアダプターをサポートする機能も豊富に揃っています。
BUFFALO WI-U2-433DHP
BUFFALO WI-U2-433DHPは、USBポートに接続して使う無線LANアダプターです。最大433Mbpsの速度でWiFi接続が可能で、特に小型で使いやすいのが特徴です。このアダプターを使えば、WiFi機能が内蔵されていないパソコンでも簡単に無線LANに接続できます。
今回は、上記の環境を前提に解説をしていきます。
基本的な対処方法
LinuxマシンにUSB WiFiアダプターを挿したけれども、うまく動作しない場合の基本的な対処方法について下記にまとめています。まずは、この内容を試してみてください。
ドライバーの確認とインストール
まずは、使用しているWiFiアダプターに対応するドライバーが正しくインストールされているかを確認しましょう。lsusb
コマンドを使用して、アダプターがシステムに認識されているかどうかを確認します。
$ lsusb
Bus 003 Device 003: ID 0411:029b BUFFALO INC. (formerly MelCo., Inc.) 802.11ac WLAN Adapter
リストに自分のUSB WiFiアダプターが表示されていない場合、物理的な接続やアダプター自体の不具合を疑う必要があります。表示されている場合は、ドライバーのインストール状況を確認します。
WiFiアダプター用のドライバーは多くの場合、GitHubなどから入手できます。最新のドライバーをダウンロードし、インストールしても問題が解決しない場合は、次のステップに進んでください。
カーネルのアップデートと互換性チェック
次に、カーネルバージョンがWiFiアダプターのドライバーと互換性があるかを確認します。カーネルのバージョンを確認するには、以下のコマンドを使用します。
$ uname -r
6.8.0-45-generic
WiFiアダプターのドライバーが最新のカーネルバージョンに対応していない可能性がある場合、カーネルのダウングレードを検討することも有効です。また、ドライバーの最新バージョンがカーネルに対応していない場合には、ドライバーの古いバージョンに戻すことで解決できることがあります。
ターミナルでトラブルシューティング
問題の原因を特定するために、いくつかのコマンドを利用してトラブルシューティングを行います。dmesg
コマンドを使うと、システムログにUSB WiFiアダプターに関連するエラーメッセージが表示されることがあります。
$ dmesg | grep usb
ここで特定のエラーや警告が表示される場合、それに応じた対処を行うことができます。
USB WiFiアダプターを再設定する手順
ドライバーのインストールやカーネルの確認が終わったら、WiFiアダプターを再設定してみましょう。ネットワークマネージャーが正しく動作しているか、接続先のSSIDやパスワードが正しいかを確認します。問題が解決しない場合は、ターミナルで以下のコマンドを実行してネットワーク設定をリセットすることも有効です。
$ sudo service network-manager restart
重要:GitHubから入手した最新ドライバーが動作しない場合の対処法
今回、特に注目したいのが、GitHubから最新のドライバーを入手してもWiFiアダプターが動作しないというケースです。多くのユーザーは最新バージョンのドライバーが問題を解決すると思いがちですが、実際には最新のソースコードが必ずしも安定しているとは限りません。
筆者も、USB WiFiアダプターのドライバーをGitHubから入手し、最新のソースコードをビルドしてインストールしましたが、うまく動作しませんでした。この問題を解決するために、Ubuntuフォーラム(こちら)を参考にし、過去の安定したバージョンに戻すことが有効であると知りました。
GitHubのリポジトリでは、特定の古いコミットが問題なく動作することが報告されています。例えば、以下の手順で古いバージョンに戻してみましょう。
1. GitHubリポジトリをクローンします。
$ git clone https://github.com/aircrack-ng/rtl8812au.git
2. 過去の安定したコミットに戻します。
$ cd rtl8812au
$ git reset 63cf0b4 --hard
3. ドライバーをビルドしてインストールします。
$ sudo make dkms_install
この手順を実行することで、WiFiアダプターが正常に動作するようになりました。Ubuntuフォーラムで他のユーザーが同じ問題に直面しており、古いコミットに戻すことで解決できた事例も多く報告されています。これが問題解決の鍵となる可能性が高いです。
まとめ:問題解決後も安定した接続を維持するために
Ubuntu 22.04 LTSでUSB WiFiアダプターが動作しなくなった場合の主な原因は、カーネルやドライバーの互換性の問題であることが多いです。
特に、GitHubから入手した最新のソースコードが必ずしも安定しているとは限らないため、古いコミットに戻すことが解決策になることもあります。
この問題に直面した場合、Ubuntuフォーラムや他のユーザーの事例を参考にしながら、適切なバージョンのドライバーを使用することが重要です。
WiFi接続の安定性を維持するために、システムやドライバーのアップデートには慎重に対応し、バックアップやリストアポイントを作成しておくことをお勧めします。
今後も安定したネットワーク接続を維持するために、定期的にドライバーやカーネルのアップデート状況を確認しながら運用していきましょう。