Test fixtures

Multi-function test fixtures

USB Function

When the MTDA agent is running on devices such as the NanoPi NEO, it may provide the following USB functions to the DUT:

  • USB Mass Storage

  • USB HID (Keyboard)

  • USB ACM

Its vendor/product ID pair is 1d6b:0104 and its serial number of the form mtda- followed by alphanumeric characters (2020 at this time but will eventually become a unique identifier).

The USB Mass Storage function may be used as a shared storage between the agent and the DUT. This capability is particularly useful with systems that may boot from a USB Mass Storage device. For PCs, this often requires entering the boot menu and selecting USB as boot media.

The USB HID (Keyboard) was added when early interaction with the DUT is needed. This may be used in a power on script like the following:

[scripts]
power on:
    import time
    time.sleep(5)
    mtda.keyboard.esc(5)
    time.sleep(0.5)
    mtda.keyboard.down()
    mtda.keyboard.enter()
    mtda.keyboard.idle()

Key events are sent blindly. When the Operating System comes up on the DUT, it may detect the USB ACM function and open a serial console (such as agetty) to provide a MTDA console to clients. On the agent side, the serial device will usually be /dev/ttyGS0 and should be configured with a speed of 9600 bauds.

The following blocks may be added to the MTDA configuration file used by the agent to enable the functions listed above:

[console]
variant=usbf

[storage]
variant=usbf
file=/dev/sda

[keyboard]
variant=hid
device=/dev/hidg0