Is full duplex audio possible over I2S on the pi? I successfully got a pair of
Digital MEMS microphones up and running using Paul Creaser's
my_loader module. This allow me to record sound and access input audio via an application I'm writing that uses a thin wrapper around ALSA.
I then connected a
simple DAC to the other data line (sharing clock and word select lines). I was then (to my surprise) able to playback audio via the device described by the my_loader module no problem. Only when I tried operating i2s in full duplex did I get problems. DMESG reveals this cryptic error . .
Code: Select all
[ 87.306162] bcm2835-i2s 20203000.i2s: ASoC: can't set 20203000.i2s hw params: -16
I then came here and discovered dt-overlays and tried using the "dual" overlay from a few posts up (which I have saved as a
gist). This dual overlay works for sound output, but not for input. Strangely, I noticed the only audible input happens when I pull the jack in and out of the DAC module!? I get the same error described above if I try and open the device as full-duplex.
1) Is full duplex possible over i2s using the simple devices I have purchased?
2) Is it possible atall?
3) If it is, can someone give me a clue where to look to get this working?
4) If it is impossible, what is a good full-duplex solution that doesn't involve USB?