Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CEC-CTL(1)			 User Commands			    CEC-CTL(1)

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 de-
	      vice 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  ad-
	      dress.

       -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  ad-
	      dress.  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  unconfig-
	      ured.

       -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 af-
	      ter 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	neces-
	      sary 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  mes-
	      sages  are  passed  on  as  input	 keystrokes  (the  CEC_LOG_AD-
	      DRS_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  re-
	      ply 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  mes-
	      sages, messages directed to this CEC adapter and messages	trans-
	      mitted  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 mes-
	      sages, 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 transi-
	      tions. This is only possible if the device has the CEC_CAP_MONI-
	      TOR_PIN capability. This option requires root.  When in pin mon-
	      itoring 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>][,re-
       peats=<reps>][,sleep-before-on=<secs1>][,sleep-before-off=<secs2>]
	      This option performs a stress test for a display:	it  power  cy-
	      cles  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 ran-
	      dom 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	speci-
	      fied, 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.

v4l-utils 1.23.0		  August 2016			    CEC-CTL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cec-ctl&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help