ブログ

Armadillo-420でWLI-UC-GNMを使ってアクセスポイントに接続する

at_takuya.sasaki
2015年8月11日 12時25分

Armadillo-420の動作確認済デバイスに掲載されているUSB無線LANアダプタ [ BUFFARO WLI-UC-GNM]を使ってアクセスポイントに接続するまでの手順を一通り試してみました。

動作確認済みデバイス : USB無線LANアダプタ WLI-UC-GNM

1. ATDE3をダウンロード

Armadillo-420の開発環境であるATDE3を以下からダウンロードします。
https://armadillo.atmark-techno.com/files/downloads/atde/atde3-20120709.zip

ATDE3のインストールや起動方法は以下を参照してください。
第2章 Windows上にATDEを構築する

2. ソースコードのダウンロードと展開

2.1 ATDE3上でArmadillo-420のソースコードをダウンロードします。
atmark@atde3:~$ wget http://armadillo.atmark-techno.com/files/downloads/armadillo-420/source/dist/atmark-dist-20150727.tar.gz
atmark@atde3:~$ wget http://armadillo.atmark-techno.com/files/downloads/armadillo-420/source/kernel/linux-2.6.26-at25.tar.gz
2.2 ソースコードを展開します。
atmark@atde3:~$ tar zxf atmark-dist-20150727.tar.gz 
atmark@atde3:~$ tar zxf linux-2.6.26-at25.tar.gz 
atmark@atde3:~$ ln -s atmark-dist-20150727 atmark-dist
atmark@atde3:~$ cd atmark-dist
atmark@atde3:~/atmark-dist$ ln -s ../linux-2.6.26-at25 ./linux-2.6.x

3. カーネル/ユーザーランドのビルド

3.1 make menuconfigでvendor/Productを指定します
atmark@atde3:~/atmark-dist$ make menuconfig
 
Main Menu
Vendor/Product Selection  --->
 (AtmarkTechno) Vendor
(Armadillo-420) AtmarkTechno Products 
3.2 ビルドします。
atmark@atde3:~/atmark-dist$ make

4. ドライバのビルド

4.1 以下のサイトから[RT8070/ RT3070/ RT3370/ RT3572/ RT5370/ RT5372/ RT5572 USB USB]の[Linux v2.6.1.3]のドライバのソースコードをダウンロードします。

(ダウンロードにはメールアドレスの登録が必要です)

http://www.mediatek.com/en/downloads1/downloads/

4.2 ATDE3の/home/atmark配下にダウンロードしたドライバソースをコピーします。
atmark@atde3:~/atmark-dist$ cd
atmark@atde3:~$ ls DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2 
DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2
4.3 ドライバソースを展開します。
atmark@atde3:~$ tar jxf DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2 
4.4 ドライバに対するパッチをダウンロードします。
atmark@atde3:~$ wget http://download.atmark-techno.com/misc/DPO_RT5572_LinuxSTA_2.6.1.3_20121022-armadillo_20140905.diff
4.5 パッチを適用します。
atmark@atde3:~$ cd DPO_RT5572_LinuxSTA_2.6.1.3_20121022/
atmark@atde3:~/DPO_RT5572_LinuxSTA_2.6.1.3_20121022$ patch -p 1 < ../DPO_RT5572_LinuxSTA_2.6.1.3_20121022-armadillo_20140905.diff 
patching file Makefile
patching file RT2870STA.dat
patching file common/rtusb_dev_id.c
patching file os/linux/config.mk
patching file sta/sta_cfg.c
4.6 ビルドします。
atmark@atde3:~/DPO_RT5572_LinuxSTA_2.6.1.3_20121022$ make
4.7 ドライバモジュールと設定ファイルがビルド済のatmark-dist/romfs配下にコピーされていることを確認します。
atmark@atde3:~/DPO_RT5572_LinuxSTA_2.6.1.3_20121022$ cd ~/atmark-dist
atmark@atde3:~/atmark-dist$ ls romfs/lib/modules/rt5572sta.ko 
romfs/lib/modules/rt5572sta.ko
atmark@atde3:~/atmark-dist$ ls romfs/etc/Wireless/RT2870STA/RT2870STA.dat 
romfs/etc/Wireless/RT2870STA/RT2870STA.dat

