1CEC-FOLLOWER(1) User Commands CEC-FOLLOWER(1)
2
3
4
6 cec-follower - An application to emulate CEC followers
7
9 cec-follower [-h] [-d <dev>] [other options]
10
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
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
103 On success, it returns 0. Otherwise, it will return the error code.
104
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
112 cec-compliance(1), cec-ctl(1)
113
114
115
116v4l-utils 1.20.0 August 2016 CEC-FOLLOWER(1)