第6章 UART(シリアル)インターフェースから使う

本章では、AWL13とホストシステムとをUARTインターフェースで接続して、UARTモードでAWL13の無線LAN機能を使う方法を説明します。UARTモードの詳細については、ローム社Webサイトのサポートページからダウンロードできる「BU1805GUシリーズ TCP/IP内蔵WLAN仕様書」を参照してください。また、AWL13をUSB/SDIOインターフェースで接続して使用する場合は、7章Linux無線LANインターフェースから使うを参照してください。

6.1. UARTモード概要

AWL13をUART起動モードまたはフラッシュ起動モードに設定し、ホストシステムとUART(シリアル)インターフェースで接続して使用する場合を総称して、UARTモードと呼びます。実際の操作を行う前に、UARTモードの概要について説明します。

6.1.1. 動作モード

UART起動モードで起動しホストからファームウェアをダウンロードするか、フラッシュ起動モードで起動しフラッシュメモリからファームウェアをロードした後、ファームウェアが実行されます。ファームウェア実行後の動作モードには、以下の4種類があります。

イニシャルモード

ファームウェア実行直後のモードです。ホストからのモード選択指示を待ち、指示されたモードに遷移します。

コンフィグモード

設定の変更と保存を行うモードです。イニシャルモードで、一定時間以内に0x20(スペース記号)を8回連続で受信すると、コンフィグモードに遷移します。

ターミナルモード

対向機器と直接シリアルインターフェースで接続したかのように、データを透過的に送受信するモードです。このモードの途中で設定変更することはできませんが、その分、簡単にデータ通信を行うことができます。イニシャルモードで一定時間以内にモード遷移を伴う入力を受信しなかったか、コンフィグモードでrunコマンドを受け付けると、ターミナルモードに遷移します。

コミュニケーションモード

WPSによる自動無線LAN設定など、高度な機能の利用を想定したモードです。イニシャルモードで一定時間以内に0xf1または0x09を8回連続で受信すると、コミュニケーションモードに遷移します。

各動作モード間の状態遷移は、下記に示す通りです。まず、ファームウェア実行直後は必ずイニシャルモードとなります。その後、コンフィグモード、ターミナルモード、コミュニケーションモードのいずれかのモードに遷移します。実際にデータ通信を行うことができるのは、ターミナルモードかコミュニケーションモードだけです。

動作モードの状態遷移図

図6.1 動作モードの状態遷移図


6.1.2. 設定変更機能

AWL13のUARTモードでは、以下の方法で設定を変更できます。

コンフィグモード
コンフィグモードでは、コマンドベースで設定を変更できます。コンフィグモードで変更した設定は、再起動後に反映されます。
コミュニケーションモード
コミュニケーションモードでは、パケットベースで設定変更できます。コミュニケーションモードで変更した設定は、UART設定を除き、即座に反映されます。
HTTP経由(Webブラウザ)
Webブラウザ等でAWL13の80番ポートに接続すると、HTTP経由で設定変更できます。HTTP経由で変更した設定は、再起動時に反映されます。

変更できる設定には、以下のものがあります。

表6.1 変更可能な設定

機能 説明

UART設定

ボーレート、データ幅、パリティの有無、ストップビット長、フロー制御などUARTの通信プロトコルに関する設定や、バッファサイズ、デリミタなど通信方式に関する設定

無線LAN設定

通信モード、使用チャンネル、SSID、暗号モード、認証モードなど無線LANの設定

TCP/IP設定

IPアドレス、サブネットマスク、ゲートウェイ、DHCP、DNS、ポート番号などネットワークに関する設定


6.2. ターミナルモードで使用する

コンフィグモードで表5.1「アクセスポイントの設定」で調べたアクセスポイントの設定に合わせて無線LAN接続の設定をし、ターミナルモードで通信する具体的な手順について説明します。

例として、フラッシュ起動モードで起動する場合を考えます。「フラッシュメモリへのファームウェアの書き込み」を参照して、適切なファームウェアを書き込んで下さい。

6.2.1. コンフィグモードに移行する

DIPスイッチをフラッシュ起動モード用に設定しAWL13に電源を投入すると、ファームウェアがフラッシュメモリから自動的にロードされ、実行されます。ファームウェアが実行されると、イニシャルモードのモード選択状態となります。モード選択状態では、AWL13はモード選択時間の間[12]、0x2b('+')を100[msec]ごとにホストに送信します。モード選択時間内に、ホストから0x20(スペース記号)を送信し続けると、コンフィグモードへ移行します。

[ティップ]

ファームウェア実行時にINITボタンが押下されており、かつ、3秒間その状態が維持された場合、内蔵EEPROMに保存されている設定が初期化されます。

コンフィグモードへの移行が成功した場合、以下のような表示になります。

/********************************/
  IEEE802.11n 1x1 LSI BU1805
  Bootloader on ROM

  (C) 2010 ROHM CO.,LTD.
/********************************/
H/w version  = 00000013
ROM version  = 3.0.2
reset_latch  = 00000002
mode2 Flash region1 boot
+++++++++++  1
#  2

図6.2 コンフィグモードへの移行


1

モード選択時間の間、AWL13は0x2b('+')を送信します。

2

ホストから0x20(スペース記号)を送信し続けると、コンフィグモードに移行します。

[ティップ]

新しいバージョンのファームウェアで起動した場合、必ず設定をデフォルト値に戻して下さい。

#default permit  1
Default value of setting success.

#save permit  2
Preservation of setting success.

図6.3 設定をデフォルト値に戻す


1

設定をデフォルト値に戻します。

2

設定を内蔵EEPROMに保存します。

6.2.2. 無線LAN設定をする

