第5章 準備

本章では、AWL13が無線LANのインフラストラクチャモード(STA)の機能を使えるようになるまでの準備について説明します。

前章で紹介したように、AWL13 は、3つの異なる方法で接続することができます。どの接続方法であっても、AWL13上でファームウェアを実行するまで、AWL13 は無線LAN通信を行なうことができません。この章では、AWL13に電源を入れ、ファームウェアがロードされた状態まで準備を進めます。

AWL13をアクセスポイントに接続するためには、アクセスポイントの設定を確認しておく必要があります。アクセスポイントの設定を調べ、表5.1「アクセスポイントの設定」に記入してください。

表5.1 アクセスポイントの設定

設定項目設定値
SSID 
チャンネル 
暗号化方式[a] 
暗号化キー[b] 

[a] WEP、WPA-PSK、WPA2-PSKなどの暗号化方式を確認してください。

[b] 暗号化方式がWEPの場合はWEPキー、暗号化方式がWPA-PSKまたはWPA2-PSKの場合はパスフレーズを確認してください。


また、無線LANアクセスポイントに接続したAWL13が、正しく接続されているかを確認するために、動作確認用PCの設定を確認しておく必要があります。動作確認用PCのIPアドレスを調べ表5.2「動作確認用PCの設定」に記入してください。

表5.2 動作確認用PCの設定

設定項目設定値
IPアドレス 

この章では、接続方法毎に異なるホストシステムとAWL13の組み合わせを利用してます。他の組み合わせを利用する場合は、適宜読み替えてください。

表5.3 接続方法とホストの組み合わせ

接続方法想定されるホスト側本書の例で使用する機器
USBPC, ArmadilloPC と Armadillo-WLAN評価ボード
SDIOPC, Armadillo, マイコンPC と Armadillo-WLANモジュール
UART(シリアル)PC, Armadillo, マイコンATDE と Armadillo-WLAN評価ボード

各章は、接続方法によって若干手順に違いがありますが、以下のような構成になっています。

  1. 接続図

  2. 必要なものの確認

  3. ホスト側の準備

  4. 起動モードの選択

  5. 接続

  6. 電源を入れる

  7. ファームウェアの書き込み

まず、ホストシステムとAWL13の物理的な接続を理解頂くために、接続図を確認してください。また、物理的な接続に必要な部材と、ファームウェアやデバイスドライバーなどソフトウェアも必要になります。

次に、ホストシステムの準備を行ないます。ホストシステム上でのコマンド入力や、ソフトウェアの設定などが必要になります。

さらに、接続方法によっては起動モードを選択し、ホストシステムとAWL13を接続し、電源の投入を行ないます。

最後にファームウェアをロードし、AWL13で無線LAN通信を行えるまでの準備が完了します。

それでは、選択した接続方法の章に移動してください。

5.1. UART(シリアル)で接続する

AWL13評価ボード接続図 (UART接続時)

図5.1 AWL13評価ボード接続図 (UART接続時)


5.1.1. 必要なもの

  • UART(シリアル)通信ポートを持った機器

  • シリアルクロスケーブル

  • AWL13 本体

  • UARTモード用ファームウェア

  • AWL13 用電源 (AC アダプタなど)

5.1.2. ホスト側の準備

UART(シリアル)通信ポートがあれば、どんなものでも接続できます。ホスト側のシリアル通信ソフトウェアは、以下のように設定してください。

表5.4 シリアル通信設定

項目設定
ボーレート115,200 bps
データ幅8bit
パリティなし
ストップビット1bit
フロー制御なし
改行コード受信=CR(0x0d)、送信=CR(0x0d)

5.1.3. 起動モードの選択

UARTモードで使用する場合、AWL13 を動作させる前に、「起動モード」を選択する必要があります。起動モードは、AWL13が無線LANとして動作するためのファームウェアのロード場所、および実行方法を決定します。モードの選択は、特定のピンの状態によって選択できます。利用形態に合わせて、以下のどちらかの起動モードを選択してください。

UART起動モード

起動直後に、ホストからファームウェアを受け取るモードです。受け取ったファームウェアを実行し無線LANの機能を実現します。また、受け取ったファームウェアを、モジュール上のフラッシュメモリに書き込むことができます。AWL13のブートローダーは、ファームウェアを受け取るために、コマンド待ち状態となります。

