Quick Tip: Avoiding HDMI Topology Problems, OR Loops, Dual Paths, and ZOMBIES!

Folks with other than the simplest HDMI cabling hookups frequently experience connectivity issues directly related to the complexity of their cabling "topology" -- that is, the tangle of different ways their devices are interconnected, often THROUGH each other, via HDMI.

At root, this is due to the fact HDMI is an "end to end" protocol for transmitting your digital content.  Whichever Source device you've selected to use at the moment must set up that protocol, all the way through to the device(s) at the other end of the HDMI signal path -- a process called the HDMI handshake.  To accomplish this it performs something called Repeater Processing -- the method by which it talks THROUGH intervening devices to communicate with each next device along the signal path it is building.  And the end to end handshake, set up by the Source, must ALSO satisfy the demands of HDCP Copy Protection, which, as I've said before, is finicky by design.  It LIKES to fail!

In this post we are going to talk about the common things which bollix this up:  HDMI Loops, HDMI Dual Paths, and the infamous, HDMI Zombies!


An HDMI Loop is cabling things together such that the Output of a given device ends up getting sent BACK into that SAME device as an Input.

For example:  Connect the Output of your Cable TV box to an Input of your Audio Video Receiver (AVR).  Connect the Output of the AVR to a separate, fancy, combo Video Processor and Music Files Player box, with two HDMI outputs of its own -- one for video and one for audio.  Connect the Video output of the Video Processor box directly to your TV.  Connect the Audio output of the Video Processor box to a different input of your AVR.  (One example of such a gizmo would be any of OPPO Digital's Blu-ray disc players which include an HDMI Input.)

The idea being, when playing a Source like the Cable TV box you'll select that in the AVR.  The AVR will extract and play the audio coming in from the Cable TV box and send the video on to the fancy Video Processor box.  The Video Processor will do its thing, and send the (hopefully improved) result to your TV.

Or, if you want to play music files from that Video Processor / Music Player, you will set the AVR to listen on THAT HDMI Input -- the one coming from the Video Processor for HDMI audio.  The Video Processor will send any of its own video output (menus and such) directly to your TV.

But that's an HDMI Loop:  In the first usage, the HDMI from the Cable TV box is going through the AVR to the Video Processor, and then coming BACK into the AVR on the HDMI Audio connection from the Video Processor.

In the second case, the HDMI from the Video Processor (used as a Music Files Player) is coming into the AVR and then being sent BACK into the Video Processor on the output of the AVR.

It *IS* possible for the HDMI handshake to sort this out and do the right thing, but it requires extra cleverness not found in common HDMI implementations.  What's more likely to happen when you cable an HDMI Loop like this is, the handshake will just fail and you will get nothing:  Both Audio and Video will be "muted".

TECHNICAL NOTE:  You could eliminate the HDMI Loop for both of these usage cases if you wired Analog audio cabling from the Video Processor / Music Player to the AVR instead of the HDMI audio connection described above.  The content is still flowing in a loop, but it is not an *HDMI* Loop -- and thus the HDMI handshake and HDMI Copy Protection schemes never notice it.


An HDMI Dual Path is a case where the same HDMI signal reaches a given device on two different Inputs at the same time.

So cable up a fancy Video Player with two HDMI outputs such that video is sent on one HDMI output directly to your TV and audio is sent on the other HDMI output to your AVR.  Meanwhile cable the output of the AVR to a different input on your TV so you can get video over to the TV when playing any OTHER Sources you might also have connected to the AVR.

The PROBLEM is the HDMI from the Video Player is getting to the TV on the direct connection (into one input of the TV) and ALSO on the connection coming from the AVR (into another input of the TV).

That's an HDMI Dual Path:  And HDMI Copy Protection, in particular, tends to froth at the mouth and fall over backwards when it encounters one of these.


Now if you envisioned these descriptions correctly, or perhaps drew them out on a piece of paper, you've probably already wondered WHY these connections would ever cause problems in the first place!

In the case of the HDMI Loop trying to play the Cable TV box, the AVR is not set to USE the HDMI coming back into it from the Video Processor / Music Player.

In the case of the HDMI Loop trying to play music from that Video Processor / Music Player, the Music Player is ALSO not set to USE that HDMI output coming into it, from the AVR!

And in the case of the HDM Dual Path when playing content from the Video Player, the TV is ALSO not set to USE that HDMI coming into it separately from the AVR!

Which brings us to the topic of HDMI Zombies:  HDMI connections which Will Not Die!

Modern HDMI devices frequently keep their HDMI sockets "live" even when they are *NOT* the socket currently selected for use!  Indeed, modern HDMI devices may even keep their HDMI sockets "live" when the device itself is supposedly POWERED OFF!

That is, these devices are never truly "Off" -- as if you had pulled the wall power plug.  Instead they are in "Standby".  Some stuff is still powered, and the HDMI sockets may be part of that.

The "unused" HDMI Input sockets in the three example cases just described will cause problems if and only if they are HDMI Zombies.  If the socket is truly "Off", it's just as if the HDMI cable was physically disconnected.  And so, no HDMI Loop or HDMI Dual Path exists.

OLDER HDMI gear tended to be pretty straightforward in this regard.  If your HDMI socket was not selected for use, it was simply not powered -- not "live".  And when such gear was turned Off it was truly Off.  So the problems I'm discussing here tend to be more common when using NEWER gear -- presumably more sophisticated -- and with a superior, more user friendly, HDMI implementation!  Hah!

The problems arise in setups with such newer gear because the HDMI handshake *HAS TO* negotiate with every "live" HDMI socket it can reach on the HDMI signal path.  It has to get handshake responses from the socket, and if the socket fails to respond, or returns results which conflict with what's coming from other sockets, then the handshake will fail.  And even if all that WORKS, HDCP Copy Protection is likely to get into a snit because it views any complexity in the HDMI cabling topology with deep suspicion:

"You!  I see what you are doing!  You are trying to peel off the signal into something you can use to make a copy, you evil boy!  You are trying to fool me into thinking one device -- which correctly implements Copy Protection -- speaks for another device which does not!"  * rears up on its hind legs, takes its ball (mutes the signal), and goes off in a huff *


So what is it about newer HDMI gear which makes it DO such stuff?

The usual culprits are HDMI ARC (Audio Return Channel) and HDMI CEC (Consumer Electronics Control).

HDMI ARC is a cunning scheme to send audio BACK on an HDMI cable which is normally used to send video and audio TO a given device.  So HDMI ARC can be used to get audio from a TV's built-in channel tuner back down the same HDMI cable the AVR would normally use to send audio and video into the TV.  It eliminates the need to wire a separate audio output from the TV, so you can hear audio in your AVR (i.e., to your Home Theater speakers) from broadcast channels tuned inside the TV or from Internet apps built into the TV.

HDMI CEC is a cunning scheme to do "remote control" over an HDMI cable.  HDMI CEC allows a device to sense when the device at the other end of the HDMI cable has powered up.  It can also be used to tell this other device to power up or power down.  It can also be used for standard remote control operations such as selecting an Input, Play/Pause/Stop, or Volume control.  And it is bi-directional.  So the device at the OTHER end of the cable can sense presence and send commands TOO!

The implementation of HDMI ARC is intimately tied with HDMI CEC.  And it should be obvious HDMI CEC can only work if the HDMI connection to the other device is kept "live" even when that connection is not currently the one in use.  Otherwise, you wouldn't be able to receive the command to MAKE that BECOME the connection in use!  And of course if you are going to use HDMI CEC to turn devices On, the HDMI connections have to be "live" even while the device is Off!

Both HDMI ARC and HDMI CEC have serious gotchas because the specifications for them have been defined loosely -- allowing manufacturers to implement semi-proprietary solutions for them.  I.e., they may or may not work well if your gear is bought from different companies.

That notwithstanding, both HDMI ARC and HDMI CEC are commonly enabled by Factory Default in modern gear.  Indeed it may not be POSSIBLE to completely disable HDMI ARC, as it may be tied to a specific HDMI Input socket on the TV.  I.e., if you use that socket, then HDMI ARC is enabled.

The latest variant of the Zombie HDMI socket is something Sony has foisted on buyers of its newer TVs.  If you turn the TV Off, the socket acts like it, too, is Off.  However, at periodic intervals the socket WAKES UP -- gazing about to see if anything at the other end of the HDMI cable might want to come play with it!

So imagine you are listening to music through your AVR and theater speakers.  And to better set the mood, you've turned off your new, Sony TV.  All is fine until, without warning, there is a brief drop-out of the music!  And then, a while later, ANOTHER!  And ANOTHER!

What's going on is that HDMI Socket on the Sony is waking up, yawning, taking a nice stretch, and then announcing it's back from the dead -- on the HDMI cable!

And THAT triggers an HDMI handshake in your audio gear.  (Just to re-discover it doesn't WANT to use that cable, and tell the TV to stop bothering it.)  And THAT requires the audio gear to briefly mute the audio during the handshake!

The technical term for this is Stark Staring Bonkers.  But there it is.

Folks with those TVs have to leave their TV turned on while playing music this way -- usually in combo with a setting to mute the screen to black.  (These Sonys even have a button on the remote which will do just that.  How conVENient!)


Such Sony strangeness aside, what can you do about these HDMI topology problems?

Well of course the first step is to keep your HDMI cabling design as simple as possible.  But if you MUST wire either a Loop or a Dual Path, start by making sure you are not using HDMI sockets which support HDMI ARC.  And then go into *ALL* your devices and look for settings to disable HDMI CEC in each of them.

That last can be a bit of a challenge as there is no industry consensus on what to call this feature.  So odds are it will have a different, clever Marketing name in each of your devices.  But whatever it is called, if it has to do with sensing the presence of another device, or either sending or receiving commands to do ANYTHING across the HDMI cable, then that's HDMI CEC.

Alas, in their efforts to minimize the Settings menus in devices, some manufacturers have even chosen to NOT include a Setting for disabling HDMI CEC.  In extreme cases -- cases where forcibly disabling CEC is the only solution and the device simply offers no Setting to do that -- there's a hack you can use instead.   HDMI CEC is implemented on one wire of the HDMI cable.  Get a cable or adapter made WITHOUT that wire and Voila! no HDMI CEC.  Such items are available from, e.g., Amazon, but I hesitate to recommend ANY of them as introducing an oddball adapter or cable can screw up all the advantages you've given yourself by using only HDMI "Premium Certified" Cables for all your connections.

(You ARE using only HDMI "Premium Certified" Cables for ALL your HDMI connections, aren't you?  Good for you!)

Of course if you are NOT having HDMI handshake problems in your current cabling setup, then leave well enough alone!  "If it ain't broke, don't fix it!"

But if you ARE having problems, determining whether what you've got is a TOPOLOGY problem is usually pretty easy.  Simply, physically unplug the supposedly "unused" HDMI cable and see if the problem goes away!

So in the case of the HDMI Dual Path example described above, physically unplug the "unused" HDMI cable between the Output of the AVR and the 2nd input of the TV.

In the case of the two HDMI Loop examples described above, also physically disconnect the "unused" HDMI cable out of that set of cables.

(And in the case of those silly, Sony TVs, physically disconnect the "unused" HDMI cable feeding the TV.)

If the problem goes away, then you can start looking for HDMI CEC settings which still need to be shot through the head (or whatever your preferred method of Zombie disposal happens to be).

Happy hunting!

--Bob