Headset state in OM2008.8, QPE version

Al Johnson openmoko at mazikeen.demon.co.uk
Wed Aug 27 10:53:58 CEST 2008

On Tuesday 26 August 2008, Nishit Dave wrote:
> Hi,
> I am now using the qpe based call interface.  I have found the following;
> If the headset is connected during an ongoing call, the state doesn't
> change automatically.  You have to manually select 'speakerphone' from
> options to make the headset work.  Even then, sound is heard through one
> earbud (the "turn amp speaker off" bug).  The mic in the headset does not
> work, but the mic in the phone works as if in the speakerphone mode.

The root of the problem is that the gsmheadset.state is not being used for the 
headset. See http://docs.openmoko.org/trac/ticket/1442 although I don't think 
you'll like the answer.

Speakerphone partially works because the headset and the speaker share an 
output channel, but the  speakerphone state uses the mic on the handset not 
the headset.

> If one were sitting at a desk playing with alsamixer through SSH, it would
> be easy to hear sound through both earbuds, but this ideal world scenario
> is in direct dissonance with the real world scenario where the headset is
> employed while driving.
> Further, the myriad options under alsamixer -V all confuse the user
> entirely, and do not give a clue as to which value to change so that the
> headset mic works.

Have a look at http://wiki.openmoko.org/wiki/Neo1973_Audio_Subsystem
Yes, it is complicated - there are at least 3 level controls for the mic, let 
alone the switching options, and it gets more complicated if you want to pass 
it through the noise gate and automatic level control. Alsamixer is just 
exposing the low level hardware - that's its job. It would be good to have a 
simplified GUI mixer to make little tweaks easier, and to give a GUI for 
saving them to the state files though.

To manually load the existing headset state file use:
	alsactl -f /usr/share/openmoko/scenarios/gsmheadset.state restore
I _think_ I've got the path right, but that is from memory. You wil have to 
run this during the call as the dialer will switch to gsmhandset.state when 
the call is picked up.

> When the headset is already plugged in (before a call), there is static
> from the earbuds, which means it can drain off the battery as there is
> signal leakage.  When a call comes in, the headset works automatically, BUT
> its mic still does not!
> With OM2008.8, I don't see alsamixer -V all show changes in the state files
> when the headset is plugged in while in use.  It worked in 2007.2.
> Has anybody else been able to replicate this problem? Does one need to file
> a bug report for this, or is there an easier solution?

More information about the community mailing list