How to Read Eeprom Through Hdmi Port
Having recently upgraded to a GTX 1070 Ti graphics card to keep upwardly with my dual 4K monitor configuration, I came across an issue that plagues many Nvidia chipset users – namely that of what happens when you power off DisplayPort connected monitors.
In the case of my 4K monitors, as they are continued by DisplayPort, powering them off via the forepart console controls results in them "disconnecting" from the graphics carte. Sometimes this doesn't happen quite immediately, just the result is e'er the aforementioned – Windows thinks in that location is no monitor connected, thus the desktop is not rendered and remote control of the computer (via VNC in my case) is not possible or suffers strange graphical glitches.
Prior to my upgrade, the solution to this effect on my GTX 970 Ti was to utilise a VGA dummy plug, which I congenital myself from an former DVI to VGA adapter and a few resistors. This worked just fine, merely the GTX 1070 Ti takes it a step further by removing all analog output altogether. The only options are either HDMI or DisplayPort. In theory, I could utilize the old dummy plug with a DisplayPort adapter but that'south merely becoming complicated.
Instead, I reasoned that a dummy plug could be made simply with an EEPROM containing the EDID data hooked up to the right pins of the HDMI port. Just instead of edifice one myself this time, I found some on eBay that were priced at about AU$iii.30 and bought a few for some experiments. Later all, getting a hold of an HDMI connector (e.g. via cut open a cable) is perhaps even more expensive when factoring in the cost of an EEPROM and not quite every bit smashing …
The Product
The item arrived inside a zip-lock anti-static shielding bag with a plastic cap on the HDMI port.
The unit is no bigger than most HDMI plugs on fancy braided HDMI leads. It is designed to plug straight into an HDMI port to do its thing.
Being a dummy plug, there is obviously no cablevision that leads out of the unit. It feels well built with its metal shell and moulded plastic internals.
But of course, given the unit of measurement comes from China at a depression cost, we might be a little concerned nearly what is within prior to plugging it into a figurer. Information technology's probably not going to spy on you or anything sinister – only it'd exist dainty to know what's within.
Teardown
The plug doesn't come apart without a fight. The moulded rubberised plastic insert is ribbed and glued into the outer metallic shell. It took a lot of "squishing" the metal trounce and pushing on the centre function to free the plug from the shell.
I cut apart the moulded rubber with a knife to reveal a small black PCB inside. On the top side, there aren't whatsoever components, only tracks leading to vias which button the bespeak to the other side. Some of the pins are soldered (i.due east. the important ones – power, footing and EDID clock/data) whereas the others are not soldered at all. I would have preferred the other pins to be soldered for mechanical rigidity, but functionally, it would not make a difference.
The underside shows a similar design to the soldering on the HDMI port. The unit has an unbranded 24C02 EEPROM (as I expected), with a surface mount capacitor and three 4.7kOhm resistors probably to protect the EEPROM in case of a rogue device and betoken hot plug detection.
The EDID Data
Once torn apart, dumping the EDID information was as easy as clipping on my CH341 programmer and reading out the EEPROM. The resulting dump can be downloaded here. To analyse the EDID in comfort, I used Analog Way'southward EDID Editor which is a very useful piece of software for parsing and customising EDIDs. The following are screen dumps from the software showing what this dummy plug is pretending to be.
The standard data folio shows that the Manufacturer ID is AOC with a product ID of 0CCD, serial number of 0, manufactured Week iii of 2017. This suggests that the EDID is stolen from an AOC monitor with a horizontal size of 62cm and vertical size of 34cm. Standard timings become upward to 1920×1080 at 75Hz or 1920×1200 at 60Hz.
The detailed data block shows the preferred timing block 1 has a 1920×1080 resolution at 60Hz, followed by 2560×1600 at 59.97Hz and 2560×1440 at 59.95Hz. The display product name is 28E850 – which doesn't directly correspond to a known AOC product.
The CEA Extension pages show quite a few features including the detailed timing blocks. This details 2880×[email protected], 3840×[email protected] and 3840×[electronic mail protected] modes, where it gets its 4K back up from. The plug besides claims to back up basic sound and YCrCb 4:4:4 and 4:2:ii modes.
The video descriptor block shows [e-mail protected] as beingness native – interesting choice of style.
Audio support claims LPCM 2 channel up to 24-bit 48kHz, of front end left and forepart correct configuration.
There are a couple of vendor-specific blocks, the use is unknown.
The colorimetry block shows support for xvYCC 709 and xvYCC 601.
The dummy plug claims to support full 4K ([email protected]/60Hz) and regular 4K UHD in YCbCr 4:2:0 colour.
It'due south quite a confusing array of features – I never knew the 256-byte extended EDID could denote so many different pieces of display information, thus computers being "confused" virtually display capabilities could exist a possibility specially if they don't interpret some of these extensions.
Decision
For AU$three.30, this device does solve the problem provided you take the care to configure the resolution and scaling when no other monitors are connected. I'chiliad at present able to remotely control my computer with the first monitor rendering at the full 4K resolution as information technology is "mirrored" to the HDMI dummy plug.
The plug itself is not much in terms of circuitry, but that is the expectation. The EDID data seems to take been "stolen" from an AOC monitor and modified slightly, seemingly to prefer full HD but having the option to go upward to 4K to ensure that devices which aren't stable for 4K output don't meet problem. I suppose if yous don't similar information technology, you could either shove wires into the device or intermission information technology apart and reprogram the EEPROM to whichever EDID you would similar (eastward.k. change the monitor name, etc).
It's a shame that information technology'due south seemingly not possible to "set" the monitor detection in such a way that powered-off DisplayPort screens remain "connected" to the card and the card continues to render the displays correctly. Without this, we have to resort to such hardware workarounds, merely as well, endure the reshuffling of desktop windows and sound devices every bit the powered-off screens are powered-on again.
Source: https://goughlui.com/2019/06/02/review-teardown-generic-hdmi-cheater-dummy-plug-4k-uhd/
0 Response to "How to Read Eeprom Through Hdmi Port"
Post a Comment