起動する度にファームウェアをダウンロードする必要がありますが、AWL13にフラッシュメモリを接続する必要がありません。ホストに十分なストレージ容量がある場合は、システム全体をシンプルにすることができます。

フラッシュ起動モード

AWL13は、フラッシュメモリからファームウェアをロードし、自動的にロードしたファームウェアを実行します。

UART起動モードを使って、一度フラッシュメモリにファームウェアを書き込んでしまえば、このモードを選択することで、AWL13が起動時に自動的にフラッシュメモリからファームウェアをロードし、実行します。そのため、ホスト側の初期化処理を簡略化できます。フラッシュメモリへの書き込み方法は、後述します。

さらにフラッシュ起動モードでは、フラッシュメモリを二分割し、それぞれ別々のファームウェアを格納することができます。フラッシュメモリの前半を「領域0」、後半を「領域1」と呼びます。DIPスイッチの4番ピン(SW1-4)で、フラッシュ起動モード時に、どちらの領域からファームウェアをロードするか選択することができます。UART起動モードでは、このピンは意味を持ちません。

UART起動モードの設定を表5.5「UART起動モード選択時のDIPスイッチ(SW1)とジャンパー(JP1, JP2)」に、フラッシュ起動モードの設定を表5.6「フラッシュ起動モード選択時のDIPスイッチ(SW1)とジャンパー(JP1, JP2)」に示します。

表5.5 UART起動モード選択時のDIPスイッチ(SW1)とジャンパー(JP1, JP2)

起動モードSW1-1SW1-2SW1-3SW1-4JP1JP2
UART起動モードONONOFFDO NOT CAREショートショート

表5.6 フラッシュ起動モード選択時のDIPスイッチ(SW1)とジャンパー(JP1, JP2)

起動モードSW1-1SW1-2SW1-3SW1-4JP1JP2
フラッシュ起動モード (領域0)ONOFFOFFOFFショートショート
フラッシュ起動モード (領域1)ONOFFOFFONショートショート

5.1.4. 接続

AWL13とArmadillo-WLAN評価ボードを接続し、Armadillo-WLAN評価ボードとホストシステムとをシリアルクロスケーブルで接続してください。

5.1.5. 電源を入れる

Armadillo-WLAN評価ボードの CON6 が電源用コネクタになっています。ここに評価セットに添付されている AC アダプターを接続してください。

5.1.6. ファームウェアのダウンロードと実行

ホストからファームウェアをダウンロードして、ファームウェアを実行するには、以下の手順を行って下さい。

  1. UART起動モードで起動

    AWL13をホストとシリアルケーブルで接続した後、表5.5「UART起動モード選択時のDIPスイッチ(SW1)とジャンパー(JP1, JP2)」を参照しDIPスイッチをUART起動モード用に設定し、電源を入れ起動してください。

    正常にUART起動モードで起動できた場合、ホストのシリアル通信ソフトウェアには、以下に示すような保守モード起動画面が表示されます。

    /********************************/
    IEEE802.11n 1x1 LSI BU1805
    Bootloader on ROM
    
    (C) 2010 ROHM CO.,LTD.
    /********************************/
    H/w version  = 00000013
    ROM version  = 3.0.2
    reset_latch  = 00000003
    mode3 Serial
    ROM> 

    図5.2 保守モード起動画面


  2. fldコマンド実行

    ファームウェアのダウンロードを開始するために、以下のようにfldコマンドを実行してください。

    ROM> fld
    Please send the firmware with Binary mode.

    図5.3 fldコマンドの実行


  3. ファームウェアの転送

    ファームウェアは、生のバイナリ形式で転送します。転送するファームウェアは、fwimage[version]_STA_UART_TCP[jp|en].binという名称になります[6]

    ご使用のシリアル通信ソフトウェアにバイナリファイル転送機能がある場合、その機能を使用して転送してください。(TeraTermやGtkTermなどはバイナリファイル転送機能を有しています。)

    minicomなど、生のバイナリファイルを転送する機能が無いシリアル通信ソフトウェアの場合、シリアル通信ソフトウェアを起動したまま、別の仮想端末(ターミナル)を起動し、以下のようにcatコマンドでファイルをttyデバイスファイルへ直接書き込むことで、ファイル転送することもできます。ttyのファイル名は、適宜読み替えてください[7]

    [PC ~]# cat fwimage[version]_STA_UART_TCP[jp|en].bin > /dev/ttyS0

    図5.4 ファームウェアの転送


    ファームウェアの転送が正常に完了した場合、シリアル通信ソフトウェアは、以下に示すような表示となります。

    ROM> fld
    Please send the firmware with Binary mode.
    Loading...........completed.
    ver  4.0.0  (UART)
    load 0x10000000(208280 bytes)
    ROM> 

    図5.5 ファームウェア転送の確認


  4. fgoコマンド

    以下のように、fgoコマンドを実行すると、ファームウェアが実行され、イニシャルモードに移行します。

    ROM> fgo
    ++++++++++

    図5.6 ファームウェアの実行


    [ティップ]新しいバージョンのファームウェア

    新しいバージョンのファームウェアを使用する場合は、必ず設定を初期化してください。

