Armadillo-640で、USBドングルの5GHz対応無線LAN(WI-U2-433DHP、WI-U2-433DMS)を使う方法です。
下記の手順2までは、ATDE上で実施します。
手順2までの説明にて、カーネルのソースコードのディレクトリは、
ホームディレクトリ(~/)に展開されていることを前提として、下記のように表記しています。
~/linux-v4.14-at[version]
上記のように記載されている箇所は、カーネルのソースコードを置いているディレクトリと、
使用しているバージョン番号に応じて読み替えてください。
1. loadable moduleを有効にしたカーネルへ書き換え
カーネルコンフィギュレーションを設定するため、コンフィグ画面を開きます。
atmark@atde7:~/linux-v4.14-at[version]$ make ARCH=arm menuconfig
下記のようにloadable moduleを有効([*]が付いた状態)にします。
Kernel Configuration
[*] Enable loadable module support
上記設定後、カーネルをビルドします。
2. 無線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-v4.14-at[version]
補足)"KSRC"は、カーネルのソースコードのディレクトリを指定します。
ここでは、例として、上述のカーネルのソースコードの場所(~/linux-v4.14-at[version])を指定しています。
ビルドにより、無線LANのドライバ(8812au.ko)が生成されます。
以下の手順3以降は、Armadillo-640上で実施します。
3. カーネルの書き換え
手順1で生成されたカーネルイメージ(uImage)で、Armadillo-640のカーネルを書き換えます。
手順4のために、インターネットに接続可能なネットワークにArmadillo-640を接続して、再起動します。
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)を認識した際に、wlan0という名前にするようにします。
udevルールのファイル
/etc/udev/rules.d/70-persistent-net.rules
を下記の内容で作成します。
補足)ファイルの内容は、WI-U2-433DHP、WI-U2-433DMSで異なります。
WI-U2-433DHPの場合
/etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net",ACTION=="add",ATTRS{idVendor}=="0411", ATTRS{idProduct}=="029b",NAME="wlan0"
WI-U2-433DMSの場合
/etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net",ACTION=="add",ATTRS{idVendor}=="0411", ATTRS{idProduct}=="0242",NAME="wlan0"
上記設定を有効にするために、udevルールをリロードします。
root@armadillo:~# udevadm control --reload-rules
以下、対向のアクセスポイントのSSIDとパスフレーズ、暗号化方式に応じた設定になります。
ここでは、例として、下記のように設定します。
SSID:testid
パスフレーズ:testpass
暗号化方式:WPA-PSK(AES)
6. wpa_supplicantの設定
wpa_supplicantのコンフィギュレーションを作成します。
root@armadillo:~# wpa_passphrase testid testpass > /etc/wpa_supplicant/wpa_supplicant.conf
上記コマンドを実行すると、下記の内容でコンフィギュレーションが生成されます。
(下記表記では、pskは伏字にしてます)
/etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="testid"
#psk="testpass"
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
ここでの例として、WPA-PSK(AES)の場合は、上記のwpa_supplicant.confを下記のように編集します。
/etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="testid"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
#psk="testpass"
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
7. ネットワークの設定
/etc/network/interfacesに下記のように無線LANの設定を追加します。
補足)下記では、IPアドレスは、アクセスポイントのDHCPサーバーから取得するようにdhcpに設定しています。
iface wlan0 inet dhcp
wpa-ssid testid
wpa-psk testpass
以上で準備は終了です。
手順5で、udevに設定した無線LAN(WI-U2-433DHP、WI-U2-433DMS)をArmadillo-640のUSBに接続して、再起動します。
8. 無線LANのドライバ(8812au.ko)のインストール
手順2で生成された無線LANのドライバ(8812au.ko)をArmadillo-640に置きます。
下記コマンドでインストールします。
root@armadillo:~# insmod 8812au.ko
9. アクセスポイントに接続
下記コマンドで、手順6,7で設定したアクセスポイントに接続します。
root@armadillo:~# ifup wlan0