Echo problems - what's causing them?

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?

1 Like

I will be watching this thread with great interest, Pinback- my Samsung S6 also suffers from this issue.

As do many others https://community.e.foundation/t/echo-in-voip-calls/19656/10?u=vaughan

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 :

  1. Root the phone with Magisk (flash the Magisk zip file using TWRP)
  2. Install a file manager with root access (I used Total Commander File Manager, but maybe there are better alternatives)
  3. In the file manager, go to File system root/system/vendor/etc/mixer_paths_0.xml
  4. 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.
  5. Replace mixer_paths_0.xml by its modified version available here
  6. Optionally, unroot the phone
1 Like

That’s an interesting development! I might try to root one of my Motorolas to have a look if there is such a mixer_paths file.

Which line could be the crucial fix for the echo?

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 @Bryophytae 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…

What happens if you replace mixer_path by its modified version that I linked in step 5 ?

It looks quite different in structure. I’d be surprised if a Samsung config file works for Motorola, but might try it anyway…