ブログ

Armadillo-X1:無線LANを2系統にしてみる

at_kazutaka.bito
2020年9月29日 17時20分

Armadillo-X1のWLANコンボ搭載モデルは無線LANモジュールが搭載されています。
ここでは、USBドングルの無線LAN(WI-U2-433DHP/WI-U2-433DMS)を追加して、2系統にしてみました。

下記の手順2までは、ATDE上で実施します。

手順2までの説明にて、カーネルのソースコードのディレクトリは、
ホームディレクトリ(~/)に展開されていることを前提として、下記のように表記しています。

~/linux-4.9-x1-at[version]

上記のように記載されている箇所は、カーネルのソースコードを置いているディレクトリと、
使用しているバージョン番号に応じて読み替えてください。

1. loadable moduleを有効にしたカーネルへ書き換え

カーネルコンフィギュレーションを設定するため、コンフィグ画面を開きます。

atmark@atde7:~/linux-4.9-x1-at[version]$  make ARCH=arm menuconfig

下記のようにloadable moduleを有効([*]が付いた状態)にします。

Kernel Configuration
 [*] Enable loadable module support

上記設定後、カーネルをビルドします。

2. USBドングルの無線LANのドライバの準備

無線LAN(WI-U2-433DHP/WI-U2-433DMS)を動かすためのドライバのソースコードをダウンロードします。

atmark@atde7:~$ git clone https://github.com/gnab/rtl8812au.git

ドライバをビルドします。

atmark@atde7:~$ cd rtl8812au
atmark@atde7:~/rtl8812au$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KSRC=~/linux-4.9-x1-at[version]

補足)"KSRC"は、カーネルのソースコードのディレクトリを指定します。
ここでは、例として、上述のカーネルのソースコードの場所(~/linux-4.9-x1-at[version])を指定しています。

ビルドにより、無線LANのドライバ(8812au.ko)が生成されます。

以下の手順3以降は、Armadillo-X1上で実施します。

3. カーネルの書き換え

手順1で生成されたカーネルイメージ(uImage)で、Armadillo-X1のカーネルを書き換えます。

手順4のために、インターネットに接続可能なネットワークにArmadillo-X1を接続して、再起動します。

4. 必要なパッケージのインストール

必要なパッケージをインストール(※)します。
※)インストール済みの場合はアップデートになります。

root@armadillo:~# apt-get update
root@armadillo:~# apt-get install wpasupplicant
root@armadillo:~# apt-get install wireless-tools usbutils


5. udevの設定

無線LAN(WI-U2-433DHP/WI-U2-433DMS)を認識した際に、wlan1という名前にするようにします。
備考)
Armadillo-X1のWLANコンボ搭載モデルは、搭載されているWLANモジュールの無線LANの名前がwlan0になります。

udevルールのファイル
/etc/udev/rules.d/70-persistent-net.rules
を下記の内容で作成します。

補足)ファイルの内容は、WI-U2-433DHP、WI-U2-433DMSで異なります。

WI-U2-433DHPの場合

SUBSYSTEM=="net",ACTION=="add",ATTRS{idVendor}=="0411", ATTRS{idProduct}=="029b",NAME="wlan0"


WI-U2-433DMSの場合

SUBSYSTEM=="net",ACTION=="add",ATTRS{idVendor}=="0411", ATTRS{idProduct}=="0242",NAME="wlan0"


上記設定を有効にするために、udevルールをリロードします。

root@armadillo:~# udevadm control --reload-rules


6. 無線LANのコネクションの設定

ここでは、例として、下記のように設定してみます。
 Armadillo-X1のWLANコンボ(wlan0):アクセスポイント
 USBドングルの無線LAN(wlan1):ステーション

6.1. Armadillo-X1のWLANコンボ(wlan0)をアクセスポイントに設定
下記を参考に設定します。
Armadillo-X1製品マニュアル
21.4. AR9462モジュールを使った無線LANアクセスポイントの構築例


6.2. USBドングルの無線LAN(wlan1)をステーションに設定
ここでは、例として、下記のような対向のアクセスポイントを想定して設定します。

SSID:testid
パスフレーズ:testpass
暗号化方式:WPA-PSK(AES)


上記に応じてwlan1の設定を行います。

root@armadillo:~# nmcli connection add type wifi ifname wlan1 ssid testid
root@armadillo:~# nmcli connection modify wifi-wlan1 802-11-wireless.mode infrastructure
root@armadillo:~# nmcli connection modify wifi-wlan1 802-11-wireless-security.key-mgmt wpa-psk 802-11-wireless-security.psk testpass


以上で準備は終了です。

手順5で、udevに設定した無線LAN(WI-U2-433DHP/WI-U2-433DMS)をArmadillo-X1のUSBに接続して、再起動します。

7. 無線LANのドライバ(8812au.ko)のインストール

手順2で生成された無線LANのドライバ(8812au.ko)をArmadillo-X1に置きます。
下記コマンドでインストールします。

root@armadillo:~# insmod 8812au.ko


8. USBドングルの無線LANをアクセスポイントに接続

手順6.2で設定したUSBドングルの無線LAN(ステーション)をアクセスポイントに接続するには下記コマンドを実行します。

root@armadillo:~# nmcli connection up wifi-wlan1