警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : Armadilloで11n 対応のUSB無線LANモジュール(GW-USMicroN)を使う

対象製品: Armadillo-500 FXArmadillo-500Armadillo-440Armadillo-420Armadillo-9Armadillo-240Armadillo-220

802.11n (Draft2.0) 対応の USB 無線 LAN モジュール(GW-USMicroN)を Armadillo で使用する方法を説明します。60 Mbps ほどの転送速度(Armadillo-500 の場合)が必要な場合は、ぜひお試しください。

おおまかな手順は下記のようになります。

  1. Linux カーネルのフレームバッファドライバーの削除とコンパイル
  2. 無線 LAN ドライバーのコンパイル
  3. 無線 LAN ドライバーのインストール
  4. 無線 LAN の設定
  5. 無線 LAN ドライバーの登録
  6. ネットワークの設定

Armadillo-220, Armadillo-240 で利用した環境は以下となります。

Armadillo-420, Armadillo-440 で利用した環境は以下となります。

Armadillo-500 開発ポート で利用した環境は以下となります。

2010年07月01日現在では、Ralink 社の Web サイトからダウンロードできる USB 無線 LAN モジュールドライバーの最新バージョンは v2.4.0.0 となっています。ですが、最新バージョンでは、GW-USMicroN のチップセット用のソースコードが削除されているため使用できません。そのため、この Howto ではバージョン v1.4.0.0 を使用しました。

以降の説明では、USB 無線 LAN モジュールドライバーを無線 LAN ドライバーと表記します。

この Howto で作成したファイルは、Appendix B. ファイルからダウンロードできます。

1. Linux カーネルのフレームバッファドライバーの削除とコンパイル

Armadillo-240 の標準イメージでは、無線 LAN ドライバーが必要とする連続したメモリ領域が不足するため、GW-USMicroN を使用できません。 連続したメモリ領域を多く使用するフレームバッファドライバーを削除することで、GW-USMicroN を使えるようになります。

Armadillo-220, 420, 440, 500 をご使用の場合は、この章の手順は必要ありません。次の「2. 無線 LAN ドライバーのコンパイル」に進んでください。

フレームバッファドライバーを削除した Linux カーネルイメージを作成する方法を以下に示します。

まずは、Armadillo-200 シリーズ ソフトウェアマニュアル8.1.1. ソースコードの準備8.1.2. コンフィグレーションの手順を行います。

次に、make menuconfig を実行します。


[PC ~/atmark-dist/]$ make menuconfig

Main Menu では以下のように選択します。


Main Menu

Kernel/Library/Defaults Selection --->
  --- Kernel is linux-2.6.x
  (default) Cross-dev
  (None) Libc Version
  [ ] Default all settings
  [*] Customize Kernel Settings       ←チェックを入れる
  [ ] Customize Vendor/User Settings
  [ ] Update Default Vendor Settings

Linux Kernel Configuration では以下のように設定します。


Linux Kernel Configuration

Device Drivers  --->
  Graphics support  --->
    < > Support for frame buffer devices           ←チェックを外す

make を実行し、新しい Linux カーネルイメージを作成します。


[PC ~/atmark-dist/]$ make

ソフトウェアマニュアルを参照し、新しい Linux カーネルイメージを Armadillo に書き込んでください。

2. 無線 LAN ドライバーのコンパイル

この章では、無線 LAN ドライバーのソースコードの修正内容とコンパイル方法について説明します。

2.1. 無線 LAN ドライバーの修正

無線 LAN ドライバーのソースコードをダウンロードし、修正します。


[PC ~/]$ wget http://download.atmark-techno.com/sample/11n-wlan-usb-module/2008_0925_RT2870_Linux_STA_v1.4.0.0.tar.bz2
[PC ~/]$ tar jxvf 2008_0925_RT2870_Linux_STA_v1.4.0.0.tar.bz2
[PC ~/]$ cd 2008_0925_RT2870_Linux_STA_v1.4.0.0/

Makefile を以下のように変更します。


#PLATFORM=PC                                          ←コメントアウト

[...]

#PLATFORM = CAVM_OCTEON
PLATFORM = ARMADILLO                                  ←追加

ifeq ($(PLATFORM),ARMADILLO)                          ←追加
LINUX_SRC = /home/atmark/atmark-dist/linux-2.6.x      ←追加
CROSS_COMPILE = /usr/bin/arm-linux-                   ←追加
endif                                                 ←追加

[...]

#       cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko /tftpboot    ←コメントアウト

(*)LINUX_SRC のパスはご使用の環境に合わせて読み替えてください。
(*)Armadillo-420, 440 をお使いの場合はCROSS_COMPILE = /usr/bin/arm-linux-gnueabi- に読み替えてください。

os/linux/config.mk を以下のように変更します。


# move to Makefile outside LINUX_SRC := /opt/star/kernel/linux-2.4.27-star
 
ifeq ($(PLATFORM),ARMADILLO)                          ←追加
EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -O3 ←追加
endif                                                 ←追加

include/rt2870.h に GW-USMicroN の Vendor/Product 情報を追加します。


#define RT2870_USB_DEVICES      \
[...]
    {USB_DEVICE(0x2019,0xED06)}, /* Planex Communications, Inc. */      \
    {USB_DEVICE(0x2019,0xAB25)}, /* Planex Communications, Inc. RT3070 */   \
    {USB_DEVICE(0x2019,0xed14)}, /* Planex GW-USMicroN */                   \  ←追加

上記の変更のパッチをダウンロードできます。

