On Thu, 2009-02-26 at 14:10 +0000, Mark Brown wrote:
> On Thu, Feb 26, 2009 at 11:59:01AM +0100, Jan Lübbe wrote:
>
> > The problem here seems to he the "Capture Left Mixer" control is set to
> > "Analogue Mix Left". When i now switch this to something different
> > ("Analogue Mix Right") and back, the receive path starts working. Paul
> > and Jörg suggested it might have something to do with DAPM. Also i
>
> Please supply the ALSA state files for each stage of the process (the
> initial state then the state after each operation). That should let me
> reproduce exactly what you're doing.
I've reproduced it directly after booting and have dumped the the alsa
state and dapm_widget at each stage.
> You can check the power state of all the driver components by looking in
> /sys/bus/platform/devices/soc-audio/dapm_widgets and building soc-dapm.c
> with #define DEBUG at the top will make it very much more verbose about
> the power decisions it's making.
Ok, here's what it did:
- Start a call (this will load gsmhandset)
r...@om-gta02:~# cat /sys/bus/platform/devices/soc-audio/dapm_widget >
dapm_call_started
r...@om-gta02:~# alsactl -f alsa_call_started store
- Use Blues to start a SOC connection to the headset (now noise is audible in
the headset)
- Load the GSMBLUETOOTH state
r...@om-gta02:~# alsactl -f GSMBLUETOOTH.txt restore
r...@om-gta02:~# cat /sys/bus/platform/devices/soc-audio/dapm_widget >
dapm_headset_restored
r...@om-gta02:~# alsactl -f alsa_headset_restored store
- Set the DAC/ADC rates via pyalsa (see http://www.robsims.com/FR-BTAudio) now
sound is
transmitted from BT to the remote party.
r...@om-gta02:~# cat /sys/bus/platform/devices/soc-audio/dapm_widget >
dapm_rate_set
r...@om-gta02:~# alsactl -f alsa_rate_set store
- Now i use alsamixer to set 'Capture Right Mixer' to 'Analogue Mix Right' (no
audible change)
r...@om-gta02:~# alsamixer
r...@om-gta02:~# cat /sys/bus/platform/devices/soc-audio/dapm_widget >
dapm_fix_step1
r...@om-gta02:~# alsactl -f alsa_fix_step1 store
- Now i set 'Capture Right Mixer' back to 'Analogue Mix Left' and have working
sound in both directions
r...@om-gta02:~# alsamixer
r...@om-gta02:~# cat /sys/bus/platform/devices/soc-audio/dapm_widget >
dapm_fix_done
r...@om-gta02:~# alsactl -f alsa_fix_done store
> > noticed that changeing "Capture Right Mix" changes "Capture Left Mix" in
> > paralell, but doesn't fix the audio path im my case.
>
> They're alises for the same underlying control for power purposes,
> although there's some gotchas there...
To me it seems that even with the same alsa state, the dapm state
depends on something else (such as the order in which this state was
reached).