AVS Forum banner
1 - 5 of 5 Posts

912 Posts
Discussion Starter · #1 ·
So, I've got a system that was put together with no consideration for hdmi cec at all. I have an itach and all my devices are in a cabinet, so I always considered cec to be too 'black box' (I can't configure it how I want, so if another method is available, I'll use it instead).

Unfortunately, it's been a small electronics eternity since launch, and still no other methods are available for PS4. No IR adaptor, no IP protocols published (the ps4 does support Ethernet controls, as evidenced by some of the way the vita interfaces, but it's proprietary), the only effective way to interact with the PS4 from a remote is through CEC.

Which is a problem since I've got inconsistent CEC support from my equipment; most critically my receiver (VSX-520-K) doesn't support it. In fact I think the only things in my system that do support CEC are the PS4 and the projector (sony VPL-HW40ES). But my understanding is that CEC will not pass through a non-supported device, so it won't work from the proj so long as the receiver is in the loop.

My immediate thoughts were to use one of the Amazon HDMI-CEC adapters. My question is, as long as the 'broken link' is not between the adapter and the controlled device, will CEC still work?


PS4 -> CEC adaptor -> receiver -> projector

In this case, I'm sure the Proj won't get cec signals, but I have IR for it, so no problem. The question is, will PS4 still work, or will the incompatible device in the system cause it to not function at all?

I suppose I could get a new receiver.. Or maybe a switch with CEC support and a 5.1 decoder (saw on monoprice, no idea how well it works), then just pass dedicated audio signals to the receiver directly (basically turn it into a dumb amp)... But I hate to have to spend hundreds on new equipment just to get PS4 control..

Of course, sony gets the thumbs down for being so idiotic in how they address theater integration with the PS4. :(

24 Posts
CEC still isn't what I would consider an "effective" way of controlling the PS4. You cannot fully control Netflix (there is no way to navigate back through some menus, requires Circle button on controller), amongst other controls missing, and other applications such as Hulu/NBA Game Time (and no doubt others) can barely be controlled at all (in NBA Game Time you cannot play videos at all). The PS4 hasn't been designed to be fully functional with CEC.

912 Posts
Discussion Starter · #4 ·
Quick update - picked one up today, got it working... MAN documentation on this thing sucks :) But here's what I have so far:

-Connected inline between non-cec receiver and PS4.
-Went to pulse-eight website and downloaded/installed libcec
-Libcec includes a few test programs. I was able to see it connecting from the windows test prog, but couldn't really test what functions worked/didn't work.
-The other test program is a command line program called cec-client, which allows you to send specific commands. DOCUMENTATION FOR IT SUCKS.
-Googled and finally found a list of generic CEC commands.
-With some serious trial and error, finally figured out how to use the cmd line program to send commands:
- Run the program, which is basically a shell. It'll do a bunch of initial junk that will look like a wall of text, then stops without returning you to prompt - you can type commands into lib-cec at this point.
- Next, type: "lad" - this will scan the bus and list all logical addresses available. Bunches of gobbledygook, then the last bit will be something like "logical device 1 // logical device 4". This identifies the specific devices connected to the cec bus.
- next, type: "scan" - this will give detailed info about all those devices. Find which device is PS4 (mine was logical device 4).
- then type "poll 4" (replace 4 with your logical device number). The important part will be the number in the second line of results - it's the physical address (mine was 14).
- You finally have all you need to send commands to the device :)

I've tested the following commands and confirmed they work at least some. I know some apps don't support all, and I have NOT tested these extensively.


tx 14 44 01 - up
(NOTE: TX is the command to cec-client telling it to send, 14 is the device address, 44 means 'send command' (there are other options), and 01 is the command.
tx 14 44 02 - dn
tx 14 44 03 - left
tx 14 44 04 - right
tx 14 44 00 - select (x?)
tx 14 44 0d - back (triangle?)
tx 14 44 09 - seems to select playstation now
tx 14 44 0a - menu (playback only)
tx 14 44 2b - enter
tx 14 44 2c - clear
tx 14 44 33 - audio select (playback)
tx 14 44 35 - Display Information (playback)
tx 14 44 44 - Play
tx 14 44 45 - Stop
tx 14 44 46 - pause
tx 14 44 48 - rewind
tx 14 44 49 - ff
tx 14 44 4a - eject
tx 14 44 4b - skip fwd
tx 14 44 4c - skip back
tx 14 44 50 - angle (don't have multi-angle to test, but menu popped up a 'no' when pressed...)
tx 14 44 51 - subtitle track selection

cec-client also has some built-in functions I've tested:
on 4 - on

standby 4 - standby

tx 14 8f - requests power status of ps4 (could be useful for integration)

Obviously a cmd prompt program alone isn't exactly user friendly, but getting this far allows for integration with other software, batch files, whatever. I'll do more on that when I get the commands all lined out.

more as I go :)

912 Posts
Discussion Starter · #5 ·
Ok, I got it all working. ridiculous that I had to put together this rube-Goldberg mechanism, but it's pretty functional. There are a few downsides:

-I can turn on/off the PS4 from the remote - BUT - I can't actually get pas the opening screen by remote. However, voice control gets you past this.
-I can't find any 'circle' equivalent. In most cases, the back, clear, or cancel buttons function, though.
-Finally, no PS4 button. Again, voice commands can work around this.

But the mechanism is ridiculous:
-I have a low-power always-on file server in my cabinet. Since its power save options never fully shut it down, I use it for my interpreter. The HDMI-CEC adapter is connected to it via usb, and connected to the PS4 via HDMI.
-MCE Controller is running on that machine, and Irule is set to send PS4 commands via IP to MCE. Then MCE has custom commands to receive the PS4 commands, then run batch files for each command.
-These batch files are necessary because MCE doesn't support command line options. So each batch file just runs a vba script that sends data to the CEC-Client command-line program, and passes the script the specific command sequence (listed above).

Yeah. Ridiculous.

But if anyone else out there has a masochistic streak and is therefore interested in descending into this crazy rabbit hole, I can provide the XML for iRule device commands, MCE commands file, batch files and the vba script.

Notably, libcec (which cec-client is based on) is open source. So it should be relatively straightforward to replace MCE, the batch files, the vba scripts, and the client command line program with one purpose-built app. Since this is USB, it's really not possible to remove the PC from the loop using this method, but at least it could be simplified. I don't have time for that right now, since I'm in the midst of moving, but I do plan to revisit in a month or so, once I'm settled in.
1 - 5 of 5 Posts