Echo cancellation problem on Google Pixel 4a (sunfish)

Hi! I’m using /e/OS 1.17-s-20231113351092-dev-sunfish on Google Pixel 4a and getting the following problem: during the voice call the other person hears the echo of their own voice. The problem is present only in the conventional (default) voice mode, i.e: the voice of the other person goes to the speaker on the top (and to my ear). However, if I switch to the loudspeaker mode, the echo cancellation, surprisingly, works perfectly. What’s interesting, the same problem presents in other applications performing voice communications (Signal, for instance). And there, again, it can be “workarounded” by switching to loudspeaking mode.

I have a hypothesis, that the described problem can be solved by altering mixer_paths.xml (a fine-grained configuration of audio devices on Android, as far, as I know). However, I don’t know how to check that. What is the easiest way to alter mixer_paths.xml on /e/OS? What further investigations could be suggested?
Thanks in advance!

I also have this exact issue on my pixel 4a running 1.18-t-20231210360971-dev-sunfish

And I’m looking for a solution too.



dev builds should offer adb root (if it’s not turned of for higher Androids for safetynet last I remember), then you can edit the mixer xml. I think it is a good hunch to go through the audio xml

Root access in dev builds sounds great. However, is it possible to install a dev image without clearing up the whole device? I. e. the same way as I install OTA updates? The device is in active use, so that’s a problem if I would need to clear up all applications and data.

but by your build string posted initially, you already are on a dev build? are you shown the root option below enabling usb-debugging inside developer options? (to enable those, tap 7 times onto the build string in settings → about-phone)

OMG, you’re right, @tcecyk ! Thank you, I’ll try it soon!


Do please update here to let us know how you get on with this please, as I’d really like to fix this too!



BTW: Using a wired headset/mic seems to be a workaround.