5.1.7. フラッシュメモリへのファームウェアの書き込み

ホストからファームウェアをダウンロードして、フラッシュメモリに書き込む には、以下の手順を行って下さい。

  1. UART起動モードで起動

    AWL13をホストとシリアルケーブルで接続した後、表5.5「UART起動モード選択時のDIPスイッチ(SW1)とジャンパー(JP1, JP2)」を参照しDIPスイッチをUART起動モード用に設定し、電源を入れ起動してください。

    正常にUART起動モードで起動できた場合、ホストのシリアル通信ソフトウェアには、以下に示すような保守モード起動画面が表示されます。

    /********************************/
    IEEE802.11n 1x1 LSI BU1805
    Bootloader on ROM
    
    (C) 2010 ROHM CO.,LTD.
    /********************************/
    H/w version  = 00000013
    ROM version  = 3.0.2
    reset_latch  = 00000003
    mode3 Serial
    ROM> 

    図5.7 保守モード起動画面


  2. fldコマンド実行

    ファームウェアのダウンロードを開始するために、以下のようにfldコマンドを実行してください。

    ROM> fld
    Please send the firmware with Binary mode.

    図5.8 fldコマンドの実行


  3. ファームウェアの転送

    転送するファームウェアは、fwimage[version]_STA_UART_TCP[jp|en].fbinという名称になります[6]

    「ファームウェアのダウンロードと実行」の手順と同様に、生のバイナリ形式でファームウェアを転送してください。

    ファームウェアの転送が正常に完了した場合、シリアル通信ソフトウェアは、以下に示すような表示となります。

    ROM> fld
    Please send the firmware with Binary mode.
    Loading...........completed.
    ver  4.0.0  (UART)
    load 0x10000000(208312 bytes)
    ROM> 

    図5.9 ファームウェア転送の確認


  4. fldコマンド実行

    ファームウェアに続いて、フラッシュライターを転送するため、再度、fldコマンドを実行してください。

    ROM> fld
    Please send the firmware with Binary mode.

    図5.10 fldコマンドの実行


  5. フラッシュライターの転送

    転送するフラッシュライターは、BU1805_FLASH_WRITER_AREA_[region].binという名称になります。フラッシュメモリの領域0に書き込む場合、[region]0に、領域1に書き込む場合は1になります。

    「ファームウェアのダウンロードと実行」の手順と同様に、生のバイナリ形式でフラッシュライターを転送してください。

    フラッシュライターの転送が正常に完了した場合、シリアル通信ソフトウェアは、以下に示すような表示となります。

    ROM> fld
    Please send the firmware with Binary mode.
    Loading.completed.
    ver  1.3.0  (FLASH)
    load 0x10040000(9012 bytes)
    ROM> 

    図5.11 フラッシュライター転送の確認


  6. フラッシュメモリへの書き込み

    以下のように、fgoコマンドを実行すると、ファームウェアがフラッシュメモリに書き込まれます。

    ROM> fgo
    Flash Writer 1.3.0 Region 1
    written 252KBytes.
    finished writing successfully!
    /********************************/
    IEEE802.11n 1x1 LSI BU1805
    Bootloader on ROM
    
    (C) 2010 ROHM CO.,LTD.
    /********************************/
    H/w version  = 00000013
    ROM version  = 3.0.2
    reset_latch  = 00000003
    mode3 Serial
    ROM> 

    図5.12 フラッシュライター転送の確認


    DIPスイッチをフラッシュ起動モード用に設定し、再起動すると、書き込んだファームウェアが自動でロードされ、実行されます。

    [ティップ]新しいバージョンのファームウェア

    新しいバージョンのファームウェアを使用する場合は、必ず設定を初期化してください。

