ボーダー ルーター テストハーネスのセットアップ

OpenThread ボーダー ルーター(OTBR)テスト対象デバイス(DUT)で使用する GRL Thread テストハーネスと OpenThread ハーネス自動化ツールのセットアップは、認証自動化設定ガイドと同じです。このガイドは、ここで説明する変更と併用してください。

OTBR などの NCP 設計の場合、OpenThread は、Test Harness が NCP を制御できるようにする OpenThread_WpanCtl.pyThread Host Control Interface(THCI)の例を提供します。NCP デバイスには、次の 2 つの接続モードがあります。

  • シリアルポート接続を使用する(Test Harness の自動検出機能を使用する場合に推奨)
  • SSH 接続を使用する

特に記載のない限り、以下のインストールと構成の手順はすべて、GRL Test Harness ソフトウェアを実行している Windows マシンで行います。このソフトウェアは、続行する前にインストールする必要があります。

THCI サポート ファイルをコピーする

Windows マシンの THCI が最新バージョンであることを確認します。OpenThread リポジトリのクローンを作成します。すでに作成している場合は、main ブランチに切り替えます。

git clone https://github.com/openthread/openthread
cd openthread
git checkout main

クローンを作成した OpenThread リポジトリの /tools/harness-thci から、次のファイルを Windows マシンの指定されたディレクトリにコピーします。

ソースファイル ディレクトリにコピー
deviceInputFields.xml C:\GRL\Thread1.1\Web\data\
OpenThread_WpanCtl.py C:\GRL\Thread1.1\Thread_Harness\THCI\
OpenThread_WpanCtl.png C:\GRL\Thread1.1\Web\images\

接続タイプを設定する

NCP のテストハーネス制御の場合は、シリアルポート接続または SSH 接続を設定します。

Raspberry Pi 3B(RPi3B)で、シリアルポートとログイン シェルを有効にします。

  1. 構成メニューに入ります。
    sudo raspi-config
  2. 構成メニューで、[5 Interface Options] を選択します。
  3. [インターフェース オプション] メニューで、[P6 シリアルの有効化 / 無効化] を選択します。
  4. RPi3B を再起動します。

テストハーネスを実行している Windows マシンで、次のコマンドを実行します。

