Provided by: v4l-utils_1.22.1-2build1_amd64 bug

NAME

       cec-ctl - An application to control cec devices

SYNOPSIS

       cec-ctl [-h] [-d <dev>] [many other options]

DESCRIPTION

       The  cec-ctl  tool is used to control cec devices. It is able to control almost any aspect
       of such devices covering the full CEC API.

       The easiest way to quickly test a CEC adapter of an HDMI output is:

            cec-ctl -d/dev/cecX --playback -S

       And for an HDMI input:

            cec-ctl -d/dev/cecX --tv -S

       Both commands configure the CEC adapter and show the CEC topology.

       To put a display to standby use:

            cec-ctl -d/dev/cecX --to 0 --standby

       To wake up the display:

            cec-ctl -d/dev/cecX --to 0 --image-view-on

       To switch the TV to our HDMI output  (replace  the  physical  address  with  what  cec-ctl
       -d/dev/cecX reported):

            cec-ctl -d/dev/cecX --to 0 --active-source phys-addr=1.0.0.0

       Instead  of  '-d/dev/cecX'  you can also write this as '-dX'.  And instead of '--to 0' you
       can also write this as '-t0'.

OPTIONS

       -d, --device <dev>
              Use device <dev> as the CEC device. If <dev> is a  number,  then  /dev/cec<dev>  is
              used.

       -D, --driver <drv>
              Use  a  cec  device  that has driver name <drv>, as returned by the CEC_ADAP_G_CAPS
              ioctl.  This option can be combined with -a  to  uniquely  identify  a  CEC  device
              without having to rely on the device node number.

       -a, --adapter <adap-name>
              Use   a  cec  device  that  has  adapter  name  <adap-name>,  as  returned  by  the
              CEC_ADAP_G_CAPS ioctl.  This option can be combined with -D to uniquely identify  a
              CEC device without having to rely on the device node number.

       -v, --verbose
              Turn on verbose reporting.

       --version
              Show version information.

       -w, --wall-clock
              Show timestamps as wall-clock time. This also turns on verbose reporting.

       -h, --help
              Prints the help message.

       -p, --phys-addr <addr>
              Use  this  physical  address.  The  address  can  be a number (e.g. 0 or 0x11b1) or
              formatted as a.b.c.d where each component is a hex value from 0-f (e.g. 0.0.0.0  or
              1.1.b.1).

       -e, --phys-addr-from-edid <path>
              Parse  the given EDID file (in raw binary format) and extract the physical address.
              If the EDID file does not exist or  does  not  contain  a  physical  address,  then
              invalidate the physical address.

       -E, --phys-addr-from-edid-poll <path>
              Parse  the given EDID file (in raw binary format) and extract the physical address.
              If the EDID file does not exist or  does  not  contain  a  physical  address,  then
              invalidate  the  physical  address. Poll for changes in this EDID file every 100 ms
              and, if changed, update the physical address.

              This provides a way for Pulse-Eight (or similar) USB CEC dongles to become aware of
              HDMI disconnect and reconnect events.

              Polling  happens  in the background while cec-ctl processes other requested actions
              (i.e. transmitting messages, waiting for replies, etc.) and when that is  all  done
              cec-ctl will keep polling until the user kills cec-ctl (Ctrl-C).

       -o, --osd-name <name>
              Use this OSD name. The maximum length is 14 characters.

       -V, --vendor-id <id>
              Use this vendor ID. The vendor ID is a number from 0x0 to 0xffffff.

       -l, --logical-address
              Show  first  configured  logical  address or nothing if the device is unconfigured.
              Useful for scripts, e.g.: la=`cec-ctl -s -l`

       -L, --logical-addresses
              Show all configured logical addresses or nothing if  the  device  is  unconfigured.
              Useful for scripts, e.g.: las=`cec-ctl -s -L`

       -C, --clear
              Clear all logical addresses, leaving the CEC device unconfigured.

       -n, --no-reply
              By  default  when sending a CEC message that expects a reply this utility will wait
              for that reply. With this option it will just  send  it  without  waiting  for  the
              reply.  This  option  applies  to the messages following this option.  It acts as a
              toggle, so after you specify it a second time then the following messages will wait
              for a reply again.

       -N, --non-blocking
              Transmit messages in non-blocking mode.

       -t, --to <la>
              Send the message to the given logical address (0-15).

       -f, --from <la>
              Send  message  from  the  given  logical  address. It is only necessary to use this
              option if multiple logical addresses are claimed. By  default  the  first  assigned
              logical address will be used.

       -r, --show-raw
              Show the raw CEC message in hex.

       -s, --skip-info
              Skip the Driver Info output section.

       -S, --show-topology
              Show the CEC topology, detecting which other CEC devices are on the CEC bus.

       -P, --poll
              Send a poll message.

       -T, --trace
              Trace all called ioctls. Useful for debugging.

       --cec-version-1.4
              Use CEC Version 1.4 instead of 2.0 (the default).

       --allow-unreg-fallback
              Allow  fallback  to  Unregistered if all logical addresses are claimed.  By default
              the adapter will remain unconfigured.

       --no-rc-passthrough
              Disable the RC passthrough. By default remote control CEC messages are passed on as
              input  keystrokes  (the CEC_LOG_ADDRS_FL_ALLOW_RC_PASSTHRU flag is set when calling
              the CEC_ADAP_S_LOG_ADDRS ioctl), but this can be blocked by using this option.

       --reply-to-followers
              The reply will be sent to followers as well. By default the reply will only  go  to
              the  follower  that  initiated  the  CEC  message.  But if you have other followers
              running as well, then by giving this option they will also receive the reply.

       --timeout <ms>
              Set the reply timeout in milliseconds (default is 1000 ms).

       --tv   Configure the CEC adapter as a TV.

       --record
              Configure the CEC adapter as a recording and playback device.

       --tuner
              Configure the CEC adapter as a tuner device.

       --playback
              Configure the CEC adapter as a playback device.

       --audio
              Configure the CEC adapter as an audio system device.

       --processor
              Configure the CEC adapter as a processor device.

       --switch
              Configure the CEC adapter as a pure CEC switch.

       --cdc-only
              Configure the CEC adapter as a CDC-only device.

       --unregistered
              Configure the CEC adapter as an unregistered device.

       --feat-record-tv-screen
              Signal the Record TV Screen feature.

       --feat-set-osd-string
              Signal the Set OSD String feature.

       --feat-deck-control
              Signal the Deck Control feature.

       --feat-set-audio-rate
              Signal the Set Audio Rate feature.

       --feat-sink-has-arc-tx
              Signal the sink ARC Tx feature.

       --feat-source-has-arc-rx
              Signal the source ARC Rx feature.

       --rc-tv-profile-1
              Signal RC TV Profile 1.

       --rc-tv-profile-2
              Signal RC TV Profile 2.

       --rc-tv-profile-3
              Signal RC TV Profile 3.

       --rc-tv-profile-4
              Signal RC TV Profile 4.

       --rc-src-dev-root
              Signal that the RC source has a Dev Root Menu.

       --rc-src-dev-setup
              Signal that the RC source has a Dev Setup Menu.

       --rc-src-contents
              Signal that the RC source has a Contents Menu.

       --rc-src-media-top
              Signal that the RC source has a Media Top Menu.

       --rc-src-media-context
              Signal that the RC source has a Media Context Menu.

       -m, --monitor
              Start monitoring CEC  traffic.  This  will  monitor  broadcast  messages,  messages
              directed to this CEC adapter and messages transmitted by this CEC adapter. Directed
              messages between other CEC devices are not monitored. This option requires root.

       -M, --monitor-all
              Start monitoring all CEC traffic. This will monitor  all  CEC  messages,  including
              directed  messages  between  other CEC devices. This option requires root.  Not all
              CEC devices support this monitoring mode. It will fallback  to  regular  monitoring
              mode if it is not supported.

       --monitor-pin
              Start  monitoring  and  analyzing  the  low-level CEC pin transitions. This is only
              possible if the device has the CEC_CAP_MONITOR_PIN capability. This option requires
              root.   When  in  pin  monitoring  mode  all  0->1 and 1->0 CEC pin transitions are
              monitored and analysed. This is effectively a cheap CEC bus analyzer.

       --monitor-time <secs>
              Monitor for the given number of seconds, then exit. The default (0) is  to  monitor
              forever.

       --ignore <la>,<opcode>
              Ignore  messages  from  logical  address  <la> and opcode <opcode> when monitoring.
              "all" can be used for <la> or <opcode> to match all logical addresses  or  opcodes.
              To ignore poll messages use "poll" as <opcode>.

       --store-pin <to>
              Store the CEC pin events to the given file. This can be read and analyzed later via
              the --analyze-pin option. Use - to write to stdout instead of to a file.

       --analyze-pin <from>
              Read and analyze the CEC pin events from the given file. Use - to read  from  stdin
              instead of from a file.

       --test-power-cycle [polls=<n>][,sleep=<secs>]
              This option tests the power cycle behavior of the display. It polls up to <n> times
              (default 15), waiting for a state change.  If  that  fails  then  it  waits  <secs>
              seconds (default 10) before retrying this.

       --stress-test-power-cycle              cnt=<count>[,polls=<n>][,max-sleep=<maxsecs>][,min-
       sleep=<minsecs>][,seed=<seed>][,repeats=<reps>][,sleep-before-on=<secs1>][,sleep-before-
       off=<secs2>]
              This  option  performs  a  stress  test  for a display: it power cycles the display
              <count> times using the CEC Standby and Image View On commands. If  <count>  is  0,
              then  never  stop.   It  polls  up  to  <n> times (default 30), waiting for a state
              change.  If <maxsecs> is non-zero (0 is the  default),  then  sleep  for  a  random
              number  of  seconds  between <minsecs> (0 is the default) and <maxsecs> before each
              <Standby> or <Image View On>  message.   If  <seed>  is  specified,  then  set  the
              randomizer seed to that value instead of using the current time as seed.  If <reps>
              is specified, then repeat the <Image View On> and <Standby>  up  to  <reps>  times.
              Note  that this test should work without any repeats. If a non-zero <reps> value is
              needed in order to pass this test, then that indicates a problem.   If  <secs1>  is
              specified,  then sleep for <secs1> seconds before transmitting <Image View On>.  If
              <secs2> is specified, then sleep for <secs2> seconds before transmitting <Standby>.

       --help-all
              Prints the help message for all options.

       --help-audio-rate-control
              Show help for the Audio Rate Control feature.

       --help-audio-return-channel-control
              Show help for the Audio Return Channel Control feature.

       --help-capability-discovery-and-control
              Show help for the Capability Discovery and Control feature.

       --help-deck-control
              Show help for the Deck Control feature.

       --help-device-menu-control
              Show help for the Device Menu Control feature.

       --help-device-osd-transfer
              Show help for the Device OSD Transfer feature.

       --help-dynamic-audio-lipsync
              Show help for the Dynamic Audio Lipsync feature.

       --help-htng
              Show help for the Hospitality Profile Next Generation feature.  This is an optional
              CEC  extension  for  Hotel  displays  and  is  not  generally available for regular
              displays. See http://www.htng.org for more information.

       --help-osd-display
              Show help for the OSD Display feature.

       --help-one-touch-play
              Show help for the One Touch Play feature.

       --help-one-touch-record
              Show help for the One Touch Record feature.

       --help-power-status
              Show help for the Power Status feature.

       --help-remote-control-passthrough
              Show help for the Remote Control Passthrough feature.

       --help-routing-control
              Show help for the Routing Control feature.

       --help-standby
              Show help for the Standby feature.

       --help-system-audio-control
              Show help for the System Audio Control feature.

       --help-system-information
              Show help for the System Information feature.

       --help-timer-programming
              Show help for the Timer Programming feature.

       --help-tuner-control
              Show help for the Tuner Control feature.

       --help-vendor-specific-commands
              Show help for the Vendor Specific Commands feature.

EXIT STATUS

       On success, it returns 0. Otherwise, it will return the error code.

BUGS

       This manual page is a work in progress.

       Bug  reports  or  questions  about  this  utility   should   be   sent   to   the   linux-
       media@vger.kernel.org mailinglist.