5.2. USBで接続する

USBホストコントローラーを持った機器であれば、AWL13を使って簡単に無線LAN化することができます。ここでは、Debian が動いている PC を使い、AWL13 を動作させる方法を説明します。

AWL13評価ボード接続図 (USB接続時)

図5.13 AWL13評価ボード接続図 (USB接続時)


5.2.1. 必要なもの

  • Debian 6.0 (Sqeeze)が動いているUSB付きのPC

  • USBケーブル (A-Bタイプ)

  • AWL13 本体

  • USB用ファームウェア

  • USB用Linuxデバイスドライバ

5.2.2. PC側の準備

PC で、Debian 6.0 が動作していることを確認してください。

標準のカーネルであれば、USBのホストコントローラー用のデバイスドライバーは、すでに動作しているはずです。AWL13をUSBで動かすには、USBデバイスドライバと協調して動作するAWL13のデバイスドライバーが必要です。DVD のmodule/PC/2.6.32-5-686/awl13_usb-[version].ko を使ってください。

またAWL13 上で動くファームウェアも必要です。これもDVD のfirmware/fwimage[version]_STA_USB.bin を使ってください。

5.2.2.1. cdc_etherドライバーをロードしないよう変更する

AWL13はUSBデバイスクラス仕様として、CDC ECM(Communication Device Class Ethernet Control Model)に基づき実装されています。ホストシステムにcdc_etherがインストールされている場合は、cdc_etherがロードされWLANモジュールを使用することができません。AWL13を確実に認識させるためには、AWL13接続時にcdc_etherドライバーがロードされないように修正する必要があります。

/etc/modprobe.d/blacklist.confをエディタで開き、図5.14「blacklist.confに設定を追加」に示す設定を追加すると、AWL13接続時にcdc_etherドライバが自動的にロードされなくなります。

blacklist cdc_ether

図5.14 blacklist.confに設定を追加


5.2.2.2. ドライバーをロードする

ドライバーをロードするには、insmodコマンドを使用します。

[PC ~]# insmod awl13_usb-[version].ko

図5.15 ドライバーをカーネルにロードする


[version]は、ドライバーのバージョンに置き換えてください。

ドライバーが正常にロードされているかを確認するには、lsmodコマンドを使用します。

[PC ~]$ sudo insmod awl13_usb-[version].ko
[PC ~]$ dmesg
[ 6103.988187] usbcore: registered new interface driver awl13

図5.16 デバイスドライバーをロード


5.2.3. 起動モードの選択

USB接続では、AWL13 を動作させる前に、「USB起動モード」を選択する必要があります。起動モードは、DIPスイッチ(SW1)とジャンパー(JP1、JP2)によって設定します。DIPスイッチ(SW1)とジャンパ(JP1、JP2)の設定値を表5.7「USB起動モードの選択」に示します。

AWL13評価ボードのDIPスイッチ(SW1)

図5.17 AWL13評価ボードのDIPスイッチ(SW1)


表5.7 USB起動モードの選択

起動モードSW1-1SW1-2SW1-3SW1-4JP1JP2
USB起動モードOFFOFFOFFOFFオープンオープン

5.2.4. ケーブルで接続する

PC がUSBホスト側になるので、USBケーブルのAコネクタをPCに接続します。AWL13 はデバイス側になるので、CON4にBコネクタを接続します。

AWL13 は、USBのバスパワーを電源としますので、ケーブルを差すと動き始めます。PCのホストコントローラーが AWL13 が接続されたことを検知し、Linux が下記のようなログを出力します。

