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

OpenThread ボーダー ルーター(OTBR)デバイステスト対象(DUT)で使用する GRL Thread Test Harness と OpenThread Harness Automation Tool の設定は、Certification Automation 設定ガイドと同じです。このガイドは、ここで説明する変更と組み合わせて使用してください。

OTBR などの NCP 設計の場合、OpenThread は、テストハーネスによる NCP の制御を可能にする OpenThread_WpanCtl.py サンプル Thread Host Control Interface(THCI)を提供します。NCP デバイスの接続モードは 2 つあります。

  • シリアルポート接続を使用する(テストハーネスの自動検出機能の使用に推奨)
  • SSH 接続の使用

特に断りのない限り、インストールと構成のすべての手順は GRL テストハーネス ソフトウェアを実行している 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. [Interface Options] メニューで [P6 Serial Enable/Disable] を選択します。
  4. RPi3B を再起動します。

テストハーネスを実行する Windows マシンで、次のようにします。

OTBR FT232 接続
  1. FT232 ドライバをダウンロードしてインストールします。
  2. FT232 USB - UART アダプターを Windows マシンの USB スロットに接続します。
  3. FT232 の電圧ジャンパーを 3.3 V に設定します。
  4. 次のピンとデュポン線を使用して、FT232 を RPi3B に接続します。
    RPi3B PIN FT232 PIN デュポン線
    PIN 6 GND White
    PIN 8 RXD 回
    PIN 10 台湾時間
  5. 接続したら、Windows パソコンを再起動します。
  6. Python pySerial モジュールを使用して、デバイスのシリアルポート ハードウェア識別子を探します。
    1. Windows マシンに pySerial をインストールします。
    2. Windows コマンドラインで Python を使用して、マシンに接続されているデバイスのすべてのハードウェア識別子(VID と PID)を列挙します。この出力では、ID が VID_0403+PID_6001 の 1 つの NCP デバイスが接続されています。
      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 を指定して OpenThread_WpanCtl グループを GoldenDeviceHardwareIds 配列に追加します。
      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](テストベッド)セクションにない場合は、OpenThread WpanCtl: wpantund+NCP デバイスを [Supported Hardware] セクションから [Test Bed] セクションにドラッグして手動で追加します。ドラッグした後:

    1. [シリアルライン](COM ポート)値と [速度](ボーレート)値が正しく入力されていることを確認します。
    2. [Speed] フィールドの下にある矢印ボタンをクリックして、テストハーネスと OT NCP デバイス間のシリアル接続を確立します。
  3. サポートされているハードウェアのリストの下にある [自動 DUT デバイス選択を有効にする] チェックボックスをオンにします。

  4. ターゲット デバイス/ポートの下にある [Set as 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 アドレスに 192.168.1.100 を入力し、PORT に 22 を入力します。
  5. [PORT] フィールドの下の矢印ボタンをクリックして、テストハーネスと OT NCP デバイス間の SSH 接続を確立します。
OTBR 認証 SSH

自動化の設定

Harness Automation ツールを設定する方法については、Certification Automation 設定ガイドのインストール構成の手順をご覧ください。

テストケースを実行する

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

トラブルシューティング

デバイスの再起動

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

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

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

  1. PuTTY などのツールを使用して、シェルポートがシリアルポートに対して機能するかどうかを確認します。
    1. FT232 デバイスの COM ポートと速度 115200 を使用します。
    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
      を再起動します。