USB-Mux

Technologies
  • USB 2.0
  • Python 3
  • Linux (Kernel 4.* or higher)
  • labgrid

The USB-Mux is a tool to support the development of embedded Linux devices. The USB-Mux has three USB 2.0 ports, all serving different purposes:

  • The Host port is used as a control interface that allows our Python-based host tool control the USB-Mux.
  • The Device port is used to connect USB devices like flash drives to the USB-Mux.
  • The DUT port is used to connect your device under test. It allows the device itself to act as an USB-host or USB-device, allowing automatic testing of USB OTG functionality.

The USB-Mux uses analog switches and power transistors to create connections between its various ports. It allows workflows like connecting your host to the device port to write data to a connected flash drive before connecting the DUT to the device port to boot from said drive. Or it allows you to connect your DUT to the host port to test the DUT in its device role.

The USB-Mux is already well integrated into the labgrid framework, allowing you to start automating tests on USB devices right when your order arrives.

Resources

Sale: Manufacturing delayed
Software: https://github.com/linux-automation/usbmuxctl
Manual: in development