fixed import form wordpress plugin
[homepage.git] / src / _posts / 2018-09-18-spoofing-edid-fixing-our-beamer.html
diff --git a/src/_posts/2018-09-18-spoofing-edid-fixing-our-beamer.html b/src/_posts/2018-09-18-spoofing-edid-fixing-our-beamer.html
deleted file mode 100644 (file)
index ec9d377..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: post
-status: publish
-published: true
-title: Spoofing EDID, fixing our Beamer
-author:
-  display_name: xro
-  login: xro
-  email: xro@realraum.at
-  url: ''
-author_login: xro
-author_email: xro@realraum.at
-wordpress_id: 1103
-wordpress_url: http://wp.realraum.at/?p=1103
-date: '2018-09-18 19:08:01 -0500'
-date_gmt: '2018-09-18 17:08:01 -0500'
-categories:
-- realraum News
-- Projekte
-- english
-- MakingCrafting
-tags: []
-comments: []
----
-<p>As a hackerspace we regularly host user-groups and irregularly host talks and workshops and all of them need to use our beamer. Quite a downer then, that our beamer's HDMI and DVI Input stopped working with newer laptop graphic cards. Especially since VGA started having it's own issues: Dark slides transmitted over our long VGA cable cause the beamer to decide input has disappeared and switch the input off.</p>
-<p>A look at the kernel messages with <code>dmesg</code> made the source of the problem immediately apparent. The CRC of the <a href="https://en.wikipedia.org/wiki/Extended_Display_Identification_Data" title="EDID">EDID</a> the beamer sends over the HDMI/DVI cable is wrong. (Interestingly enough, the beamer EDID sent over VGA is fine). As a result, newer laptops decide that no HDMI/DVI cable has actually been attached. Nothing you can do. Certainly not with any user tools like <code>xrandr</code> or any Xorg driver or kernel module options. Believe us, we tried it all. (Even if a software solution would have been possible, it would certainly not have been convenient to hack each new speaker's laptop and OS of choice on the spot.)</p>
-<p>This needed fixing!</p>
-<p><!--more--></p>
-<p>Rather than risking our beamer in a hunt for its EDID flash, which we might be able to re-flash, we decided to man-in-the-middle the cable and spoof the EDID sent by the beamer. A couple of <a href="https://www.amazon.de/s/ref=nb_sb_noss?&amp;field-keywords=hdmi+edid&amp;rh=i%3Aaps%2Ck%3Ahdmi+edid">ready-made solutions can be had on Amazon</a> for anything from 30&acirc;&sbquo;&not; to 150&acirc;&sbquo;&not; but only <a href="https://www.amazon.de/dp/B01FUJKUJG/">one supports our beamers native resolution of 1280x800 and costs a whooping 75&acirc;&sbquo;&not;</a>.</p>
-<p>We're hackers however, and so built our own solution for <10&acirc;&sbquo;&not; from materials already lying around.</p>
-<p>First we cut open a HDMI extension cable extracted the DDC wires as well as HDMI 5V and GND. DDC just uses I2C so in theory we can use any &Acirc;&micro;C, connect the DDC wires leading to the host device (laptop) it's SDA/SCL pins, make it answer requests for EDID information and be done.</p>
-<p>There is even a ready made <a href="https://github.com/ericwazhung/avr-edid-spoofer">firmware project for an AVR ATtiny on GitHub</a> which allowed us to get started right away and save a lot of time. (Beware the code is a bit crappy, can only send a single EDID and has problems with high-byte EDIDs, aka almost every modern EDID)</p>
-<p><a href="http://wp.realraum.at/wp-content/uploads/2018/09/edid_spoofing_cable.svg.png"><img class="aligncenter size-large wp-image-1102" src="http://wp.realraum.at/wp-content/uploads/2018/09/edid_spoofing_cable.svg-982x1024.png" alt="edid_spoofing_cable-svg" width="750" height="782"></a></p>
-<p>We used an ArduinoNanoV3 as a programmer for the ATtiny and after fighting the firmware a bit (high-bytes), managed to find an EDID setting that would both compile and result int a laptop-hdmi-signal that was accepted by our beamer. It's a weird 71.9 Hz signal, but it works reliably at native 1280x800. The lack of additional EDID modes might even be a boon, since it prevents laptops with different aspect ratios to autoselect a resolution that would yield crappy results.</p>
-<p><a href="http://wp.realraum.at/wp-content/uploads/2018/09/wpid-DSC_8117.jpg"><img class="aligncenter size-large wp-image-1099" src="http://wp.realraum.at/wp-content/uploads/2018/09/wpid-DSC_8117-1024x576.jpg" alt="wpid-DSC_8117.JPG" width="750" height="422"></a></p>
-<p>Finally we soldered the cable's wires onto a 8pin socket and put whole thing in the casing of a dead H801. That way we still have the option of flashing better settings and firmware onto the ATtiny in the future. Add a few zip-ties for mechanical stability and voil&Atilde;&nbsp;: Working HDMI port.</p>
-<p>Note the zip-tie securing our hack to the fat HDMI extension.</p>
-<p><a href="http://wp.realraum.at/wp-content/uploads/2018/09/wpid-dsc_81214657142107973808399.jpg"><img class="aligncenter size-large wp-image-1098" src="http://wp.realraum.at/wp-content/uploads/2018/09/wpid-dsc_81214657142107973808399-576x1024.jpg" alt="wpid-dsc_81214657142107973808399.jpg" width="576" height="1024"></a></p>