Provided by: sd-mux-ctrl_0.0.3-3_amd64 bug

NAME

       sd-mux-ctrl - control software for sd-mux devices

SYNOPSIS

       sd-mux-ctrl  [-liuortdspcmvexn?]  [-l|--list]  [-i|--info]  [-u|--status]  [-o|--show-serial]  [-r|--set-
       serial=STRING]  [-t|--init]  [-d|--dut]  [-s|--ts]   [-p|--pins=INT]   [-c|--tick]   [-y|--dyper1=STRING]
       [-z|--dyper2=STRING]      [-m|--tick-time=INT]      [-v|--device-id=INT]      [-e|--device-serial=STRING]
       [-x|--vendor=INT] [-a|--product=INT] [-k|--device-type=STRING] [-n|--invert] [-?|--help] [--usage]

DESCRIPTION

       sd-mux-ctrl is a tool for controlling multiple sd-mux devices. This tool along with the  device  supports
       the following actions:
         1. connect SD card to DUT (Device Under Test) or to TS (Test Server)
         2. connect one USB port to DUT or TS
         3. power off/on connected DUT
         4. reset connected DUT by power disconnecting and reconnecting after specified timeout

       After  manufacturing,  each new sd-mux device has VENDOR ID set to 0x0403 which is the ID of FTDI company
       of whose chip (FT245RL) the device is based.  Before first real use, the device should be given a  unique
       serial  number.  To do that --set-serial command must be executed. --set-serial command writes additional
       information and one of them is VENDOR ID.  Since then the device  may  be  used  without  using  --vendor
       option which is necessary until the correct VENDOR ID is set.

OPTIONS

       -m, --tick-time
         Set period (in milliseconds) for --tick command.

       -v, --device-id
         Point  at  device  which  is  to  be used with selected command. Argument for this option is an integer
         number which is the ID of wanted device. It may be found in the result of --list command.  This  method
         is  not recommended for common usage as the ID may change after disconnecting and reconnecting devices.
         This method may be helpful in particular situations when serial number is not a reliable way of  device
         addressing.

       -e, --device-serial
         Point  at  device which is to be used with selected command. Argument for this option is a string which
         is the serial number of wanted device. It may be found in the result of --list command.   This  is  the
         recommended way of addressing devices.

       -x, --vendor
         Set VENDOR ID of devices which are to be used by sd-mux-ctrl. Default value is 0x04e8 which is assigned
         to SAMSUNG Electronics Company. Default PRODUCT ID is equal to 0x6001 - the default FTDI value.

       -a, --product
         Set PRODUCT ID of devices which are to be used by sd-mux-ctrl. Default value is 0x6001.

       -k, --device-type
         Set  device type of sd-mux. It can be either "sd-mux" or "sd-wire". This setting is used to distinguish
         one type of SD-MUX from another. "sd-mux" is a type of standard, full-sized SD-MUX  board,  while  "sd-
         wire"  is  a  type of miniaturized version of SD-MUX with functionality reduced to SD card multiplexing
         only.

       -n, --invert
         Invert bits given in argument of --pins command. Useful for debugging purposes.

       -h, --help
         Print short help and exit.

       --usage
         Print list of command and options and exit.

