보더 라우터 테스트 하네스 설정

OpenThread 보더 라우터 (OTBR) 테스트 대상 기기 (DUT)와 함께 사용할 GRL 스레드 테스트 하네스 및 OpenThread 하네스 자동화 도구의 설정은 인증 자동화 설정 가이드와 동일합니다. 이 가이드를 여기에 설명된 변경사항과 함께 사용하세요.

OTBR과 같은 NCP 설계의 경우 OpenThread은 테스트 하네스가 NCP를 제어할 수 있는 OpenThread_WpanCtl.py예시 Thread 호스트 제어 인터페이스(THCI)를 제공합니다. NCP 기기에는 두 가지 연결 모드가 있습니다.

  • 직렬 포트 연결 사용 (테스트 하네스의 자동 검색 기능을 사용하는 경우 권장됨)
  • 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 인터페이스 옵션을 선택합니다.
  3. 인터페이스 옵션 메뉴에서 P6 Serial Enable/Disable(P6 직렬 사용 설정/사용 중지)를 선택합니다.
  4. RPi3B를 다시 시작합니다.

테스트 하네스를 실행하는 Windows 컴퓨터에서 다음을 수행합니다.

OTBR FT232 연결
  1. FT232 드라이버를 다운로드하여 설치합니다.
  2. FT232 USB to UART 어댑터를 Windows 머신의 USB 슬롯에 연결합니다.
  3. FT232의 전압 점퍼를 3.3V로 설정합니다.
  4. 다음 핀과 Dupont선을 사용하여 FT232를 RPi3B에 연결합니다.
    RPi3B 핀 FT232 핀 Dupont Line
    Pin6 GND 흰색
    Pin8 RXD 노란색
    Pin10 TXD 빨간색
  5. 연결되면 Windows 컴퓨터를 다시 시작합니다.
  6. Python pySerial 모듈을 사용하여 기기 직렬 포트 하드웨어 식별자를 찾습니다.
    1. Windows 머신에 pySerial을 설치합니다.
    2. Windows 명령줄에서 Python을 사용하여 머신에 연결된 기기의 모든 하드웨어 식별자(VID 및 PID)를 열거합니다. 이 출력에서는 식별자가 VID_0403+PID_6001인 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를 사용하여 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가 테스트 환경 섹션에 표시되지 않으면 지원되는 하드웨어 섹션에서 OpenThread WpanCtl: wpantund+NCP 기기를 테스트 환경 섹션으로 드래그하여 수동으로 추가합니다. 드래그한 후:

    1. 올바른 Serial Line(COM 포트) 및 Speed(보드율) 값이 채워져 있는지 확인합니다.
    2. 속도 필드 아래에 있는 화살표 버튼을 클릭하여 테스트 하네스와 OT NCP 기기 간에 직렬 연결을 설정합니다.
  3. 지원되는 하드웨어 목록 아래에서 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(테스트 베드 구성) 페이지에서 지원되는 하드웨어 섹션에서 OpenThread WpanCtl SSH: wpantund+NCP 기기를 테스트 베드 섹션으로 드래그합니다.
  4. IP 주소를 192.168.1.100으로, 포트를 기기의 22로 채웁니다.
  5. PORT 필드 아래에 있는 화살표 버튼을 클릭하여 테스트 하네스와 OT NCP 기기 간에 SSH 연결을 설정합니다.
OTBR 인증 SSH

자동화 설정

하네스 자동화 도구를 설정하는 방법에 관한 안내는 인증 자동화 설정 가이드의 설치구성 단계를 참고하세요.

테스트 사례 실행

OTBR DUT에서 인증 테스트 사례를 실행하는 방법은 인증 테스트 사례 실행을 참고하세요.

문제 해결

기기 재부팅

RPi3B를 재부팅해야 하는 경우 테스트 하네스 소프트웨어를 닫고 재부팅이 완료된 후 20초 이상 기다렸다가 테스트 하네스를 다시 시작합니다.

테스트 하네스가 경계 라우터를 찾을 수 없음

직렬 포트 연결을 사용하면 테스트 하네스가 Border Router를 감지하지 못할 수 있습니다. 이러한 경우,

  1. PuTTY와 같은 도구를 사용하여 셸 로그인이 직렬 포트에 작동하는지 확인합니다.
    1. FT232 기기의 COM 포트와 속도(보레이트) 115200을 사용합니다.
    2. 로그인에 실패하면 모든 기기를 재부팅한 후 다시 시도해 보세요.
  2. RPi3B에서 wpantund의 상태를 확인합니다.
    sudo service wpantund status
    상태가 'abnormal'인 경우:
    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