5. 設定ファイルを /etc/config配下に配置するように変更

このままだと設定ファイルを書き換えるたびにイメージファイルを再作成する必要があるので、設定ファイルを /etc/config配下に配置するように変更します。

5.1 設定ファイルを /etc/default配下にコピー
atmark@atde3:~/atmark-dist$ cp romfs/etc/Wireless/RT2870STA/RT2870STA.dat romfs/etc/default/
5.2 設定ファイルをシンボリックリンクに変更
atmark@atde3:~/atmark-dist$ rm -f romfs/etc/Wireless/RT2870STA/RT2870STA.dat 
atmark@atde3:~/atmark-dist$ ln -s /etc/config/RT2870STA.dat romfs/etc/Wireless/RT2870STA/RT2870STA.dat
5.3 イメージを再作成
atmark@atde3:~/atmark-dist$ make image
5.4 再作成したユーザーランド/カーネルのイメージを以下の手順を参考に書き換えます。

第6章 フラッシュメモリの書き換え方法

6. Armadilloを起動して設定を変更

6.1 USB無線LANアダプタ(WLI-UC-GNM)をUSBホストに装着しArmadilloを起動後、 root/rootでログインします。
6.2 設定ファイルを /etc/config に配置します。
[root@armadillo420-0 (ttymxc1) ~]# flatfsd -w

7. 子機としてUSB無線LANで接続

7.1 設定ファイルを変更します
[root@armadillo420-0 (ttymxc1) ~]# vi /etc/config/RT2870STA.dat
 
SSID=xxxx
AuthMode=xxx
EncrypType=xxx
WPAPSK=xxxx
7.2 アクセスポイントからDHCPでIPアドレスを取得するように変更します。
[root@armadillo420-0 (ttymxc1) ~]# vi /etc/config/interfaces
 
末尾に以下の行を追加
iface ra0 inet dhcp
7.3 変更内容をフラッシュメモリに保存します。
[root@armadillo420-0 (ttymxc1) ~]# flatfsd -s
flatfsd: saving fs to partition 0, tstamp=1
flatfsd: Wrote 4315 bytes to flash in 0 seconds
7.4 ドライバモジュールを登録します。
[root@armadillo420-0 (ttymxc1) ~]# insmod /lib/modules/rt5572sta.ko
Using /lib/modules/rt5572sta.ko
rtusb init rt2870 --->
usbcore: registered new interface driver rt2870
7.5 USB無線LANアダプタを有効にします。
[root@armadillo420-0 (ttymxc1) ~]# ifconfig ra0 up
0x1300 = 00064300
7.5 IPアドレスをDHCPで取得します
[root@armadillo420-0 (ttymxc1) ~]# ifup ra0
udhcpc (v0.9.9-pre) started
Sending discover...
Sending discover...
Sending discover...
Sending select for 192.168.0.6...
Lease of 192.168.0.6 obtained, lease time 3600
7.6 試しにGoogleにpingしてみます。
[root@armadillo420-0 (ttymxc1) ~]# ping -c 4 google.com
PING google.com (173.194.117.169): 56 data bytes
64 bytes from 173.194.117.169: icmp_seq=0 ttl=54 time=34.3 ms
64 bytes from 173.194.117.169: icmp_seq=1 ttl=54 time=25.5 ms
64 bytes from 173.194.117.169: icmp_seq=2 ttl=54 time=54.0 ms
64 bytes from 173.194.117.169: icmp_seq=3 ttl=54 time=33.7 ms
 
--- google.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 25.5/36.8/54.0 ms

以上