we have put adv7604(decoder) and adv7343(encoder) I2C devices for hdmi to analog video conversion on tx2 interface board. We have installed and loaded appropriate drivers for both. but I am not getting anything on analog monitor.
Is there anything else I need to do in order to make it work?
any help would be appreciated.
Thanks in Advannce,
HDMI provides a “DDC” wire. That wire (using EDID data format) allows the video card to query the monitor for its capabilities and auto configure. VGA and purely analog devices lack this wire and cannot auto configure. Existing drivers do not allow any modes other than EDID modes, so you are out of luck unless you can fake the EDID (some adapters of VGA-to-HDMI have a PROM you can load an EDID with based on manually encoding the monitor’s capabilities).
You can verify if EDID is present. You would get output from this command:
cat `find /sys -name edid`
(the “/sys” edid file is a reflection of the GPUs query of the EDID data from the monitor)
Thanks for your reply. As you suggested I checked and found that EDID is not present on tx2.
Please let me know How I can get Anolog SD output video on Anolog monitor?
I used to get hdmi-to-vga converter with Jetpack 3.1; with jetpack 3.2 it caused me to detach and attach the monitor on-the-fly for it got recognized.
You must somehow add an adapter which provides EDID data tuned for your specific monitor. Basically you must turn your monitor into an HDMI monitor with an adapter.
I think there is some confusion here. this is how we are doing it.
TX2(hdmi input) -> adv7604(decoder) -> adv7340(encoder) -> analog SD output -> TV
there is no hdmi monitor connected. adv7604 and adv7340 i2c devices are connected to hdmi input.
Do you find EDID data from this, and if so, please post:
cat `find /sys -name edid`
If your i2c device provides EDID then it might work. The provided EDID can be pasted into http://www.edidreader.com to see if the checksum is valid, plus to see what modes are listed (not all modes are accepted by the driver).
In your “/etc/X11/xorg.conf” there is a ‘Section “Device”’. Assuming you have EDID data with a valid checksum, you can add logging so that the driver will tell you exactly what it thinks of every mode the i2c reports. Add this to ‘Section “Device”’:
Once this is in place (and assuming you have valid EDID) reboot and post a copy of “/var/log/Xorg.0.log” (you will probably need to rename it as “.txt” for the forum to allow attach).
File attach can only be done to an existing post…hover the mouse over the quote icon and a paper clip icon will show up for attaching. Alternatively, it is ok to paste the log, but you’d need to put it inside the “code block” icon ("</>") to get formatting and scroll bars.
when I enter the following commands
find /sys -name edid
I am getting “no EDID”. so when there is no edid present on tx2 we have to use native i2c device edid?
EDID must be used, the driver will refuse anything else. The DDC wire uses i2c protocol, and if programmed correctly, will have data formatted for EDID which matches the specifications of your monitor. If you only want one mode, then the EDID only needs to provide that one mode’s information, but unless you do something to hard wire the kernel through edits I don’t think there is any way around it.
Beware that although most common modes are supported by the driver an attempt to use EDID for a mode the driver does not support won’t actually force the mode to be accepted.
I haven’t got a satisfactory response yet. I am getting “no edid” on tx2. what should I do now? I am no expert here. please let me know if you haven’t understood what I have been trying to do.
VGA is not supported…HDMI is required due to the DDC wire. You must provide hardware to make the VGA monitor appear as HDMI. To do this you need a custom adapter with programming which replies to any video card driver over the wire which VGA lacks.
Without this you cannot make the VGA work (you’d need to do some detailed hacking of the kernel to provide a fake EDID source).