A few phones are reported here to have echo problems, in my case the Moto G4 Play (harpia). However, these seem impossible to fix and remain in different versions of /e/.
Are some low-level audio processing functions contained in device-specific drivers? Presumably, /e/ developers will not be able to fix such drivers - e.g. looking at the Lineage build instructions, there seems to be a lot of proprietary stuff:
Maybe someone knowledgeable can shed some light on the problem?
I flashed @itsclarence’s new Samsung Galaxy S6 Edge (Zeroltexx) eOS-Q-build, and the echo in phone call issue was still present, just like on Nougat and Oreo. I was able to fix it on my phone. Since the S6 and S6 Edge are a lot alike, maybe this could help you if you flash his new Samsung Galaxy S6 eOs-Q build. (I have no idea if this would work on Nougat or Oreo though)
The fix is as follows and is possible thanks to this xda thread :
Root the phone with Magisk (flash the Magisk zip file using TWRP)
Install a file manager with root access (I used Total Commander File Manager, but maybe there are better alternatives)
In the file manager, go to File system root/system/vendor/etc/mixer_paths_0.xml
Make a backup of the original mixer_paths_0.xml file so you can return to the original configuration if the fix does not work.
Replace mixer_paths_0.xml by its modified version available here
I do not know which line precisely. I trusted the user from the xda thread, who said their edits in the mixer_paths_0 file fixed the issue. I copied the three file parts the user posted, merged them into a single file, which I then placed in the previously mentioned directory.
In order to find which values differ between the original and edited mixer_paths_0.xml files, I used the diff command (with the -w option to ignore possible blank spaces differences) in Linux terminal : diff -w mixer_paths_0original mixer_paths_0edited.
A file containing the output of the diff -w command can be found here. In this file, first which lines differ is mentioned, then the values of the original file are shown, then, after a - - - separation, the edited values are displayed.
The result is that there are many edits, so I cannot really tell you which one is crucial. The file I linked showing the differences should be a good place to start I guess.
Maybe someone who knows more about this could help us pinpoint which line is important to fix the echo problem ?
I look forward to trying this on my S6 as soon as I can, hopefully later this week if time permits. Many, many thanks to @anon95995175 for bringing this potential fix to the /e/OS community’s attention!
I rooted a Moto E2 (surnia) using the method above and am able to view/edit the mixer_path file. Still the problem is to find the lines relevant to echo cancellation. May have to experiment…