Since then, I've released a few more patches, and they've found their way into most, if not all kernels for MTD ROMs for the Galaxy S line of products. The major improvement over that initial release is that the "boost levels" are configurable now. Thanks to The Immortal JT1134, there is now on most ROMs a nice application to modify these parameters, allowing you to adjust them pretty much on-the-fly.
|My In-Call Volume Settings
note the values for Speakerphone
The speakerphone echo is caused by a combination of too high of a boost in the speakerphone call audio plus too high of a microphone gain in speakerphone mode. Both of these can be adjusted in a few places, but my preferred method is to use the Home Screen -> hit the menu button -> "System Settings" -> "Device Options" -> "In-Call Volume Controls" path.
Once you've got that open, adjust your "Speakerphone Volume" setting down to 1. Some people prefer 0. 2 will almost certainly cause echo. 3 will give you echo with severe distortion and probably melt your eardrums while causing a significant space-time anomaly in your fridge which will immediately consume all your beer, sending it back to 1955. You've been warned.
Next, adjust your speakerphone mic gain down some. I've found that 14 is a good value. Some may prefer slightly more or less. I've found that anything above 19 usually results in an echo. You'll just have to play with this one. If you have it above, say, 25, then you will almost certainly get some echo along with over-modulation, and the kernel will freak out and send an email to your parents and grandparents with your entire collection of nasty sheep porn attached. You've been warned.
Finally, make sure you hit OK, or all these settings will not be applied. They *should* stick after a reboot. Mine do.