Freerunner audio channels

Al Johnson openmoko at
Fri Aug 7 18:12:19 CEST 2009

On Friday 07 August 2009, David Fokkema wrote:
> Hi list,
> I finally took a lunch break to check out the various alsa channel
> settings. Angus's mixer scripts rock, BTW! Trying to track down the
> input for the handset, I've looked at the wolfson schematic, browsed
> through the handset state file and can only come to the conclusion that
> the audio path is completely circumventing the digital filter module.
> Why is that? We're only using the sidetone path and mixing that as the
> only channel into the output. The rest is disabled (volumes set to 0 and
> switches set to False). Reading up on what sidetone actually is
> (wikipedia) I get the feeling that we're not supposed to do this. Ok, it
> works, but the sidetone path was never intended for this purpose, I
> gather, but rather to provide feedback to the speaker's earpiece.
> I tried to decipher the various wiki pages dealing with audio and the
> conflicting posts on alsa settings and played with Angus's mixer during
> a phone call (FR in my one hand, landline with covered up mouth piece in
> my other) and noticed that setting Mic2 Capture Volume to 0 does _not_
> mute the Mic. It _does_, however, enable me to set the Mono Sidetone
> Playback Volume quite high (6 / 7) as well as the Mono Playback Volume
> (100 / 127).
> This post is not intended to start another discussion on 'best'
> settings, but maybe some of you know the answer to these questions:
> - Why exactly are FR's different while I've never heard of Nokia users
> needing to tweak mixer settings.

Most phones have a simple volume up/down control, often a pair of buttons on 
the left side of the handset. They hide most of the functionality of the mixer 
chip which is fine so long as it what you want and what they chose to 
implement are the same. So far nobody has written a similarly simple volume 
control for the FR.

> - Why does setting Mic2 Capture Volume to 0 _not_ (almost) mute the mic?

Mic2 has four fixed gain settings of +12dB, +18dB, +24dB and +30dB which are 
represented by 0, 1, 2 and 3 in the alsa driver. Mute is not an option, though 
IIRC you could switch that amp off. See page 20 of the Wolfson datasheet.

> - Why do we bypass the digital filters by using the sidetone path?

The digital filters are for ADC and DAC which we aren't using in phone calls. 
We are passing analogue signals through to the Calypso which has its own 
filters, ADC and DAC. The only possibly useful bit there is the AGC/Noise 
Gate, but AFAIK nobody has managed to get it to do anything useful so far.

Apps which record the phone call, or play sound  into the call, will be using 
the ADC and DAC, so will include the filter blocks.

Remember that our use of the chip is not typical. Most would probably be using 
the digital voice interface to connect to their GSM chipset instead of using 
an analogue passthrough as we are. We use the voice interface for a digital 
connection to the bluetooth module instead.

> Maybe this information is buried somewhere but I can't unearth it.
> Thanks!
> David
> PS: It seems that I can now use my FR to actually make phone calls, ;-)
> PPS: If these questions are answered, maybe I'll stick my neck out and
> delete all conflicting information on the wiki and write a small 'How to
> set your mixer settings appropriately?'
> PPPS: I'll not do anything rash, I promise. However, it would be nice to
> reach some kind of consensus and clean up the wiki. It took me far too
> much time to tweak my phone to make calls without noise, echo etc.
> _______________________________________________
> Openmoko community mailing list
> community at

More information about the community mailing list