OTBR FT232 接続
  1. FT232 ドライバをダウンロードしてインストールします。
  2. FT232 USB to UART アダプターを Windows マシンの USB スロットに接続します。
  3. FT232 の電圧ジャンパーを 3.3 V に設定します。
  4. 次のピンと Dupont ラインを使用して、FT232 を RPi3B に接続します。
    RPi3B ピン FT232 ピン Dupont ライン
    Pin6 GND
    Pin8 RXD
    Pin10 TXD
  5. 接続したら、Windows マシンを再起動します。
  6. Python pySerial モジュールを使用して、デバイスのシリアルポート ハードウェア ID を確認します。
    1. Windows マシンに pySerial をインストールします。
    2. Windows コマンドラインで Python を使用して、マシンに接続されているデバイスのすべてのハードウェア ID(VID と PID)を列挙します。この出力では、1 つの NCP デバイスが接続されており、識別子は VID_0403+PID_6001 です。
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
    3. COM ポートがすでにわかっている場合は、別のコマンドを使用できます。たとえば、COM ポートが COM10 の場合:
      python -c "import serial.tools.list_ports;print [ports[2] for ports in serial.tools.list_ports.comports() if ports[0] == 'COM10']"
      ['FTDIBUS\VID_0403+PID_6001+AL01WP6MA\0000']
  7. ゴールドデバイスのリストを更新します。
    1. C:\GRL\Thread1.1\Config\Configuration.ini を開きます。
    2. デバイスの VID と PID を使用して、GoldenDeviceHardwareIds 配列に OpenThread_WpanCtl グループ化を追加します。
      GoldenDeviceHardwareIds = {
      'NXP': ['VID:PID=1FC9:0300','VID:PID=15A2:0300','VID:PID=1366:1015'],
      'SiLabs': 'VID:PID=10C4:8A5E',
      'ARM': 'VID:PID=0D28:0204',
      'OpenThread':['VID:PID=10C4:EA60', 'VID:PID=1915:CAFE'],
      'OpenThread_WpanCtl':['VID_0403+PID_6001’]}

すべての構成が完了したら、次の操作を行います。

  1. GRL テストハーネスを開始します。
  2. [Configure Test Bed] ページで、デバイス / ポートが OT NCP デバイスとして表示されます。

    テストハーネスの開始後に DUT が [Test Bed] セクションに表示されない場合は、[Supported Hardware] セクションから [Test Bed] セクションに OpenThread WpanCtl:wpantund+NCP デバイスをドラッグして、手動で追加します。ドラッグした後:

    1. 正しい [シリアル ライン](COM ポート)と [速度](ボーレート)の値が入力されていることを確認します。
    2. [Speed] フィールドの下にある矢印ボタンをクリックして、Test Harness と OT NCP デバイス間のシリアル接続を確立します。
  3. [Supported Hardware] リストの下にある [Enable Auto DUT Device Selection] チェックボックスをオンにします。

  4. ターゲット デバイス / ポートの [DUT として設定] ラジオボタンを選択して、OT NCP デバイスを DUT として設定します。

OTBR 認証 SSH

SSH 接続

RPi3B で SSH を有効にします。

  1. 起動時に SSH サービスを有効にします。
    sudo systemctl enable ssh
  2. SSH サービスを起動します。
    sudo systemctl start ssh

ヘッドレス RPi3B で SSH を有効にするには、Raspberry Pi SSH のドキュメントのステップ 3 をご覧ください。

テストハーネスを実行している Windows マシンで、次の操作を行います。

  1. GRL の Python 環境用に Paramiko をインストールします。
    cd C:\GRL\Python2.7
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. GRL テストハーネスを開始します。
  3. [Configure Test Bed] ページで、[Supported Hardware] セクションから [Test Bed] セクションに OpenThread WpanCtl SSH:wpantund+NCP デバイスをドラッグします。
  4. [IP addr] には「192.168.1.100」と入力し、[PORT] にはデバイスの「22」と入力します。
  5. [PORT] フィールドの下にある矢印ボタンをクリックして、テストハーネスと OT NCP デバイスの間に SSH 接続を確立します。
OTBR 認定 SSH

自動化の設定

Harness Automation Tool の設定方法については、認定資格の自動化設定ガイドのインストール構成の手順をご覧ください。

テストケースを実行する

OTBR DUT で認定テストケースを実行する方法については、認定テストケースの実行をご覧ください。

トラブルシューティング

デバイスの再起動

RPi3B を再起動する必要がある場合は、テストハーネス ソフトウェアを閉じて、再起動の完了後 20 秒以上待ってからテストハーネスを再起動します。

テストハーネスがボーダー ルーターを検出できない

シリアルポート接続を使用している場合、Test Harness が境界ルーターを検出しないことがあります。上記が該当する場合は、次の手順を実施してください。

  1. PuTTY などのツールを使用して、シリアルポートでシェル ログインが機能するかどうかを確認します。
    1. FT232 デバイスの COM ポートと、速度(ボーレート)115,200 を使用します。
    2. ログインに失敗した場合は、すべてのデバイスを再起動して再度ログインを試します。
  2. RPi3B で wpantund のステータスを確認します。
    sudo service wpantund status
    ステータスが「異常」の場合:
    1. nRF52840 NCP ボードが取り付けられていることを確認します。
      ls /dev/tty*
      /dev/ttyACM0
    2. このポートが wpantund 構成と一致することを確認します。
      // default value in '/etc/wpantund.conf'
      Config:NCP:SocketPath "/dev/ttyACM0"
    3. wpantund を再起動します。
      sudo service wpantund restart