COMMANDS

   -l, --list
         Print list of all connected sd-mux devices and exit. It takes  optional  --vendor  --product  arguments
         that  allow  one  to  use  other  VENDOR  and  PRODUCT IDs then the default ones.  The default value is
         0x04e8:6001 which belongs to SAMSUNG Electronics Company.  VENDOR and PRODUCT IDs are used to  discover
         all  connected  sd-mux devices. This is very important in post production (sd-mux device) phase, before
         first use.

   -i, --info
         Print detailed information about selected device (--device-serial). Sample output of this command:

          VID:     0x04e8
          PID:     0x6001
          Release: 0x0600
          Bus Powered:  90 mA
          Manufacturer: SRPOL
          Product:      sd-mux
          Serial:       odroid_u3_1
          Checksum      : ea57
          Internal EEPROM
          PNP: 1
          Channel A has Mode UART VCP
          C0 Function: TXLED
          C1 Function: RXLED
          C2 Function: TXDEN
          C3 Function: PWREN
          C4 Function: SLEEP

         Shape of this output depends on libftdi library so may change along with library changes.

   -u, --status
         Print current state of selected device. Example command with output:

         $ sd-mux-ctrl --status --device-serial odroid_u3_1
         USB connected to: DUT
         SD connected to: DUT
         $

         Or:

         $ sd-mux-ctrl --status --device-serial odroid_u3_1
         Device not initialized!
         $

         when the device is not initialized after connecting to a host.

   -o, --show-serial
         Print serial number of selected device. Use --device-id to select wanted device. This  command  outputs
         only  serial  number,  without  end of line.  This command is useful actually only for scripts. Example
         command with output:

         [sd-mux-ctrl-0.0.1]$ sudo sd-mux-ctrl --device-id=0 --show-serial
         minnow_max_1[sd-mux-ctrl-0.0.1]$

   -r, --set-serial
         Set serial number of selected device. Use --device-id  or  --device-serial  to  select  wanted  device.
         Following example changes device's serial number from AL018T40 to odroid_u3_1 :

         [rpm]$ sudo sd-mux-ctrl --device-serial=AL018T40 --vendor=0x403 --set-serial=odroid_u3_1

         --set-serial  command does actually a little bit more than setting a serial number.  It also writes new
         values of VENDOR ID, Product and Manufacturer.  VENDOR ID (VID) is set to 0x04e8  (SAMSUNG  Electronics
         Company),  Product  is  set to sd-mux and Manufacturer is set to SRPOL which is a short name of Samsung
         R&D Poland.

   -t, --init
         Set connected device into well defined state. After powering up, sd-mux device is in random state.   SD
         card and USB may be connected either to DUT or TS. SD card and USB are not tied together so one of them
         may  be  connected to DUT and the other one may be connected to TS. All combinations are possible.  The
         most important thing here is power steering. As we use bistable, two-coil relay we have  to  make  sure
         that  in stable state both coils are disconnected from power.  Unfortunately after connecting sd-mux to
         USB host, state of power control lines is unknown so we have  to  set  them  into  correct  one.   Init
         command powers off DUT and connects USB and SD card to TS. Example:

         [rpm]$ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --init

   -d, --dut
         Connect  USB  port  and  SD  card  to  a DUT (Device Under Test) and power it on.  After executing this
         command the DUT should start and load image from SD card mounted in the sd-mux device.

         Note that some devices won't  (re)start  after  execution  of  this  command.  This  is  caused  by  SD
         multiplexer chip.  When SD is connected to TS then it is actually connected to USB SD card reader.  The
         reader  powers  up  SD card and some part of the voltage is transmitted to the DUT through SD mux chip.
         To force restart one must invoke --tick command after --dut is executed.  Odroid U3 is  an  example  of
         device with such behavior.

         $ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --dut
         $ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --tick

   -s, --ts
         Connect  USB  port and SD card to a TS (Test Server) and powers off the DUT (Device Under Test).  After
         executing this command SD card is connected to SD card reader at the TS side.

         $ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --ts

   -p, --pins
         Set FTDI chip (FT245RL) pins to given state. --pins takes 8  bit  word  as  an  argument  and  optional
         --invert argument inverts all bits in the given word.  This value, after optional inverting, is written
         to FT245RL D0-D7 pins.

         $ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --pins=0x69 --invert

   -c, --tick
         Disconnect power from the Device Under Test and reconnect again after 1000 ms.  If --tick-time is used,
         then 1000ms is replaced with number of milliseconds given in --tick-time argument.

         $ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --tick --tick-time=2000

   -y, --dyper1
         Disconnect  or  connect  terminals  of dynamic jumper. Argument "on" connects and "off" disconnects the
         terminals.

         $ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --dyper1 on

   -z, --dyper2
         Disconnect or connect terminals of dynamic jumper. Argument "on" connects  and  "off"  disconnects  the
         terminals.

         $ sudo sd-mux-ctrl --device-serial=odroid_u3_1 --dyper2 on

AUTHOR

       Adam Malinowski <a.malinowsk2@partner.samsung.com>.

REPORTING BUGS

       Please, report bugs to Adam Malinowski <a.malinowsk2@partner.samsung.com>.

Tizen                                              March 2018                                     SD-MUX-CTRL(1)