When a Raspberry Pi is connected to a CEC bus with HDMI it sends an active source cec message on boot. This can be modified in /boot/config.txt with setting hdmi_ignore_cec_init either 1 or 0 as described in the RPI docs.

Now what is the byte content of the message send by the RPI, so one could replicate it with tools such as cec-utils e.g. echo "tx <rpi-cec-message-sent-on-boot>" | cec-client -s -d 1 ?

The easiest way to find this out would probably to have a second Raspberry Pi monitoring the bus while the other one boots, but I only have 1 RPI, so I can not test it myself.

This is a summary of my full problem, I already posted here.

1 Answer 1


After more digging, I finally found a solution to my specific problem.

For my setup, as described in my question, one can turn on the Harman Kardon AVR 156 by broadcasting an active source message with the physical address of the TV.

echo "tx 1f:82:00:00" | cec-client -s -d 1

A breakdown of the CEC Frame:

1 = Recording 1 (Raspberry Pi)

F = Broadcast

82 = Active Source

00 00 = ID (TV)

I hope this helps anyone stumbling on this in the future!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.