WiFi
 Computer >> コンピューター >  >> ネットワーキング >> WiFi

AML-S905X-CC(Le Potato)でWi-Fiアダプタードライバーをインストールする方法【Ubuntu対応ステップバイステップガイド】

開発者の方なら、Raspberry Pi(ラズベリーパイ)についてはご存じかもしれません。しかし、Libre Computer社の「AML-S905X-CC」、通称「Le Potato(ル・ポテト)」というボードを知っている人はまだ多くありません。

パンデミック期の半導体不足により、Raspberry Piの価格は高騰しました。その他の世界的な出来事も価格上昇に拍車をかけ、一部のモデルでは製造自体が停止されたこともあります。

こうした背景から、私が取り組もうとしていたプロジェクトでは、Raspberry Piの代替となるボードを選ぶのが良い判断だと考えました。

Le Potatoは、見た目や構成などがRaspberry Piとよく似ており、UbuntuやDebian、Raspbian、Androidなど、さまざまなOSを動かせる柔軟性も備えています。

ただし、残念ながらLe PotatoにはWi-Fiモジュールが内蔵されていません。Raspberry Piの多くのモデルがWi-Fiを標準搭載しているのとは対照的です。

この記事では、Ubuntu OSを動かしているLe Potatoに外部Wi-Fiアダプターのドライバーをインストールする手順を、わかりやすいステップバイステップ形式で解説します。他のOSをお使いの場合も同じ手順を試せますが、確実に動作するとは保証できませんのでご了承ください。

まずは、今回使用した機材を簡単にご紹介します。

使用したLe Potato本体

AML-S905X-CC(Le Potato)でWi-Fiアダプタードライバーをインストールする方法【Ubuntu対応ステップバイステップガイド】
Le Potatoデバイス

使用したZebronics製 外付けWi-Fiアダプター

AML-S905X-CC(Le Potato)でWi-Fiアダプタードライバーをインストールする方法【Ubuntu対応ステップバイステップガイド】
Zebronics External Wifi Adapter

試行錯誤の記録 ― うまくいかなかった方法

最終的な解決策にたどり着き、Wi-Fiドライバーのインストールに成功してインターネットに接続できるようになるまで、私は多くのアプローチを試しました。しかし、どれもうまくいきませんでした。

試した内容は以下のとおりです。

  1. Wi-Fiアダプター付属のCDに収録されていたドライバーをインストールしようとしたが、手順がわかりにくく、結局大量のエラーに悩まされた。
  2. Zebronics公式サイトからこのデバイス専用のドライバーをダウンロードして試したが、これも失敗に終わった。
  3. GitHub上で有志がRealtekのソースからフォークしたオープンソースドライバーをいくつか試したが、こちらも期待どおりには動作しなかった。

最終的に、UbuntuのQ&Aフォーラムで答えを見つけ、一度でインストールに成功しました。当初は手順がやや不明瞭でしたが、何とか解読することができたので、ここで詳しく説明します。

UbuntuでLe Potato用Wi-Fiアダプタードライバーをインストールする手順

以下の手順に従って、お使いのデバイスにドライバーをインストールしてください。

1. 必要な依存パッケージをインストールする

最初のステップは、必要なソフトウェアのインストールです。

システムアーキテクチャに合わせて、gitdkmsbuild-essentiallinux-headersをインストールする必要があります。

これらはすべて、次の1つのコマンドでまとめてインストールできます。

sudo apt-get install -y build-essential git dkms linux-headers-$(uname -r)

コマンド実行中に「yes/no」の確認を求められたら、yを入力してください(システムへのソフトウェアインストールに同意する操作です)。

2. ドライバーのソースコードをダウンロードする

一部のデバイスのドライバーは、インストール可能なパッケージや実行ファイルの形式では提供されていません。その場合、ソースコードを直接ダウンロードしてマシン上でコンパイルし、インストールする必要があります。残念ながら、このドライバーもそのケースに該当します。

このドライバーのソースはGitHubから入手できます。ターミナルで次のコマンドを実行してソースコードをダウンロードしましょう。

git clone https://github.com/kelebek333/rtl8188fu

3. ドライバーをビルドしてインストールする

ビルドとインストールの前に、Linuxのdkmsコマンドについて知っておきましょう。すでにご存じの方は、この段落を読み飛ばして次へ進んでいただいて構いません。

DKMSは「Dynamic Kernel Module Support(動的カーネルモジュールサポート)」の略で、カーネルモジュールの補助バージョンをインストールできるようにするプログラム/フレームワークです。パッケージをコンパイルしてカーネルツリーに組み込むことができます。DKMSは新しいUbuntuカーネルイメージパッケージのインストール時に自動的に呼び出されるため、DKMSに登録されたモジュールは、カーネル更新後も自動的に引き継がれます。

前のステップでダウンロードしたのは、まさにこのDKMS向けのソースパッケージです。これをカーネルツリーに追加し、コンパイルしてインストールしていきます。

以下のコマンドを順番に実行して、ドライバーパッケージの追加・コンパイル・インストールを行います。

ソースをカーネルに追加する

sudo dkms add ./rtl8188fu

ソースパッケージをコンパイルする

sudo dkms build rtl8188fu/1.0

パッケージをカーネルツリーにインストールする

sudo dkms install rtl8188fu/1.0

