DAC Sky song with ES9038Q2M on I2S Drops

I have a Sky Song DAC with ES9038Q2M. Connected via I2S to RPi4. From the list of DAC of Volumio I choose Generic DAC I2S. When volumio is play and the signal is 44.1kHz I have a lot of drop like the signal is lost or not lock. I tried another difrend DAC with ES 9038Q2M and the problem was identical. I also chose from the list volumio AUDIOPHONICS DAC I-Sabre ES9028Q2M but it doesn’t change anything. I also changed the RPi4 form my friend but the problem was the same. When I played flac files, only one channel played and the signal was terrible. Where is the problem ? DACs are connected by standard four wires DATA BLCK LRCK GND. I think the problem is in the volumio 3 and above version itself. Can anyone help me?

the generic I2S DAC driver is being used by several PCBs without any issue, it’s very unlikely that the problem is there or Volumio-related.

I2S signals are very sensitive ones, if the connection is not done in the proper way the digital signals get distorted, and the outcome could be the one you described.

Please make sure the connections are done properly, with the shortest wires possible

I suspect the problem is due to the clock of the Pi and the DAC are not in syn. I am also new to Pi and I just bought a Pi 4 and a 7 inch touch screen. About to start building my first streamer.

Based on my search of this topic, I tend to agree that I2S is the best way to connect to DAC for best sound quality. I have seen many DAC hats which are connected to the Pi via I2S requiring no or simple setup on Volumio. Basically the DAC clock determines when to stream data from the Pi to the DAC, not the Pi clock. See if there is a setting (likely software) which determines DAC or Pi clock when sending data via I2S.

Not sure if this will help.

what you describe is I2S DAC Master mode (the DAC is generating the clock signals) vs. I2S DAC Slave mode (the RPi is generating the clock signals).

it heavily depends on the kernel driver, that can support one or the other… it can’t be changed via a simple setting.