[Gta04-owner] [QtMoko] no sound during call (GTA04a3, QtMv48)

Radek Polak psonek2 at seznam.cz
Mon Oct 8 11:46:46 CEST 2012


On Sunday, October 07, 2012 10:29:47 PM NeilBrown wrote:
> On Sun, 7 Oct 2012 13:17:43 +0200 Radek Polak <psonek2 at seznam.cz> wrote:
> > > When a call is started, none of the choices "Earpiece" or "Speaker" is
> > > selected. If I use alsactl to switch to the earpiece-state, there's an
> > > error in the log saying that's not possible:
> > > Oct  6 01:07:13 neo kernel: [ 1157.022979] twl4030-codec twl4030-codec:
> > > operation mode cannot be changed on-the-fly
> > 
> > I am not sure what this means, but i already saw it too. Maybe wrong alsa
> > state or that the device is already open by some app.
> 
> The twl4030 audio codec has 2 operation modes.
> In one the PCM (digital) connections to the bluetooth and Modem are
> disabled.  In the other they are enabled.
> The first is sometimes described as "multimedia player" mode while the
> seconds is "voice" mode.  I think you a limited to lower sample rates in
> voice mode.
> 
> You cannot switch modes while the device is active.  i.e. nothing can have
> the device open to play or record.
> 
> This error just tells you that it cannot switch mode.  It shouldn't stop
> other settings from being applied.

QtMoko expects alsactl to be silent otherwise it threats it as error.

> On the A3 you should never need to switch modes (unless you are playing
> with using the PCM path to get sound to/from the bluetooth).

I have checked all alsa states and they all use mode 1 except 
gsmearpiecehw.state - this one is used for HW routing during call on A4. The 
states are here:

https://github.com/radekp/qtmoko/tree/master/devices/gta04/src/plugins/audiohardware/neo

> On the A4 you need to either leave it in the second mode (which probably
> wastes power, and probably forces low data rates) or switch on the second
> mode at some safe point - maybe between stopping the ring and answering
> the call, or maybe before making the phone ring.

I am always switching back after call - no other application should have the 
device open - if it has QtMoko kills it and tries again.

So to me it looks like QtMoko is thinking that it's running on A4 model. That 
would expain the "operation mode cannot be changed on-the-fly" message.

So 3 things for A3 users to try.

1/ Check if this file exists:

	/sys/class/gpio/gpio186/value

2/ provide log with "AudioState" category enabled.

3/ try switching maunally between alsa states in /opt/qtmoko/etc/alsa


Regards

Radek


More information about the Gta04-owner mailing list