FreeCalypso update: progress with DSP patches and voice calls

Das Signal das.signal at freecalypso.org
Thu Apr 7 18:52:53 CET 2016


Thanks Mychaela. In fact you had already provided directions a couple
months ago, but I had forgotten. I can confirm that voice calls work
fine with leo2moko -debug and the current gsm-fw with the pcm patch, and
do not work with the patch removed (btw note there is a slight error
below, one should use gsmhandset.state not gsmheadset.state). I also
tried setting the volume from 115 to 127 but on my particular GTA02
it seems to not work as expected, because only a loud piercing noise
is made. I also use AT+CLVL=255 before the call; the sound was a bit
muffled but otherwise ok.

I am now currently trying development environments for the purpose of
getting a better understanding of the firmware source code; in particular
being able to quickly go to a definition, or see for example all the
callers of a particular function (shift-ctrl-g). Initially I thought
eclipse would be fine, however it has issues with parsing headers:
due to a lack of propagation of #defines, headers included by other
headers often have blocks that appear to eclipse as not compiled in,
even though it is the case, leading to issues all over the place.
I also tried qtcreator which did even worse wrt/ parsing. I'm now going
to evaluate other development environments, including proprietary ones.

--DS

On Wed, Apr 06, 2016 at 06:25:24PM +0000, Mychaela Falconia wrote:
> Hi DS,
> 
> > I'm currently trying voice calls with leo2moko-debug, but this time with
> > the trace output through the jack and a CP210x cable. The issue I'm seeing
> > is that it's not possible to assert whether the audio is ok since it
> > appears what I'm hearing is the UART output converted to an analog signal.
> > Perhaps there is a trick that would allow having both the UART output
> > and analog audio separate? I tried switching in the qtmoko GUI to
> > the speaker but again the result was not acceptable.
> 
> In hardware terms, it *is* possible to have GSM voice call audio and
> the trace serial channel enabled at the same time on the GTA02, but
> the destination for the audio *must* be the earpiece speaker and not
> the loudspeaker, and certainly not the headset jack.
> 
> I don't know how to do it with QtMoko GUI enabled, but if you would be
> willing to disable this QtMoko GUI and work from the command line,
> here is the recipe:
> 
> 1. Stop QtMoko software:
> 
> /etc/init.d/qtmoko-neo stop
> 
> 2. Find where the ALSA scenario files live:
> 
> find / -name gsmheadset.state -print
> 
> 3. Once you find where the gsmheadset.state ALSA scenario lives,
>    load it:
> 
> alsactl -f /path/to/gsmheadset.state restore
> 
> This ALSA scenario directs the Calypso GSM audio to the earpiece
> speaker where it won't conflict with the headset jack being reused for
> the debug serial channel, but you will have to hold the device up to
> your ear in order to be able to hear it.  The requirement of holding
> the device up to one's ear translates into the requirement for a
> serial cable that is reliable enough and won't break the connection
> when the device is lifted up from the table - I had this problem with
> the Sysmocom CP2102 cable I got from DS, but the new official
> FreeCalypso serial cables made by UberWaves are much better in this
> regard. :-)
> 
> 4. Enable the headset jack serial channel and power-cycle the modem:
> 
> echo 1 > /sys/bus/platform/devices/gta02-pm-gsm.0/download
> echo 0 > /sys/bus/platform/devices/gta02-pm-gsm.0/power_on
> echo 1 > /sys/bus/platform/devices/gta02-pm-gsm.0/power_on
> 
> Now you can talk AT commands to the modem to connect to the network
> and exercise voice calls, either by running a terminal application on
> the Freerunner's AP and talking to /dev/ttySAC0, or if you are running
> a firmware version with the AT-over-RVTMUX feature, via fc-shell from
> the external host.
> 
> HTH,
> M~
> _______________________________________________
> Community mailing list
> Community at freecalypso.org
> https://www.freecalypso.org/mailman/listinfo/community


More information about the Community mailing list