2.2. 無線 LAN ドライバーのデバッグメッセージの抑制

Armadillo-220, 240 をご使用の場合は、ネットワークインターフェースを有効にした時に、ドライバーのデバッグメッセージ("#"の文字)がコンソールに非常に多く出力されます。 このため、デバッグメッセージを抑制するためのソースコードの変更が必要です。

Armadillo-420, 440, 500 をご使用の場合は、この章の手順は必要ありません。

include/rt2870.h の以下の行を変更します。この変更はデバッグメッセージを抑制するための変更で、デバッグメッセージが出力されないことを保証するものではありません。


#define CONTROL_TIMEOUT_JIFFIES ( (100 * HZ) / 1000 * 2)    ←変更

上記の変更のパッチをダウンロードできます。

2.3. 無線 LAN ドライバーのコンパイル

make を実行し、無線 LAN ドライバーを作成します。


[PC ~/]$ make

3. 無線 LAN ドライバーのインストール

コンパイル済みの無線 LAN ドライバー(os/linux/rt2870sta.ko)と設定ファイルテンプレート(RT2870STA.dat)を Armadillo の以下のディレクトリに配置します。

ホスト上のファイル Armadillo 上のディレクトリ
os/linux/rt2870sta.ko /lib/module/[kernel_verion]/net/
RT2870STA.dat /etc/Wireless/RT2870STA/

[kernel_version] には Linux カーネルのバージョンを入れてください。Linux カーネルのバージョンは "uname -r" コマンドで確認できます。

コンパイル済みの無線 LAN ドライバーと設定ファイルテンプレートは Appendix B.2. コンパイル済み無線 LAN ドライバー、設定ファイルテンプレートからダウンロードできます。

4. 無線 LAN の設定

この章からは、Armadillo 上での作業になります。

/etc/Wireless/RT2870STA/RT2870STA.dat を無線 LAN ネットワーク環境に合わせて設定します。WPA-PSK を利用する場合の設定例は以下の通りです。


SSID=my-essid
AuthMode=WPAPSK
EncrypType=AES
WPAPSK=my-preshared-key

RT2870STA.dat の設定項目の詳細については、README_STA をご参照ください。

5. 無線 LAN ドライバーの登録

無線 LAN ドライバーを Linux カーネルに登録します。


[armadillo ~]# insmod /lib/modules/$(uname -r)/net/rt2870sta.ko
Using rt2870sta.ko                                                              
rtusb init --->                                                                 
usbcore: registered new interface driver rt2870                                 
[armadillo ~]# usb 1-1: new high speed USB device using fsl-ehci and address 2                                      
usb 1-1: configuration #1 chosen from 1 choice
[...]

6. ネットワークの設定

GW-USMicroN のネットワークインターフェースを有効にします。


[armadillo ~]# ifconfig ra0 up

以降は、通常のネットワークデバイスと同様に IP アドレスの設定などを行います。また、iwconfig や iwscan コマンドを利用して無線 LAN 接続の状態確認や管理ができます。

以上で、Armadillo で GW-USMicroN を使う手順は終了です。

Appendix A. スループット

NPtcp を使用して転送速度を測定したところ、結果は以下のようになりました。 測定には、無線 LAN 接続の環境として1メートル程度離れている 802.11n 対応アクセスポイント(BUFFALO エアステーション エヌフィニティ Giga[WZR-AGL300NH])を使用しました。

ポート 受信最大転送速度 送信最大転送速度
Armadillo-220 USB Full-Speed 約 3.69 Mbps 約 3.70 Mbps
Armadillo-240 USB Full-Speed 約 3.70 Mbps 約 3.71 Mbps
Armadillo-420 USB Hi-Speed 約 37.2 Mbps 約 37.05 Mbps
Armadillo-420 USB Full-Speed 約 5.79 Mbps 約 5.80 Mbps
Armadillo-440 USB Hi-Speed 約 38.04 Mbps 約 37.04 Mbps
Armadillo-440 USB Full-Speed 約 5.75 Mbps 約 5.72 Mbps
Armadillo-500 USB Hi-Speed 約 58.63 Mbps 約 59.23 Mbps
Armadillo-500 USB Full-Speed 約 5.54 Mbps 約 5.54 Mbps

Appendix B. ファイル

Appendix B.1. Linux カーネルイメージ、ユーザーランドイメージ

この Howto の内容を簡単に試すことができるように、3. 無線 LAN ドライバーのインストールまでの手順で作成したファイルを含んだイメージを作成しました。作成した Linux カーネルイメージとユーザーランドイメージは以下からダウンロードできます。

以下のイメージを使用する場合は、4. 無線 LAN の設定からの手順を行います。

Armadillo-220

Armadillo-240

Armadillo-420, Armadillo-440

Armadillo-500

ユーザランドには以下のファイルが組み込まれています。

  • RT2870STA.dat (/etc/Wireless/RT2870STAに配置)
  • rt2870sta.ko (/lib/modules/[kernel_version]/netに配置)

Appendix B.2. コンパイル済み無線 LAN ドライバー、設定ファイルテンプレート

コンパイル済みの無線 LAN ドライバー、設定ファイルテンプレートは以下からダウンロードできます。

  • Armadillo-220、Armadillo-240 無線 LAN ドライバー :rt2870sta.ko
  • Armadillo-420、Armadillo-440 無線 LAN ドライバー :rt2870sta.ko
  • Armadillo-500 無線 LAN ドライバー :rt2870sta.ko
  • 設定ファイルテンプレート :RT2870STA.dat