Make sure you have installed the control software as described in Software Comissioning.

Using multiple USB-SD-Muxes on a singe host is considered a common use case. Thus, it is a good practice to access a USB-SD-Mux via the /dev/usb-sd-mux/id* symlinks created by the provided udev-rule. The following examples are based on a USB-SD-Mux with the ID 000000000101.

If you have set up the udev rule to grant access to the USB-SD-Mux control interface to your current user, you should be able to use it as shown below. Otherwise you may need to use the sudo command.

  • To multiplex the Micro-SD-Card to the DUT

    $ usbsdmux /dev/usb-sd-mux/id-000000000101 DUT


The card insertion detection signal on the DUT's SD card controller is not toggled, when you switch into DUT-mode on the USB-SD-Mux. Therefore, you either need to signal this to the DUT externally or simply power-cycle the DUT.

  • To multiplex the Micro-SD-Card to the host:

    $ usbsdmux /dev/usb-sd-mux/id-000000000101 host
  • To disconnect the micro SD card from DUT and Host:

    $ usbsdmux /dev/usb-sd-mux/id-000000000101 off
  • To get the current status of the USB-SD-Mux:

    $ usbsdmux /dev/usb-sd-mux/id-000000000101 get


The default state of USB-SD-Mux is off.

The block device of an USB-SD-Mux is symbolically linked as


Tool Integration

The labgrid project has support for the USB-SD-Mux. See labgrid's documentation for more details.