• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Dump everything you know about HDMI eARC here

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,958
Likes
2,626
Hi,
As a tangent from another project i recently became interested about HDMI eARC, to the point that I went and read everything about it I could find in the internet. It took me about 30 minutes.
Not satisfied, i bought from Aliexpress the cheapest eARC audio extractor that I could find. It is one of those boxes that takes eARC and outputs audio over HDMI. The insides of the device turned out to be more interesting than I initially thought for the price:
The device has two ITE ICs. The smaller one, more modern and capable, receives the eARC signal and transfers the audio via multichannel i2s (4 data lines+clocks) to the bigger IC, that generates the "audio over HDMI" output. Fortunately, there is a short datasheet available for the output IC (IT66121FN) that confirms that those pins that receive the data from the first IC are indeed i2s inputs. ( https://www.infinite-electronic.pt/datasheet/e0-103030034.pdf )

1720255565607.png


Here i need to stop and say that both ICs are controlled by a MCU and it is well beyond my capabilities and interest to try to figure out what is going on there and how the thing works. I can imagine there are EDID handshakes etc. happening when you connect sources and sinks. Just check the amount of exposed headers and test points, the extractor is more complex than it seems.

Anyways, what called my attention is that both ICs are capable of a few audio formats, including DTS-HD and Dolby TrueHD in between others. And seems that it is possible to transmit those formats, encoded, through the i2s data lines.
Now my question or suggestion is. Having access to those i2s data lines, is there a way to capture and decode the audio to LPCM? Does it make it any easier to capture the data in this format vs embedded in the HDMI video signal? has this been done before?

There is a bit of discussion in the Analog Devices forum, in between other posts, here:

 
Having access to those i2s data lines, is there a way to capture and decode the audio to LPCM? Does it make it any easier to capture the data in this format vs embedded in the HDMI video signal? has this been done before?
Maybe..? You’ll need something to capture the I2s lines, recombine the data to the original bitstream and then have access to the licensed decoders. There are some free implementations of True HD and Atmos out there, but it’s going to be another integration hell. Nevermind the delay you’ll have when dealing with PC-like hardware (which you’ll need for the codecs). If MCUs are a bridge too far, this is will be as well.
 
  • Like
Reactions: MCH
What is the aim here? Extracting 7.1 PCM? Some SBCs have HDMI input with eARC capability, at least nominally. Documentation on getting it working is patchy though. See https://forum.khadas.com/t/amlogic-kernel-5-4-on-vim3l/15869/3 for example of announcing 7.1 PCM support via alsa mixer setting. http://docs.khadas.com/products/sbc/vim3/applications/earc doesn't cover that bit. I haven't found even that much for RK3588 based boards like the Orange Pi 5 Plus.
To extract 7.1PCM i think the best is to use the extractor as it is and just plug a HDMI to i2s board at the output.
If for some reason one wants to extract directly the i2s from this board (the hdmi to i2s boards don't come as cheap as this one) I think there are chances it works desoldering the resistors and soldering some wires. All this if the receiver IC does not complain about losing the input signal it expects.
My question was more about if there was a DIY feasible way to extract and decode the proprietary formats while they are being transmitted through i2s, hoping this was a more decode friendly format. According to Voodooless, it doesn't seem to facilitate things much.
 
Last edited:
IMO it's just a non-audio stream, like non-audio SPDIF, only more two-channel pairs. A properly configured ffmpeg or gstreamer should decode TrueHD to PCM. I have not seen ffmpeg being able to decode the Atmos spatial objects streams but the core TrueHD stream should work.
 
IMO it's just a non-audio stream, like non-audio SPDIF, only more two-channel pairs. A properly configured ffmpeg or gstreamer should decode TrueHD to PCM. I have not seen ffmpeg being able to decode the Atmos spatial objects streams but the core TrueHD stream should work.
I guess that is the case. IEC 60958-1 standard that applies to eARC says:

"When used for other purposes, the interface is able to carry audio data coded other than as linear PCM coded audio samples. Provision is also made to allow the interface to carry data related to computer software, multimedia technologies, or signals coded using non linear PCM. The format specification for these applications is not part of this document."

What I read as "they can do as they please"
 
Viewing the captured stream with any hexaviewer should tell if the stream still contains the IEC958 envelope. If so, the envelope could be removed by capturing through the iec958 plugin. The resulting bitstream may be recognized by ffmpeg or gstreamer if properly configured.

Making the simple cases (ac3, dts) work first and then proceeding with the newer formats (trueHD, Atmos + TrueHD) could be the way forward. Dolby released gstreamer decoding plugins https://github.com/DolbyLaboratories/gst-home-audio
 
Fascinating deep dive into eARC! Who knew a cheap extractor would hold such interesting insides? Thanks for sharing the details - particularly the ITE chip combo and i2s interface. Love seeing people explore the tech behind everyday devices. Looking forward to any further discoveries you make!
Thanks. The problem is that unfortunately any information HDMI related is not available to the DIY community. If you ask any of these companies for a simple datasheet, they will ask you for HDCP membership first :-( But sometimes you can find info enough to "transplant" one of those ICs and use them in your projects. Does not seem to be the case here unfortunately.
 
IMO the audio HDMI coding info is available online (not officially, but leaked PDFs). IIUC the actual formatting of the Atmos stream is independent of the HDMI transfer (standard non-audio stream) and needs to be handled by the decoding software, no matter whether the stream came over HDMI or from a file.

E.g. Rockchip SoCs have rather detailed datasheets regarding their HDMI receiver/transmitter including some eARC - https://github.com/FanX-Tek/rk3588-TRM-and-Datasheet/tree/master
 
  • Like
Reactions: MCH
Came across this page: http://docs.khadas.com/products/sbc/vim3/applications/earc. If I read correctly, this means we could capture an eARC stream and either write to a file or process as necessary.

The interesting bits are at the bottom:

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: AMLAUGESOUND [AML-AUGESOUND], device 0: TDM-B-dummy-alsaPORT-i2s multicodec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 1: TDM-A-dummy-alsaPORT-pcm multicodec-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 2: TDM-C-dummy dummy-2 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 3: PDM-dummy-alsaPORT-pdm dummy-3 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 4: SPDIF-dummy-alsaPORT-spdif dummy-4 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 6: EARC/ARC-dummy-alsaPORT-earc dummy-6 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: AMLAUGESOUND [AML-AUGESOUND], device 7: LOOPBACK-A-dummy-alsaPORT-loopback dummy-7 []
Subdevices: 1/1
Subdevice #0: subdevice #0
The card 0, device 6 device is the eARC device. You can record audio with the command below:
arecord -D hw:0,6 -f S16_LE -c 2 -r 48000 /tmp/out.wav
 
  • Like
Reactions: MCH
Came across this page: http://docs.khadas.com/products/sbc/vim3/applications/earc. If I read correctly, this means we could capture an eARC stream and either write to a file or process as necessary.

The interesting bits are at the bottom:


The card 0, device 6 device is the eARC device. You can record audio with the command below:
I wonder about the multichannel capabilities, the example is typical arc 2 channels 48khz 16 bit and a fast search couldn't find anything else than this user saying that only stereo is possible and asking when multichannel will be available:


If multichannel works, it would be a great device
 
Last edited:
I do not think there will be any standardization for such a niche technology. The SoC-specific driver creates an alsa device and defines some alsa controls for settings. Every SoC will have it differently.

As of digital-format standardization - the only one I know about is SPDIF with the IEC958 control names https://www.kernel.org/doc/html/v4.13/sound/designs/control-names.html#iec958-s-pdif-interface - e.g. https://github.com/alsa-project/alsa-lib/blob/master/src/conf/cards/HDA-Intel.conf#L88-L136 . Actually very few drivers set these values anyway, eventhough players use them (e.g. mplayer https://github.com/philipl/mplayer/...18544154f7483e3182/libao2/ao_alsa.c#L297-L327 or mpv https://github.com/mpv-player/mpv/b...3c31bfbcd435d12/audio/out/ao_alsa.c#L573-L577 )
 
I got the same eARC extractor and indeed, the I2S is easily accessible. Unfortunately, without anything connected to the HDMI output the device acts only as a 2.0 device, so it requires additional tweaking: either something plugged into the HDMI port that would report a desired EDID, or replacing the microcontroller and setting up the chip with desired configuration directly. I don't have any sink HDMI devices at the moment, so couldn't test anyhing other than the default 2.0 configuration.

There is also a UART port connected to the IT6622 chip. The logs are not very useful: they do contain the hex dumps of presumably the IT6622 registers, but it's not too difficult to intercept the commands being set over I2C. But if anyone has access to the datasheet, please let me know.

Code:
I2C Update = 0  8F  0
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:0
g_u8IteRdy:0
SB I2C chg = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 01 01 1D 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x50: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  83 6F 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  1
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:1
g_u8IteRdy:1
SB I2C chg = 3
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x50: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  2
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:2
g_u8IteRdy:2
SB I2C chg = 5
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: A8 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 05 8F
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8E  3
clear I2C_SYS_INT
SB_DefaultSetting
SB_PowerOn
+u8SbVol=0, u8AudioVolume=50
-u8SbVol=50, u8AudioVolume=50
g_u8SbTxSta:0, u8I2c0xF2:12
TV CEC ON
SB CEC ON, Audio system On, eARC/ARC Enable
CEC On switch to TV
SB I2C chg = CA
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 12 00  00 00 00 00    00 00 00 00  00 A0 00 00
SB_HostControl A
CMD_MODE_OPT
SB I2C chg = 82
SB_HostControl 8
CMD_MODE_ARC_EARC
SB I2C chg = 82
I2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:12, u8I2c0xF2:13
TV HPD = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00


\0I2C Update = 0  8F  0
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:0
g_u8IteRdy:0
SB I2C chg = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 01 01 1D 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x50: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  83 6F 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  1
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:1
g_u8IteRdy:1
SB I2C chg = 3
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x50: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  2
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:2
g_u8IteRdy:2
SB I2C chg = 5
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: A8 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 05 8F
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8E  3
clear I2C_SYS_INT
SB_DefaultSetting
SB_PowerOn
+u8SbVol=0, u8AudioVolume=50
-u8SbVol=50, u8AudioVolume=50
g_u8SbTxSta:0, u8I2c0xF2:12
TV CEC ON
SB CEC ON, Audio system On, eARC/ARC Enable
CEC On switch to TV
SB I2C chg = CA
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 12 00  00 00 00 00    00 00 00 00  00 A0 00 00
SB_HostControl A
CMD_MODE_OPT
SB I2C chg = 82
SB_HostControl 8
CMD_MODE_ARC_EARC
SB I2C chg = 82
I2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:12, u8I2c0xF2:13
TV HPD = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00
I2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:13, u8I2c0xF2:13
CEC REQ [0x10]
CEC -> Power On
SB I2C chg = 80
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00
\xFFI2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:13, u8I2c0xF2:13
CEC REQ [0x10]
CEC -> Power On
SB I2C chg = 80
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 80 00
I2C Update = 0  2  4
clear I2C_SYS_INT
Old Ado Info: 00-00-00-00
Old Ado CA: 00

New Ado Info: 22-80-00-14
New Ado CA: 00
Select IIS
Ado CH 2
Ado Type LPCM
Ado Fs 48000
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 02 32 00 00  00 00 22 80    00 14 00 64  01 00 70 01
0x20: 00 00 00 00  04 0C 00 02    02 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00
 
I got the same eARC extractor and indeed, the I2S is easily accessible. Unfortunately, without anything connected to the HDMI output the device acts only as a 2.0 device, so it requires additional tweaking: either something plugged into the HDMI port that would report a desired EDID, or replacing the microcontroller and setting up the chip with desired configuration directly. I don't have any sink HDMI devices at the moment, so couldn't test anyhing other than the default 2.0 configuration.

There is also a UART port connected to the IT6622 chip. The logs are not very useful: they do contain the hex dumps of presumably the IT6622 registers, but it's not too difficult to intercept the commands being set over I2C. But if anyone has access to the datasheet, please let me know.

Code:
I2C Update = 0  8F  0
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:0
g_u8IteRdy:0
SB I2C chg = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 01 01 1D 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x50: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  83 6F 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  1
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:1
g_u8IteRdy:1
SB I2C chg = 3
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x50: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  2
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:2
g_u8IteRdy:2
SB I2C chg = 5
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: A8 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 05 8F
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8E  3
clear I2C_SYS_INT
SB_DefaultSetting
SB_PowerOn
+u8SbVol=0, u8AudioVolume=50
-u8SbVol=50, u8AudioVolume=50
g_u8SbTxSta:0, u8I2c0xF2:12
TV CEC ON
SB CEC ON, Audio system On, eARC/ARC Enable
CEC On switch to TV
SB I2C chg = CA
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 12 00  00 00 00 00    00 00 00 00  00 A0 00 00
SB_HostControl A
CMD_MODE_OPT
SB I2C chg = 82
SB_HostControl 8
CMD_MODE_ARC_EARC
SB I2C chg = 82
I2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:12, u8I2c0xF2:13
TV HPD = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00


\0I2C Update = 0  8F  0
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:0
g_u8IteRdy:0
SB I2C chg = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 01 01 1D 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x50: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  83 6F 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  1
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:1
g_u8IteRdy:1
SB I2C chg = 3
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x50: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 00 8F
I2C Update = 0  8F  2
IT6622 Version:
 66 22 B0 01 29 00 06 11 00
g_u8IteRdy:2
g_u8IteRdy:2
SB I2C chg = 5
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: A8 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x70: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x80: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 00 12 00  00 00 00 00    00 00 00 00  00 00 05 8F
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8F  3
 g_u8IteRdy == 3 return
I2C Update = 0  8E  3
clear I2C_SYS_INT
SB_DefaultSetting
SB_PowerOn
+u8SbVol=0, u8AudioVolume=50
-u8SbVol=50, u8AudioVolume=50
g_u8SbTxSta:0, u8I2c0xF2:12
TV CEC ON
SB CEC ON, Audio system On, eARC/ARC Enable
CEC On switch to TV
SB I2C chg = CA
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 12 00  00 00 00 00    00 00 00 00  00 A0 00 00
SB_HostControl A
CMD_MODE_OPT
SB I2C chg = 82
SB_HostControl 8
CMD_MODE_ARC_EARC
SB I2C chg = 82
I2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:12, u8I2c0xF2:13
TV HPD = 1
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00
I2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:13, u8I2c0xF2:13
CEC REQ [0x10]
CEC -> Power On
SB I2C chg = 80
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00
\xFFI2C Update = 0  80  4
clear I2C_SYS_INT
g_u8SbTxSta:13, u8I2c0xF2:13
CEC REQ [0x10]
CEC -> Power On
SB I2C chg = 80
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 00 32 00 00  00 00 00 00    00 00 00 64  01 00 00 00
0x20: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 80 00
I2C Update = 0  2  4
clear I2C_SYS_INT
Old Ado Info: 00-00-00-00
Old Ado CA: 00

New Ado Info: 22-80-00-14
New Ado CA: 00
Select IIS
Ado CH 2
Ado Type LPCM
Ado Fs 48000
0x00: 66 22 B0 01  29 00 06 11    00 00 00 00  00 00 00 00
0x10: 02 32 00 00  00 00 22 80    00 14 00 64  01 00 70 01
0x20: 00 00 00 00  04 0C 00 02    02 00 00 00  00 00 00 00
0x30: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0x40: 08 F7 66 49  54 36 36 32    32 5F 53 42  00 00 00 00
0x50: 49 54 36 36  32 32 53 42    00 00 00 00  00 00 00 00
0x60: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 83
0x70: 6F 00 00 38  09 0F 07 0F    17 07 57 04  03 15 07 50
0x80: 67 7E 03 5F  7F 07 3E 06    C0 5F 7F 01  00 00 00 00
0x90: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xA0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xB0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xC0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xD0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xE0: 00 00 00 00  00 00 00 00    00 00 00 00  00 00 00 00
0xF0: 00 39 13 00  00 00 00 00    00 00 00 00  00 A0 00 00
Thanks a lot for testing and sharing!
Would one of those dummy plugs work to fool the extractor? I have no idea how they work, just wondering.
Regarding the datasheet, I am not very optimistic. The pattern that I have observed is that some of the older chips end up surfacing, but I have never seen any of any recent one...
 
Topic Title: "Dump Everything you [DON'T] know about HDMI eARC here"
I have never been able to make sense of this dilemma that I have had since the beginnings of ARC and continues to the era of eARC.:oops:
I'll represent this dilemma (of mine) as a pictorial, at first.
2022410_HDMI-OLEDBraviaLabeling01.jpeg

2022410_HDMI-OLEDLG-Labeling05.jpg

2022410_HDMI-DO100ProLabeling03.jpg

2022410_HDMI-RSP1576Labeling04.jpg

2022410_HDMI-ZD3Labeling02.jpg

Now then:
1. Why would an AV receiver system - such as the above Rotel - have an OUT labelled ARC/OSD, when it actually and already is processing/extracting the audio from the HDMI 6+ INputs? and
2. Why would the same HDMI OUT port (used for ARC) transmit-back to the TV; the OSD (OnScreenDisplay) status of Rotel volume level (etc.)?
3. Why does the 2 TVs (shown as examples) need the e/ARC HDMI as an INput when the 'receiver' has already extracted the audio?
4. If the TVs' HDMI e/ARC are INputs; how can you extract the TVs' streaming platform audio to an HDMI input-ready hardware such as the SMSL and FOSI INputs (shown above)?
5. Same as Q#4, but applying to AV receivers (e.g. Rotel, above)?

Maybe it is just semantics of port designators!
The answer to these is not the alternative use of the SPDIF (optical) OUT from the TV or using an HDMI splitter.:facepalm:
 
4. If the TVs' HDMI e/ARC are INputs; how can you extract the TVs' streaming platform audio to an HDMI input-ready hardware such as the SMSL and FOSI INputs (shown above)?
(E)ARC just means audio can flow in the other direction than the video.

That means your AVR can process audio from th TVs HDMI inputs via its HDMI output.

The simpler devices just receive the audio, yet usually do not produce any video output (or a black screeen)
 
Back
Top Bottom