System Requirements
###################
Software: Linux
===============
The following software components are required to install and
run the USB-Mux host software:
* A Linux system with kernel version 4.* or above.
* The ``git`` command to download software components.
* A Python 3 interpreter.
* | Support for the Python 3 Module ``venv``.
| This is part of the ``python3`` package on most distributions.
| On Debian, however, the package ``python3-venv`` is needed.
Optional requirements to gain best experience:
* **udev** makes it possible to control the USB-Mux without root-privileges.
Software: Windows
=================
.. _requirements_windows:
The following software components are required to install and
run the USB-Mux host software:
* Windows 10 or Windows 11.
* ``python3`` with builtin ``pip``.
The latest installer from the python.org `download page `_ should do.
Make sure to add the Python binaries to your path during installation.
* Installation of the
`Windows driver package `_
for the USB-Mux.
Hardware
========
USB-Mux to Host connection
--------------------------
Use an USB-A to USB-B Cable to connect the USB-Mux to a :term:`host` computer.
Every standard USB-A to -B Cable, with a maximum length of 1.8m, should do.
.. important::
Make sure the cable is not longer than 1.8 m.
Using longer cables may result in problems with :term:`EMI`.
USB-Mux to DUT connection
-------------------------
Use the USB cable supplied with the USB-Mux to connect it
to the :term:`DUT`.
.. note::
The DUT port uses a 78208-106HLF 2.54mm pin-header by
Amphenol ICC that makes building and using custom cables
straightforward.
Keep in mind however, that using such a hand-crafted cable
may cause issues with regards to :term:`EMI` and signal integrity.
USB-Mux to Device connection
----------------------------
USB devices can either be connected directly to the "Device" port on the
USB-Mux or via an USB cable, with a maximum length of 1.8m.