Alsa state a7
Here it is - the alsa state to A7 version and Buzz fixed A5/A6: http://docs.openmoko.org/trac/raw-attachment/ticket/2121/gsmhandset.state.new
Just do in the Neo
mv /usr/share/openmoko/scenarios/gsmhandset.state /usr/share/openmoko/scenarios/gsmhandset.state.old wget http://docs.openmoko.org/trac/raw-attachment/ticket/2121/gsmhandset.state.new -O /usr/share/openmoko/scenarios/gsmhandset.state
If the distro is using fso then check /etc/frameworkd.conf to check which directory contains the scenario files. For SHR this directory is /usr/share/shr/scenarii -- Vikas
Although this statefile is supposed to be "the one" it seems it doesn't work perfectly for all models. Here are some hints you can try if you still have problems with audio during phonecalls:
- In case the other end complains about a rustling noise (like a flee would sit in the mic and move around) try correcting the "Mono Playback Volume" down. I have changed the value in the file to 89 and the phonecalls are now clear as they should be (On buzz-fixed A5).
- Some people reported it helps to set the Playbackvolume in FSO down a bit:
This will set the volume to 68%:
mdbus -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Device.SetSpeakerVolume 68
To read the current value:
mdbus -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Device.GetSpeakerVolume
- If it still doesn't work try fiddling around with the "Speaker Volume" in your statefile.
I recommend the other way round: fiddle with the Speaker Playback Volume and leave the calypso control alone! -- PaulFertser
Audio Path Theory
Voice recorded from the microphone goes through a bunch of mixers and switchers to get to the GSM chip, where it goes out to the network. Recorded microphone sound is send back out from the GSM chip, and into the mixer, to be played on the speaker next to the GPS board.
For recorded voice, the path of mixers/switches from microphone to GSM chip is:
control.48 Mic2 Capture Volume control.63 Mic Sidetone Mux control.12 Mono Sidetone Playback Volume control.77 Mono Mixer Sidetone Playback Sw control.5 Mono Playback Volume
Controls 63 and 77 are switches and mixers, so changing them is going to stop sound working. The trick to remember with recording sound is to start with the biggest signal possible and mess with it the least - ideally have large values initially for 48 and 12, and a smaller value for 5, particularly since there seem to be references to 5 being a gain step.
See here for excruciating amounts of detail, and pretty pictures: Neo_1973_audio_subsystem, particularly the Internal Codec Route section.
If volume is still too low, or sounds ok, but gets cut off, you need to change the noise cancellation settings. For FSO, this is set in
on the phone, in the [ogsmd] section:
[ogsmd] # if you have a ti_calypso, you can choose the dsp mode for audio enhancement. Valid values are: # "short-aec": Short Echo Cancellation (max) # "long-aec": Long Echo Cancellation (max) # "long-aec:6db": Long Echo Cancellation (-6db) # "long-aec:12db": Long Echo Cancellation (-12db) # "long-aec:18db": Long Echo Cancellation (-18db) # "nr": Noise Reduction (max) # "nr:6db": Noise Reduction (-6db) # "nr:12db": Noise Reduction (-12db) # "nr:18db": Noise Reduction (-18db) # "aec+nr": Long Echo Cancellation (max) plus Noise Reduction (max) [default] # "none": No audio processing. ti_calypso_dsp_mode = aec+nr
For my buzzfixed A6 phone, I've set:
ti_calypso_dsp_mode = none
And that seems to stop voice being cut off.
The above bit is taken from here: , where there are a bunch other settings to be able to mess with.