$ dmesg
(省略)
[47811.841069] usb 2-1.5: new high speed USB device using ehci_hcd and address 70
[47811.937374] usb 2-1.5: New USB device found, idVendor=04b5, idProduct=0102
[47811.937378] usb 2-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[47811.937475] usb 2-1.5: configuration #1 chosen from 1 choice
[47811.939460] awl13: Driver Version 3.0.0 normal (Nov 30 2011 09:41:52)
[47811.939464] awl13:     Endpoint   : DATA-BULK-OUT=1, WID-BULK-OUT=2, DATA-BULK-IN=3, WID-BULK-IN=4
[47811.939466] awl13:                  INT-IN=5
[47811.939468] awl13:     Bus Speed  : HIGH
[47812.933435] awl13: boot rom run
[47812.933439] awl13: awl13 device successfully probed
[47822.068077] awlan0: no IPv6 routers present

図5.18 ログを参照


5.2.5. ファームウェアを送り込む

AWL13 は、ほとんどカラッポの状態で起動します。つまりAWL13には、ファームウェアを受けとるだけの機能が入ったソフトウェアが動いているだけの状態です。無線の機能は使用できません。

この状態のAWL13 を、ちゃんと無線通信できる状態にするのがファームウェアです。書き込むファームウェアによって、AWL13 の機能が決まります。ここでは、AWL13にUSB通信と無線通信させるためのファームウェアを書き込みます。ファームウェアは、DVDのfirmware/fwimage[version]_STA_USB.binを使用してください。

[PC ~]# cat fwimage[version]_STA_USB.bin > /sys/module/awl13_usb/awlan0/firmware
[PC ~]# iwpriv awlan0 fwload
[PC ~]# iwpriv awlan0 fwsetup
[PC ~]# cat /sys/module/awl13_usb/awlan0/firmware_version
[version]

図5.19 ファームウェアをロード


上記のようになれば、無事準備完了です。「使う」に進んでください。

5.3. SDIOで接続する

AWL13は、SDIOインターフェースを介してホストシステムと接続することができます。しかしながら、一般的なSDカードスロットに差し込める形状にはなっていないため、SDIOインターフェースで使用したい場合、なんらかの変換ボードか変換ケーブルを作成する必要があります。

Armadillo-WLAN SDIO接続例

図5.20 Armadillo-WLAN SDIO接続例


もし、ホストシステムにSDカードスロットがある場合、SDカードスロットに差し込める形状の拡張ボードを作成することで、AWL13と接続できます。ホストシステムにSDカードスロットが無い場合、ケーブルで接続することも可能です。Armadillo-WLAN 評価ボードからは、SDIOインターフェースの信号線が引き出せるようになっています。

SDIOインターフェースでホストシステムと接続する際の参考回路は、「Armadillo-WLAN(AWL13) ハードウェアマニュアル」を参照してください。 

Armadillo-400シリーズと組み合わせて使用したい方向けに、Armadillo-400シリーズのコネクタに直接接続可能なインターフェースボードとAWL13をセットにした、Armadillo-WLANオプションモジュール(AWL13対応)を販売しています。Armadillo-WLANオプションモジュール(AWL13対応)を使用すれば、自前で変換ボードや変換ケーブルを作成しなくとも、SDIOインターフェースでAWL13を使用することができます。

Armadillo-400シリーズと組み合わせて使用する場合の使用方法については、「Armadillo-400シリーズソフトウェアマニュアル」を参照してください。

本章では、Debian GNU/Linux 6.0 (コードネーム squeeze)が動作しており、SDIOホストコントローラーを持つPCと接続した場合を例に、一般的な使用方法について説明します。

5.3.1. 必要なもの

  • SDIOホストコントローラーを持った、Debian GNU/Linux 6.0 (コードネーム squeeze)が動作するPC

  • AWL13

  • 変換ボードないし変換ケーブル

  • SDIO用ファームウェア

  • SDIO用Linuxデバイスドライバー

5.3.2. PC側の準備

標準のカーネルであれば、SDIOのホストコントローラー用のデバイスドライバーは、すでに動作しているはずです。AWL13動作させるためには、SDIOホストコントローラー用デバイスドライバーの他に、AWL13用のデバイスドライバーが必要です。

Debian GNU/Linux 6.0 で使用可能なビルド済みのデバイスドライバーが、付属DVDのmodule/PC/2.6.32-5-686/awl13_sdio-[version].ko[8]に収録されています[9]。Debian GNU/Linux 6.0以外の環境で使用される場合は、付録A Linux デバイスドライバーのビルドを参照し、ソースコードからビルドする必要があります[10]

