Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

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

OpenThread Border Router(OTBR)テスト対象デバイス(DUT)で使用する GRL スレッドテストハーネスと OpenThread ハーネス自動化ツールのセットアップは、Certification Automation のセットアップガイドをご覧ください。ここに記載されている変更と合わせて、このガイドを使用してください。

OTBR のような NCP 設計では、OpenThread は、テストハーネスが NCP を制御できる OpenThread_WpanCtl.py スレッドホスト コントロール インターフェース(THCI)の例を提供します。NCP デバイスには、次の 2 つの接続モードがあります。

  • シリアルポート接続の使用(テストハーネスの自動検出機能の使用に推奨)
  • 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 Interface Options] を選択します。
  3. [Interface Options] メニューで [P6 Serial Enable/Disable(P6 シリアルの有効化 / 無効化)] を選択します。
  4. RPi3B を再起動します。

テストハーネスを実行している Windows マシンの場合:

OTBR FT232 接続
  1. FT232 ドライバをダウンロードしてインストールします。
  2. FT232 USB to UART アダプタを Windows マシンの USB スロットに接続する。
  3. FT232 の電圧ジャンパーを 3.3 V に設定します。
  4. 次のピンとデュポン ラインを使用して、FT232 を RPi3B に接続します。
    RPi3B ピン FT232 ピン デュポンライン
    固定 GND ホワイト
    ピン 8 Rxd
    ピン 10 Txd
  5. 接続したら、Windows マシンを再起動します。
  6. Python pySerial モジュールを使用して、デバイスのシリアルポートのハードウェア識別子を確認します。
    1. Windows マシンに pySerial をインストールします。
    2. Windows コマンドラインで Python を使用して、マシンに接続されているデバイスのすべてのハードウェア識別子(VID と PID)を列挙します。この出力では、VID_0403+PID_6001 の ID を持つ 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. Golden Device リストを更新します。
    1. C:\GRL\Thread1.1\Config\Configuration.ini を開きます。
    2. デバイスの OpenID と 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. [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. 対象テストベッドを設定ページで、OpenThread WpanCtl SSH: wpantund+NCPデバイスのサポートされているハードウェアセクションをテストベッド
  4. デバイスの IP addr に 192.168.1.100 を入力し、PORT に 22 を入力します。
  5. [ポート] フィールドの下にある矢印ボタンをクリックして、テストハーネスと OT NCP デバイスの間に SSH 接続を確立します。
OTBR 認定 SSH

自動化の設定

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

テストケースを実行する

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

トラブルシューティング

デバイスの再起動

RPi3B を再起動する必要がある場合は、テストハーネス ソフトウェアを閉じ、再起動が完了してから少なくとも 20 秒後にテストハーネスを再度開始します。

テストハーネスで Border Router を検出できない

シリアルポート接続を使用している場合、テストハーネスが Border Router を検出しないことがあります。この場合は、

  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