暗号化方式が、WPA-PSKまたはWPA2-PSKの場合は、図6.4「WPA2-PSK(AES)で接続する場合の無線LAN設定手順」を、暗号化方式がWEP64またはWEP128の場合は、図6.5「WEP128で接続する場合の無線LAN設定手順」を参考に無線LANの設定を行ってください。

#wlan_type set infra  1
WLAN: BSS type success.

#wlan_chan set [channel]  2
WLAN: Channel success.

#wlan_ssid set [SSID]  3
WLAN: SSID success.

#wlan_sec set wpa2-aes  4
WLAN: Security success.

#wlan_psk set [パスフレーズ]  5
WLAN: PSK passphrase success.

図6.4 WPA2-PSK(AES)で接続する場合の無線LAN設定手順


1

無線LANのネットワークタイプをインフラストラクチャモードに設定します。

2

無線LAN通信に使用するチャンネルを設定します。指定可能な値は1〜13のいずれかです。

3

AWL13が参加する無線LANネットワークのSSID(サービスセット識別子)を設定します。32バイト以下の任意の文字列を指定できます。

4

無線LAN通信に使用する暗号方式を設定します。WPA-PSK(TKIP)に設定する場合は"wpa-tkip"を、WPA2-PSK(AES)に設定する場合は"wpa2-aes"を指定します。

5

PSK[13]として使用されるパスフレーズを設定します。8から63文字のASCII印字可能文字または64桁の16進数文字列を指定できます。

#wlan_type set infra  1
WLAN: BSS type success.

#wlan_chan set [channel]  2
WLAN: Channel success.

#wlan_ssid set [SSID]  3
WLAN: SSID success.

#wlan_sec set wep128  4
WLAN: Security success.

#wlan_wep set [WEPキー]  5
WLAN: WEP key success.

図6.5 WEP128で接続する場合の無線LAN設定手順


1

無線LANのネットワークタイプをインフラストラクチャモードに設定します。

2

無線LAN通信に使用するチャンネルを設定します。指定可能な値は1〜13のいずれかです。

3

AWL13が参加する無線LANネットワークのSSID(サービスセット識別子)を設定します。32バイト以下の任意の文字列を指定できます。

4

無線LAN通信に使用する暗号方式を設定します。WEP64に設定する場合は"wep64"を、WEP128に設定する場合は"wep128"を指定します。

5

WEPキーを設定します。WEP64の場合は10桁の、WEP128の場合は26桁の16進数文字列を指定します。

6.2.3. TCP/IP設定をする

無線LAN設定に続いて、TCP/IP設定を行います。図6.6「TCP/IP設定手順」では必要最低限の設定項目だけ示しています。ターミナルモードのデフォルト設定では、AWL13がTCPサーバーとなり、16384番ポートを使用します。

#ip_addr set [AWL13のIPアドレス]
IP: address success.

#ip_mask set [AWL13のサブネットマスク]
IP: Subnet mask success.

#ip_term_ra set [対向機のIPアドレス]
IP: Remote address success.

図6.6 TCP/IP設定手順


6.2.4. 設定を保存する

コンフィグモードで設定した値は、再起動するまで反映されません。内蔵EEPROMに保存されていない設定は再起動すると失われてしまうため、必ず設定を保存してください。

#save permit
Preservation of setting success.

図6.7 設定の保存


6.2.5. ターミナルモードに移行する

再起動し、ホストから何も送信しないで待っていると、自動でターミナルモードへ移行します。評価ボードのLED1が点滅している間は、アクセスポイントとの接続が確立されていません。LED1が点灯状態となれば、接続が確立されたことを示します。

/********************************/
  IEEE802.11n 1x1 LSI BU1805
  Bootloader on ROM

  (C) 2010 ROHM CO.,LTD.
/********************************/
H/w version  = 00000013
ROM version  = 3.0.2
reset_latch  = 00000002
mode2 Flash region1 boot
++++++++++++++++++++

図6.8 ターミナルモードへの移行


6.2.6. 接続の確認

接続の確認方法の一例として、ここでは、AWL13の対向機がLinux PCの場合の手順を紹介します。まず、対向機でpingコマンドを実行し、AWL13がネットワークに参加できているか確認します。

正常に接続できている場合、図6.9「pingコマンドによる接続確認」に示すような結果が得られます。もし、pingへの反応が無い場合、無線LAN設定を再度確認してください。

[PC ~]$ ping [AWL13のIPアドレス]
PING [AWL13のIPアドレス] ([AWL13のIPアドレス]) 56(84) bytes of data.
64 bytes from [AWL13のIPアドレス]: icmp_req=1 ttl=64 time=5.06 ms
64 bytes from [AWL13のIPアドレス]: icmp_req=2 ttl=64 time=1.26 ms
64 bytes from [AWL13のIPアドレス]: icmp_req=3 ttl=64 time=1.13 ms

図6.9 pingコマンドによる接続確認


続いて、telnetコマンドを使用して、AWL13とのデータ通信ができるかを確認します。

図6.10「telnetコマンドによるデータ通信」のように表示されれば、AWL13とのデータ通信が可能です。telnetの画面に入力した文字が、そのままAWL13のホストに送信され、AWL13のホストから送信した文字が、telnetの画面にそのまま表示されます。もし、telnertで接続できない場合、TCP/IP設定を確認してください。

[PC ~]$ telnet [AWL13のIPアドレス] 16384
Trying [AWL13のIPアドレス]...
Connected to [AWL13のIPアドレス].
Escape character is '^]'.

図6.10 telnetコマンドによるデータ通信




[12] デフォルトでは3秒間

[13] Pre-shared Key: 事前共有鍵