UEFI Tool for HS USB Host Mode Electrical Testing

Change History

Introduction

USB electrical testing typically involves a software HSETT developed by Intel. Most of the test equipment vendors like Agilent/Tektronics base their USB electrical testing procedures on HSETT. The problem with HSETT is that it does not run natively in DUT, thus not possible to use for Host mode electrical testing.

This page introduces a UEFI command line tool/application "UsbHostPortTestApp.efi" that can be used as HSETT for high-speed host mode electrical testing. The tool was developed during the process of testing 8960/8064/8974 EA high-speed USB in host mode, and the scope is Agilent Infinnium. The following test cases are supported for the testing of roothub ports:

And the following test cases are supported for non-root hub downstream ports (i.e. hub ports):

Following sections explains the tool's CLI interface and the procedures to conduct each tests list above.

Command Line Interface of UsbHostPortTestApp

After booting into UEFI shell, type "exit" to quit into SBL shell. Then type "cd fv1:" to enter the firmware volume where the command line application resides. Run the command with no options to display the list of available options.

    Qcom fv1:\> start UsbHostPortTestApp
    ERROR: at least 2 arguments required (0 supplied)
    High-speed USB Host Mode Electrical Test Tool version 2.0
    Usage: UsbHostPortTestApp "CONTROLLER_ID TEST_MODE_ID [HUB_PORT_ID]"
      Controllers:
        ID  Description
         0  Ehci PortTest protocol on core 0
              Has 3 port hub (1 based index)
         1  Xhci PortTest protocol on core 128
      Test Modes:
        ID  Description
         0  TEST_DISABLE
         1  TEST_J_STATE
         2  TEST_K_STATE
         3  TEST_SE0/NAK
         4  TEST_PACKET
         5  TEST_FORCE_ENABLE
         6  SS compliance enable
        10  Suspend
        11  Resume
        12  Single step get device descriptor (HC packet parameters)
        13  Suspend+reset (Chirp timing)
       101  TEST_J_STATE (Hub)
       102  TEST_K_STATE (Hub)
       103  TEST_SE0/NAK (Hub)
       104  TEST_PACKET (Hub)
       105  TEST_FORCE_ENABLE (Hub)

Notes:

High-speed USB Host Mode Electrical Testing

USB test instructions often refer to the screenshots of HSETT. To make it easier to correlate HSETT instructions with UsbHostPortTestApp command line options, users are recommended to read Agilent USB Electrical testing notes: http://www.usb.org/developers/docs/USB_Electrical_Testing_Notes.pdf. Following sections will list Agilent instructions along side the instructions for UsbHostPortTestApp.efi. Don't worry if you don't have Agilent scope in your lab because all vendors refer to the same HSETT in their documents.

Notes:

Host Hi-Speed Signal Quality

Step Agilent Instructions UsbHostPortTestApp Instructions
1 Test instructions Part1 (P134) In scope Click OK to close the Test Instruction dialog.
2 Test Instructions Part2 (P135) Run 'UsbHostPortTestApp.efi "1 4"' in console. Then in scope click OK to close the Test Instruction dialog.


Host Controller Packet Parameters

Step Agilent Instructions UsbHostPortTestApp Instructions
1 Test instructions Part1 (P139) Do nothing.
2 Test Instructions Part2 (P140) Run 'UsbHostPortTestApp.efi "1 12"' in console. After seeing "Press enter to send next control transfer stage", press enter once. Then in scope click OK to close the Test Instruction dialog.
3 Test instructions Part3 (P141) Press Enter twice in console. Then in scope click OK to close the Test Instruction dialog.
4 Test instructions for EL_55 SOF EOP Width Test (P143) In scope click OK to close the Test Instruction dialog. After scope is done with the test, press any key to exit UsbHostPortTestApp.


Host CHIRP Timing

Step Agilent Instructions UsbHostPortTestApp Instructions
1 Test Instructions Part2 (P150) Run 'UsbHostPortTestApp.efi "1 13"' in console. Then in scope click OK to close the Test Instruction dialog.


Host Suspend/Resume Timing

Step Agilent Instructions UsbHostPortTestApp Instructions
1 Test instructions (P154) Run 'UsbHostPortTestApp.efi "1 10"' in console. Then in scope Click OK to close the Test Instruction dialog.
2 Test Instructions (P155) Run 'UsbHostPortTestApp.efi "1 11"' in console. Then in scope click OK to close the Test Instruction dialog.


Host Test J/K, SE0_NAK

Step Agilent Instructions UsbHostPortTestApp Instructions
1 EL_8 J Test (P158) Run 'UsbHostPortTestApp.efi "1 1"' in console. Then in scope click OK to close the Test Instruction dialog. Enter the voltage measurements.
2 EL_8 K Test (P159) Run 'UsbHostPortTestApp.efi "1 2"' in console. Then in scope click OK to close the Test Instruction dialog. Enter the voltage measurements.
3 EL_9 SE0_NAK Test (P160) Run 'UsbHostPortTestApp.efi "1 3"' in console. Then in scope click OK to close the Test Instruction dialog. Enter the voltage measurements.


Host Disconnect Detect

Step Agilent Instructions UsbHostPortTestApp Instructions
1 EL_37 Disconnect Detect Test at 525mV Threshold (P146) Run 'UsbHostPortTestApp.efi "1 5"' in console. Press enter and a line will be displayed on whether disconnect is detected. Then enter the result in scope.
2 EL_38 Disconnect Detect Test at 625mV Threshold (P146) After change the Test switch to Normal position, press Enter again in console. The tool will check connection status again and display the result. Enter the result in scope.

Hub Port Test Modes

Notes:

Hub Hi-Speed Signal Quality - Downstream Facing Ports

Step Agilent Instructions UsbHostPortTestApp Instructions
1 Test Instructions (P71) Run 'UsbHostPortTestApp.efi "0 104 1"' in console. Then in scope click OK to close the Test complete dialog. Reset the hub/device after test.


Hub Jitter Test - Downstream Facing Ports

Step Agilent Instructions UsbHostPortTestApp Instructions
1 Test instructions (P75) Run 'UsbHostPortTestApp.efi "0 105 1"' in console, followed by "UsbHostPortTestApp.efi 0 4". Then in scope click OK to close the Test Instruction dialog. Reset the hub/device after test.


Hub Test J/K, SE0_NAK - Downstream Facing Ports

Step Agilent Instructions UsbHostPortTestApp Instructions
1 EL_8 J Test (P127) Run 'UsbHostPortTestApp.efi "0 101 1"' in console. Then in scope click OK to close the Test Instruction dialog. Enter the voltage measurements.
2 EL_8 K Test (P128) Run 'UsbHostPortTestApp.efi "0 102 1"' in console. Then in scope click OK to close the Test Instruction dialog. Enter the voltage measurements.
3 EL_9 SE0_NAK Test (P129) Run 'UsbHostPortTestApp.efi "0 103 1"' in console. Then in scope click OK to close the Test Instruction dialog. Enter the voltage measurements. Reset the hub/device after test.


Super-speed USB Host Mode Electrical Testing

Notes:

Copyright © 2011 - 2017 Qualcomm Technologies, Inc. All rights reserved.