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 ar‐
26 rive and taking the appropriate action for each message (incoming mes‐
27 sages can be shown with the --show-msgs option). The follower maintains
28 an internal state with appropriate parameters such as volume, current
29 active source, power state and so on (state changes can be shown with
30 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 de‐
43 vice 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 de‐
63 vice 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 --version
75 Show version information.
76
77 -w, --wall-clock
78 Show timestamps as wall-clock time. This also turns on verbose
79 reporting.
80
81 -T, --trace
82 Trace all called ioctls. Useful for debugging.
83
84 -h, --help
85 Prints the help message.
86
87 -n, --no-warnings
88 Turn off warning messages.
89
90 -m, --show-msgs
91 Show received messages.
92
93 -s, --show-state
94 Show state changes from the emulated device.
95
96 --service-by-dig-id
97 Report digital services by digital ID instead of by channel.
98
99 --standby
100 Start the follower in the Standby status.
101
102 --toggle-power-status <secs>
103 Toggle the power status every <secs> seconds. Only supported if
104 the follower is emulating a TV.
105
106 -i, --ignore <la>,<opcode>
107 Ignore messages from logical address <la> and opcode <opcode>.
108 'all' can be used for <la> or <opcode> to match all logical ad‐
109 dresses or opcodes.
110
111
113 On success, it returns 0. Otherwise, it will return the error code.
114
116 This manual page is a work in progress.
117
118 Bug reports or questions about this utility should be sent to the
119 linux-media@vger.kernel.org mailinglist.
120
122 cec-compliance(1), cec-ctl(1)
123
124
125
126v4l-utils 1.22.1 August 2016 CEC-FOLLOWER(1)