さらに、AWL13の無線LAN機能を使うためには、AWL13上で動作するファームウェアが必要になります。ファームウェアも付属DVDのfirmware/fwimage[version]_STA_SDIO.binに収録されています。

ビルド済みのデバイスドライバーと、ファームウェアをホストPCにコピーしておいてください。

5.3.3. 起動モードの選択

SDIOインターフェースを使用するには、AWl13を「SDIO起動モード」で動作させる必要があります。起動モードは、電源投入時の起動モード選択ピンの状態によって決定されます。SDIO起動モードにするには、下記のように設定してください。

表5.8 起動モード選択ピンの状態(SDIO起動モード)

BOOT_SEL1BOOT_SEL0HOST_SEL
LowHighHigh

AWL13をArmadillo-WLAN評価ボードと組み合わせて使用する場合、起動モードは、DIPスイッチ(SW1)とジャンパー(JP1、JP2)によって設定できます。DIPスイッチ(SW1)とジャンパ(JP1、JP2)の設定値を表5.9「SDIO起動モードの選択」に示します。

AWL13評価ボードのDIPスイッチ(SW1)

図5.21 AWL13評価ボードのDIPスイッチ(SW1)


表5.9 SDIO起動モードの選択

起動モードSW1-1SW1-2SW1-3SW1-4JP1JP2
SDIO起動モードOFFONONOFFオープンオープン

5.3.4. ドライバとファームウェアのセットアップ

AWL13を無線LANデバイスとして使用するには、USB接続の場合と同じように、ドライバをロードした後、ファームウェアをAWL13に送り込む必要があります。基本的な方法は、USB接続の場合と同じです。

ドライバーをロードするには、insmodコマンドを使用します。

[PC ~]$ sudo insmod awl13_sdio-[version].ko

図5.22 SDIO起動モード用ドライバーをカーネルにロードする


ドライバーが正常にロードされているかを確認するには、lsmodコマンドを使用します。正常にドライバーがロードされている場合、下記のように表示されます。

[PC ~]$ lsmod | grep awl13_sdio
awl13_sdio             51127  0
mmc_core               45702  1 awl13_sdio

図5.23 ドライバの確認


続いて、ファームウェアをAWL13に送り込みます。sysfsファイルにファームウェアを書き込んだあと、iwprivコマンドを実行することで、ファームウェアを送り込むことができます。これらの操作には、特権ユーザー権限が必要ですので、suコマンドで、rootユーザーになってからコマンドを実行してください。

[PC ~]$ su
[PC ~]# cat fwimage[version]_STA_SDIO.bin > /sys/module/awl13_sdio/awlan0/firmware
[PC ~]# iwpriv awlan0 fwload
[PC ~]# iwpriv awlan0 fwsetup
[PC ~]# exit
[PC ~]$

図5.24 ファームウェアを送る


下記のコマンドを実行して、正しいファームウェアバージョンが読み出せれば、ファームウェアは正しく送れています。

[PC ~]$ cat /sys/module/awl13_sdio/awlan0/firmware_version
[version]

図5.25 ファームウェアの確認


AWL13が適切にホストシステムと接続されており、上記の操作が正常に完了すると、Linuxの無線LANインターフェースawlan0を通して、AWL13の無線LAN機能を使えるようになります。以降の操作は、基本的には通常の無線LANデバイスの場合と同じです。無線LANインターフェースの使用方法は、7章Linux無線LANインターフェースから使うを参照してください。



[6] フラッシュメモリに書き込むファームウェアと、ダウンロードして実行するものでは、拡張子が異なりますのでご注意ください。

[7] 例えば、USBシリアル変換ケーブルを使用している場合は、/dev/ttyUSB0などになるでしょう。

[8] ホストPCのアーキテクチャがx86(i386)の場合。x86_64(amd64)アーキテクチャの場合、module/PC/2.6.32-5-amd64/awl13_sdio-[version].koを使用してください。

[9] 付属DVDに収録されているソフトウェアは、Armadilloサイト(http://armadillo.atmark-techno.com)からもダウンロード可能です。

[10] AWL13用デバイスドライバーは、Debian GNU/Linux 6.0が動作するPC及びArmadillo-400シリーズでのみ動作確認されています。その他の環境では、Linuxカーネルのバージョンの違いなどにより、正常に動作しないことがあります。