Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

Change the cec type that vomp is announcing itself as.

Started by sirwio, October 10, 2012, 23:22:36

Previous topic - Next topic


Got myself a new TV of the brand Samsung.  As if other parameters like picture quality wasn't enough when buying a TV now one must also check the hdmi cec compatibility. The sales guy was very helpful when I insisted on plugin in my raspberry pi to check hdmi cec compatibility. Running cec-client one could verify that the remote signals where passed to the pi.

Samsungs tradmarked hdmi-cec implementation is called Anynet+. It appears as if their implementation is a bit more to the spec than Philips' that I have explored on another TV in my household.

While firing up vomp I discovered that that while playing back recordings the play,pause,stop,forward,rewind buttons did not work as intended - In fact the TV informed me that they were unsupported!

Did a quick test changing the cec device type broadcasted by vomp from CEC_DEVICE_TYPE_TUNER to CEC_DEVICE_TYPE_RECORDING_DEVICE and got all buttons working as expected.

In fact this makes sense since its would be useless to send e.g. play command to a tuner! Whereas it makes sense on a recording device.

Did also make a quick check changing the type to CEC_DEVICE_TYPE_PLAYBACK_DEVICE and the result of pressing the record button had the TV inform me that it was an unsupported command. Play,pause etc worked fine in this mode.

I suggest changing the type vomp is broadcasting itself as, to be of type CEC_DEVICE_TYPE_RECORDING_DEVICE or make this a configurable setting in the advanced section.


I would not suggest to change the type of device, I would suggest to add multiple type of device.
Can you please test what happens if you have a cec_config.deviceTypes.Add(CEC_DEVICE_TYPE_TUNER); line for all three types
? Even if the order makes a difference... The problem is that my device does not make a difference...
But I think the best way is that vomp says it is all of them.

I am not completely sure if this will work, since my toshiba tv did not change its behaviour at all.



Hi sirwio,

thank you for this explanation. Now I understand, why my Samsung TV shows this message on some buttons and I can fix it (or it will be fixed generally) :)

MLD - A Distribution also for the Raspberry PI


I have played around with adding all three types as shown below:


It sort of works. Once the correct input is selected on the tv all remote commands are sent. But there is a side effect: There are multiple AnyNet+ devices shown in the input menu of the tv. The input menu has to be rescanned in order to show the correct one and in the process removing the invalid one from the menu.

Directly after startup of vomp one will see the following two inputs - "vomp and Recorder". Or if the order of adding the devices are changed - "vomp and Tuner". For some reason the type "Player" is not shown no matter what the order is!

I still think the correct way is to announce vomp as a Recorder. As I understand it, a Recorder is acting as both a Player and a Tuner.

- Magnus


QuoteI still think the correct way is to announce vomp as a Recorder. As I understand it, a Recorder is acting as both a Player and a Tuner.
No, the spec mention explicitely the case where a recorder can also be a tuner and have a different logical address for this, therefore the different address.
The problem seems to be that different manufactors implement the stuff differently, I will try this next week and see what my toshiba TV does and then I will decide how to handle this.




Well, this fixed my problem with CEC and the LG TV.

When I set the type as a Recorder, I can now use the remote with VOMP on the Pi.





do you set it only to recorder, or to all the values?

MLD - A Distribution also for the Raspberry PI


now changed to recorder, since it did not made a difference for me.



hi Magnus & all,

hmm.. might i ask what version of the CEC lib you're using?

my Samsung LE37B652 using this remote

won't let me use the lower six buttons even when compiled
they can't be programmed in the vompclient settings menu either;
pressing them simply provokes no response.

granted - the TV is not running the latest firmware.
but if it's not absolutely necessary, i wanna refrain from upgrading it.

any ideas?


ah.. OK and thanks.

i thought u might be using some other (newer) version.
those are the libs i'm using as well.

will try it out with another device type then.



When you troubleshot you could use the cec-client test tool part of libcec.

Test announcing the pi to be e.g. a "Recording Device"
#cec-client --type r

After the client has been started it may be needed to force a scan of the cec connected devices on the tv and choose the correct one from the list. Then press keys on the remote to test if they are forwarded to the pi.

The type can be one of {p|r|t|a} - Playback Device, Recording Device, Tuner, Audio Device

I can run another test on another samsung tv that I got to check if later models behave the same.


thanks for that info,
i'll fiddle around with that a bit.

by the way,
my statement all six buttons would not work was wrong:
the fast forward/backward buttons do work on recordings.

been fiddling a bit with the CEC tester.

when in recorder mode, the RECORD button is not passed through CEC
but handled locally ... no help there, but i can live with that.

the stop button gets translated in a funny way
16:37:35.306925 [debug]  5922 Remote - CECLOG: 21564 16 received data: header:00030002 p0:00034201 p1:00000000 p2:00000000 p3:00000000 reason:2
16:37:35.307366 [debug]  5922 Remote - CECLOG: 21564 8 >> 01:42:03
16:37:35.307898 [debug]  5922 Remote - CECLOG: 21565 4 >> TV (0) -> Recorder 1 (1): deck control (42)

looks like i'll have to dig my way through and/or the CEC stuff :/


it seems that when libcec cant interpret a certain keypress,
it cant be used within RasPi VOMP.

can anyone confirm this?