1CEC-COMPLIANCE(1) User Commands CEC-COMPLIANCE(1)
2
3
4
6 cec-compliance - An application to verify remote CEC devices
7
9 cec-compliance [-h] [-d <dev>] [other options]
10
12 The cec-compliance utility can be used to test how well remote CEC
13 devices comply with the CEC specification. It can also be used to test
14 the local CEC adapter (with the -A option).
15
16 By default it will run through all tests, but if one or more of the
17 feature test options is given, then only those tests will be performed.
18 A set of core tests is always run.
19
20 The CEC adapter needs to be configured before it is used to run tests
21 with cec-compliance. Use cec-ctl for configuration.
22
23 If the CEC adapter has claimed several logical addresses, the test set
24 is run from each logical address in succession. The remote device needs
25 to report a valid physical address in order to run tests on it.
26
27 When running compliance tests, cec-follower should be run on the same
28 adapter. cec-follower will reply to messages that are not handled by
29 cec-compliance. cec-follower will also monitor the device under test
30 for behaviors that are not compliant with the specification. Before
31 each test-run cec-follower should be restarted if it is already run‐
32 ning, to initialize the emulated device with a clean and known initial
33 state.
34
35 Some tests require interactive mode (with the -i option) to confirm
36 that the test passed. When in interactive mode, the user is asked to
37 observe or perform actions on the remote device. Some tests also give
38 conclusive test results when run in interactive mode.
39
40 When testing the local CEC adapter's compliance with the CEC API, there
41 must be at least one remote device present in order to test transmit‐
42 ting and receiving.
43
44 The compliance tests can have several possible outcomes besides passing
45 and failing:
46
47 OK The test passed.
48
49 OK (Unexpected) The test passed, but it was unexpected for the
50 device
51 under test to support it. This might for exam‐
52 ple occur
53 when a TV replies to messages in the Deck Con‐
54 trol
55 feature.
56
57 OK (Not Supported) The feature that was tested is not supported by
58 the
59 device under test, and that feature was not
60 mandatory for
61 the device to pass.
62
63 OK (Presumed) Nothing went wrong during the test, but the
64 test cannot
65 positively verify that the required effects of
66 the test
67 occurred. The test runner should verify that
68 the test
69 passed by manually observing the device under
70 test. This
71 is typically the test result for tests that
72 send
73 messages that are not replied to, but which
74 induce some
75 side effect on the device under test, such as a
76 TV
77 switching to another input or sending a Remote
78 Control
79 command.
80
81 OK (Refused) The device supports the feature or message
82 being tested,
83 but responded <Feature Abort> ["Refused"] to
84 indicate
85 that it cannot perform the given operation.
86 This might
87 for example occur when trying to test the One
88 Touch
89 Record feature on a TV with copy protection
90 enabled.
91
92 FAIL The test failed and was expected to pass on the
93 device.
94
95 Some tests depend on other tests being successful. These are not run if
96 the tests they depend on failed, and they will not be shown in the test
97 listing.
98
100 -d, --device <dev>
101 Use device <dev> as the CEC device. If <dev> is a number, then
102 /dev/cec<dev> is used.
103
104 -D, --driver <drv>
105 Use a cec device that has driver name <drv>, as returned by the
106 CEC_ADAP_G_CAPS ioctl. This option can be combined with -a to
107 uniquely identify a CEC device without having to rely on the
108 device node number.
109
110 -a, --adapter <adap-name>
111 Use a cec device that has adapter name <adap-name>, as returned
112 by the CEC_ADAP_G_CAPS ioctl. This option can be combined with
113 -D to uniquely identify a CEC device without having to rely on
114 the device node number.
115
116 -E, --exit-on-fail
117 Exit this application when the first failure occurs instead of
118 continuing with a possible inconsistent state.
119
120 -v, --verbose
121 Turn on verbose reporting.
122
123 -w, --wall-clock
124 Show timestamps as wall-clock time. This also turns on verbose
125 reporting.
126
127 -T, --trace
128 Trace all called ioctls. Useful for debugging.
129
130 -h, --help
131 Prints the help message.
132
133 -W, --exit-on-warn
134 Exit this application when the first warning occurs instead of
135 continuing.
136
137 -s, --skip-info
138 Skip the Driver Info output section.
139
140 -C, --color <when>
141 Highlight OK/warn/fail/FAIL strings with colors. OK is marked
142 green, warn is marked bold, and fail/FAIL are marked bright red
143 if enabled. <when> can be always, never, or auto (the default).
144
145 -n, --no-warnings
146 Turn off warning messages.
147
148 -r, --remote <la>
149 As initiator test the remote logical address <la> or all LAs if
150 no LA was given.
151
152 -i, --interactive
153 Interactive mode when doing remote tests.
154
155 -R, --reply-threshold <timeout>
156 Warn if replies take longer than this threshold (default
157 1000ms).
158
159 -t, --timeout <secs>
160 Set the standby/resume timeout to the given number of seconds.
161 Default is 60s.
162
163 -A, --test-adapter
164 Test the CEC adapter API
165
166 --test-core
167 Test the core functionality
168
169 --test-audio-rate-control
170 Test the Audio Rate Control feature
171
172 --test-audio-return-channel-control
173 Test the Audio Return Channel Control feature
174
175 --test-capability-discovery-and-control
176 Test the Capability Discovery and Control feature
177
178 --test-deck-control
179 Test the Deck Control feature
180
181 --test-device-menu-control
182 Test the Device Menu Control feature
183
184 --test-device-osd-transfer
185 Test the Device OSD Transfer feature
186
187 --test-dynamic-audio-lipsync
188 Test the Dynamic Audio Lipsync feature
189
190 --test-osd-display
191 Test the OSD Display feature
192
193 --test-one-touch-play
194 Test the One Touch Play feature
195
196 --test-one-touch-record
197 Test the One Touch Record feature
198
199 --test-power-status
200 Test the Power Status feature
201
202 --test-remote-control-passthrough
203 Test the Remote Control Passthrough feature
204
205 --test-routing-control
206 Test the Routing Control feature
207
208 --test-system-audio-control
209 Test the System Audio Control feature
210
211 --test-system-information
212 Test the System Information feature
213
214 --test-timer-programming
215 Test the Timer Programming feature
216
217 --test-tuner-control
218 Test the Tuner Control feature
219
220 --test-vendor-specific-commands
221 Test the Vendor Specific Commands feature
222
223 --test-standby-resume
224 Test standby and resume functionality. This will activate test‐
225 ing of Standby, Give Device Power Status and One Touch Play.
226
227
229 On success, it returns 0. Otherwise, it will return the error code.
230
232 We want to test the compliance of a TV when it is interacting with a
233 Playback device. The device node of the CEC adapter which the TV is
234 connected to is /dev/cec1.
235
236 The local CEC adapter first needs to be configured as a Playback
237 device, and it must have an appropriate physical address. It is impor‐
238 tant that the physical address is correct, so as to not confuse the
239 device under test. For example, if the CEC adapter is connected to the
240 first input of the TV, the physical address 1.0.0.0 should generally be
241 used.
242
243 cec-ctl -d1 --playback --phys-addr 1.0.0.0
244
245 Most CEC adapters will automatically detect the physical address, and
246 for those adapters the --phys-addr option is not needed.
247
248 Next, cec-follower also has to be started on the same device:
249
250 cec-follower -d1
251
252 cec-compliance can now be run towards the TV by supplying the -r option
253 with the logical address 0:
254
255 cec-compliance -d1 -r0
256
258 This manual page is a work in progress.
259
260 Bug reports or questions about this utility should be sent to the
261 linux-media@vger.kernel.org mailinglist.
262
264 cec-follower(1), cec-ctl(1)
265
266
267
268v4l-utils 1.18.0 August 2016 CEC-COMPLIANCE(1)