Fixing HDMI-CEC on the Wandboard

I (Hanny) have recently bought a Wandboard Quad and have been playing with it since I got it. My primary objective was to get XBMC running on that device using ArchLinuxARM which was possible after some fiddling with the proprietary stuff (this deserves its own post some time in the future). Many thanks to Stéphan Rafin, without his work, I would not have been able to do that.

After finding out (also, thanks Stéphan) that the Freescale i.MX6 SoC on the Wandboard supports HDMI-CEC, I was eager to get it running on the wandboard. Sadly though the CEC signal is not properly routed on the wandboard.

But according to a post in the wandboard forums with instructions, you can actually fix this if you have some soldering skills (which I have absolutely not!). So I handed my board to a fellow PI member (Neutrino) who will describe the things he did:

The pins for CEC are available but there is no connection from the SoC to the HDMI-connector. But if you have some SMD-soldering skills (or a friend who can do that), you can fix it yourself. Be careful though as this WILL VOID YOUR WARRANTY.

It isn’t hard to solder the 3 things but you should be careful not to damage a pad. You need a soldering tip with 1,5-3mm width, thin solder, an electronic tweezer and a good loupe (or microscope). Soldering flux is also helpful for good joints.

1. You have to remove the 0Ω resistor R383 on the bottom side of the processor board. Maybe you could unsolder it carefully, to recycle it in step 2. Because it is in tiny 0402 package I unsoldered it at one time with a 2mm width soldering tip on the side over both soldering joints and add a bit solder until I could smoothly push the resistor from the pads.
2. We need to connect the 2 empty pads of R405 on the bottom of the baseboard. We could use the R383 resistor or a piece of wire which we cut after soldering on both pads or maybe we simple solder a soldering blob over the two pads (I took a new 0Ω resistor in 0402 package because I had it in my reach).
3. The “most difficult” part is to solder a wire from the connector-side pad of R383 to the testpoint TP78 on the bottom side of the processor board. Cut a 2cm piece of insulated thin wire bend it right and remove insulation or enamel the ends before soldering it.

Bottom side of processor board.

Bottom side of processor board. The white line shows to the testpoint-labels. The purple line illustrate the wire.

Enamelled copper wire from below pad of R383 to testpoint TP78.

Enamelled copper wire from below pad of R383 to testpoint TP78.

This two empty pads of R405 have to be short connected together.

This two empty pads of R405 have to be short connected together.

Thanks again Neutrino!

To me(Hanny), the needed software-modifications are far more simpler :)

Now that you have routed the cec signal to the right pins, you just need a slightly modified kernel and a modified libCEC (thanks again, mighty Stéphan :)).

You’ll have to compile the modified kernel (be sure to set CONFIG_MXC_HDMI_CEC in the kernel config) and the modified libCEC and install both (you can find PKGBUILDs for ArchlinuxARM here).
If you now connect hdmi to a CEC-enabled tv (every manufacturer calls it differently!), cec-client should spit out some data!

Compiling xbmc with

should enable libCEC in xbmc. Afterwards, xbmc should recognize your TV as CEC input device and the whole thing should work!

Leave a Reply

Your email address will not be published. Required fields are marked *