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 -E, --exit-on-fail
105 Exit this application when the first failure occurs instead of
106 continuing with a possible inconsistent state.
107
108 -v, --verbose
109 Turn on verbose reporting.
110
111 -w, --wall-clock
112 Show timestamps as wall-clock time. This also turns on verbose
113 reporting.
114
115 -T, --trace
116 Trace all called ioctls. Useful for debugging.
117
118 -h, --help
119 Prints the help message.
120
121 -W, --exit-on-warn
122 Exit this application when the first warning occurs instead of
123 continuing.
124
125 -s, --skip-info
126 Skip the Driver Info output section.
127
128 -n, --no-warnings
129 Turn off warning messages.
130
131 -r, --remote <la>
132 As initiator test the remote logical address <la> or all LAs if
133 no LA was given.
134
135 -i, --interactive
136 Interactive mode when doing remote tests.
137
138 -R, --reply-threshold <timeout>
139 Warn if replies take longer than this threshold (default
140 1000ms).
141
142 -t, --timeout <secs>
143 Set the standby/resume timeout to the given number of seconds.
144 Default is 60s.
145
146 -A, --test-adapter
147 Test the CEC adapter API
148
149 --test-core
150 Test the core functionality
151
152 --test-audio-rate-control
153 Test the Audio Rate Control feature
154
155 --test-audio-return-channel-control
156 Test the Audio Return Channel Control feature
157
158 --test-capability-discovery-and-control
159 Test the Capability Discovery and Control feature
160
161 --test-deck-control
162 Test the Deck Control feature
163
164 --test-device-menu-control
165 Test the Device Menu Control feature
166
167 --test-device-osd-transfer
168 Test the Device OSD Transfer feature
169
170 --test-dynamic-audio-lipsync
171 Test the Dynamic Audio Lipsync feature
172
173 --test-osd-display
174 Test the OSD Display feature
175
176 --test-one-touch-play
177 Test the One Touch Play feature
178
179 --test-one-touch-record
180 Test the One Touch Record feature
181
182 --test-power-status
183 Test the Power Status feature
184
185 --test-remote-control-passthrough
186 Test the Remote Control Passthrough feature
187
188 --test-routing-control
189 Test the Routing Control feature
190
191 --test-system-audio-control
192 Test the System Audio Control feature
193
194 --test-system-information
195 Test the System Information feature
196
197 --test-timer-programming
198 Test the Timer Programming feature
199
200 --test-tuner-control
201 Test the Tuner Control feature
202
203 --test-vendor-specific-commands
204 Test the Vendor Specific Commands feature
205
206 --test-standby-resume
207 Test standby and resume functionality. This will activate test‐
208 ing of Standby, Give Device Power Status and One Touch Play.
209
210
212 On success, it returns 0. Otherwise, it will return the error code.
213
215 We want to test the compliance of a TV when it is interacting with a
216 Playback device. The device node of the CEC adapter which the TV is
217 connected to is /dev/cec1.
218
219 The local CEC adapter first needs to be configured as a Playback
220 device, and it must have an appropriate physical address. It is impor‐
221 tant that the physical address is correct, so as to not confuse the
222 device under test. For example, if the CEC adapter is connected to the
223 first input of the TV, the physical address 1.0.0.0 should generally be
224 used.
225
226 cec-ctl -d1 --playback --phys-addr 1.0.0.0
227
228 Most CEC adapters will automatically detect the physical address, and
229 for those adapters the --phys-addr option is not needed.
230
231 Next, cec-follower also has to be started on the same device:
232
233 cec-follower -d1
234
235 cec-compliance can now be run towards the TV by supplying the -r option
236 with the logical address 0:
237
238 cec-compliance -d1 -r0
239
241 This manual page is a work in progress.
242
243 Bug reports or questions about this utility should be sent to the
244 linux-media@vger.kernel.org mailinglist.
245
247 cec-follower(1), cec-ctl(1)
248
249
250
251v4l-utils 1.16.5 August 2016 CEC-COMPLIANCE(1)