1CEC-FOLLOWER(1)                  User Commands                 CEC-FOLLOWER(1)
2
3
4

NAME

6       cec-follower - An application to emulate CEC followers
7

SYNOPSIS

9       cec-follower [-h] [-d <dev>] [other options]
10

DESCRIPTION

12       The  cec-follower  tool  is used to emulate CEC followers. Based on the
13       configured logical address(es) of the CEC device it  will  emulate  the
14       CEC behavior accordingly.
15
16       Configuring the CEC device is done using cec-ctl. Certain CEC function‐
17       alities are only emulated if the corresponding Device Features flag  is
18       set (these are set when configuring with cec-ctl). These are:
19
20           - Audio Return Channel (RX and TX)
21           - Audio Rate Control
22           - Deck Control
23           - Record TV screen
24
25       cec-follower  is  basically  a  message  loop,  waiting for messages to
26       arrive and taking the appropriate action  for  each  message  (incoming
27       messages  can be shown with the --show-msgs option). The follower main‐
28       tains an internal state with appropriate  parameters  such  as  volume,
29       current  active  source,  power  state  and so on (state changes can be
30       shown with the --show-state option).
31
32       It also aims to be a reference implementation on how a follower  should
33       behave.
34
35       cec-follower  will  keep track of incoming messages and look for viola‐
36       tions of the CEC specification with regards to timings. For example, it
37       will  warn  if it receives the same message again within 200ms after it
38       replied <Feature Abort> ["Unrecognized Opcode"] to that message, and it
39       will check that press and hold behavior is done properly.
40
41       cec-follower  will  periodically  send out polling messages to discover
42       when a remote device is removed or a  new  one  has  appeared.  When  a
43       device  is  removed, the recorded information about it is cleared. Each
44       logical address is polled about  once  every  15  seconds.  In  between
45       polls,  removing  a remote device or replacing it with a new one is not
46       detected.
47
48       When running compliance tests with cec-compliance, cec-follower  should
49       be  run  on  the  same  device to act on incoming messages that are not
50       replies to messages sent by the compliance tool. Before  each  test-run
51       cec-follower  should  be  restarted if it is running, to initialize the
52       emulated device with a clean and known initial state.
53

OPTIONS

55       -d, --device <dev>
56              Use device <dev> as the CEC device. If <dev> is a  number,  then
57              /dev/cec<dev> is used.
58
59       -D, --driver <drv>
60              Use  a cec device that has driver name <drv>, as returned by the
61              CEC_ADAP_G_CAPS ioctl.  This option can be combined with  -a  to
62              uniquely  identify  a  CEC  device without having to rely on the
63              device node number.
64
65       -a, --adapter <adap-name>
66              Use a cec device that has adapter name <adap-name>, as  returned
67              by  the CEC_ADAP_G_CAPS ioctl.  This option can be combined with
68              -D to uniquely identify a CEC device without having to  rely  on
69              the device node number.
70
71       -v, --verbose
72              Turn on verbose reporting.
73
74       -w, --wall-clock
75              Show  timestamps  as wall-clock time. This also turns on verbose
76              reporting.
77
78       -T, --trace
79              Trace all called ioctls. Useful for debugging.
80
81       -h, --help
82              Prints the help message.
83
84       -n, --no-warnings
85              Turn off warning messages.
86
87       -m, --show-msgs
88              Show received messages.
89
90       -s, --show-state
91              Show state changes from the emulated device.
92
93       --service-by-dig-id
94              Report digital services by digital ID instead of by channel.
95
96       -i, --ignore <la>,<opcode>
97              Ignore messages from logical address <la> and  opcode  <opcode>.
98              'all'  can  be  used  for  <la> or <opcode> to match all logical
99              addresses or opcodes.
100
101

EXIT STATUS

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

BUGS

106       This manual page is a work in progress.
107
108       Bug reports or questions about this  utility  should  be  sent  to  the
109       linux-media@vger.kernel.org mailinglist.
110

SEE ALSO

112       cec-compliance(1), cec-ctl(1)
113
114
115
116v4l-utils 1.20.0                  August 2016                  CEC-FOLLOWER(1)
Impressum