ファームウェアをコピーする

続けて、コンパイル済みのバイナリファームウェアファイルを、Linuxのデフォルトのファームウェア配置場所である/lib/firmwareにコピーします。

ファームウェアとは、ハードウェアとソフトウェアの間の通信を可能にするソフトウェアのことです。ハードウェアが正しく機能するための指示をマシンに与えます。

次のコマンドで、コンパイル済みのファームウェアをコピーします。

sudo cp ./rtl8188fu/firmware/rtl8188fufw.bin /lib/firmware/rtlwifi/

4. カーネルの省電力モードとオートサスペンドを無効化する

Wi-Fiドライバーにおいては、省電力モードとオートサスペンド(自動一時停止)を無効化しておくのが定石です。そのため、カーネル更新後にもこの設定がデフォルトで適用されるようにしておく必要があります。この設定は、/etc/modprobe.d/ディレクトリ内の.confファイルに記述できます。

このconfファイルを/etc/modprobe.dディレクトリに作成するのは、カスタマイズしたモジュール設定を永続的な変更として読み込ませる必要があるからです。

省電力モードの制御にはrtw_power_mgntフラグを使用します。

  • 0 ― 省電力モードを無効化
  • 1 ― minPSによる省電力モードを有効化
  • 2 ― maxPSによる省電力モードを有効化

オートサスペンドの制御にはrtw_enusbssフラグを使用します。

  • 0 ― オートサスペンドを無効化
  • 1 ― オートサスペンドを有効化

次のコマンドを実行して、.confファイルを作成し、オプションを保存します。

sudo mkdir -p /etc/modprobe.d/
sudo touch /etc/modprobe.d/rtl8188fu.conf
echo "options rtl8188fu rtw_power_mgnt=0 rtw_enusbss=0" | sudo tee /etc/modprobe.d/rtl8188fu.conf

5. 既存のモジュールをブラックリストに登録する

以前にインストールを試みたモジュールがある場合は、それをブラックリストに登録する必要があります。

注意:モジュールをブラックリストに登録すると、そのモジュールは自動的にロードされなくなります。ただし、ブラックリスト外の別のモジュールが依存している場合や、手動でロードされた場合には、読み込まれる可能性があります。

たとえばrtl8188auという名前のモジュールを追加していた場合は、/etc/modprobe.d/blacklist.confファイルの末尾に次の行を追記してブラックリストに登録します。

blacklist rtl8188au

そのようなモジュールを追加していない場合は、このブラックリストの作業は不要です。

6. モジュールを再読み込みする

ドライバーを実際に動かし始めるために、モジュールを再読み込みする必要があります。

先ほど追加したモジュールを再読み込みするコマンドは次のとおりです。

sudo modprobe -rv rtl8188fu && sudo modprobe -v rtl8188fu

これで完了です!Ubuntu OSを動かしているLe Potatoで、Wi-Fiが有効になっているはずです。表示されない場合は、システムを再起動すれば問題なく動作するでしょう。

AML-S905X-CC(Le Potato)でWi-Fiアダプタードライバーをインストールする方法【Ubuntu対応ステップバイステップガイド】
ドライバーインストール後、ネットワークへの接続を試みているところ

AML-S905X-CC(Le Potato)でWi-Fiアダプタードライバーをインストールする方法【Ubuntu対応ステップバイステップガイド】
Wi-Fiネットワークへの接続に成功したところ

まとめ

この記事では、外付けWi-Fiアダプター用ドライバーのインストール手順を解説しました。

ここで紹介したのは、外部モジュールをカーネルに追加する際に必要となる基本的な手順そのものです。他のデバイスモジュールを導入する際にも、同じ流れが応用できるはずです。

役立つ技術記事をメールでお届けするニュースレターの購読も、ぜひご検討ください。

  1. ワイヤレス(WiFi)ネットワークを正しく作成・設定する方法

    ワイヤレスネットワークは、LANケーブルを接続することなく、自宅のどこからでもインターネットにアクセスできる環境を実現します。複数のパソコンやデバイスが同時にネットワークへ接続できるため、家庭用ネットワークとして最適なソリューションといえます。自宅でワイヤレスネットワークを作成・設定するには、いくつかの準備が必要です。ブロードバンド回線、モデム、そしてワイヤレスネットワークアダプターが必要ですが、最近のパソコンの多くはアダプターを標準搭載しています。この記事では、誰でも簡単に実践できるワイヤレスネットワークの作成と設定の手順を、わかりやすく解説していきます。ルーターの設定画面にアクセスするワイ

  2. WiFiハッキング入門 – Aircrack-NGを使って無線ネットワークの脆弱性を診断し、防御力を高める方法

    WiFiが存在しない世界を想像してみてください。私たちは今でも、長いイーサネットケーブルをつないでインターネットに接続することになっていたはずです。WiFiが私たちの生活をどれだけ便利にしてくれたかは、議論の余地もありません。カフェでも、地下鉄の駅でも、ほぼどこへ行ってもインターネットに接続できる時代になりました。しかし一方で、WiFiは有線のイーサネットに比べて脆弱なネットワークでもあります。適切なセキュリティ対策が施されていない場合、Wiresharkのようなツールを使えば、中間者攻撃(Man-in-the-Middle攻撃)は簡単に行えてしまいます。例えば、スターバックスのWiFiに接続