QtMoko v38 for GTA04 with suspend and GSM calls

Dr. H. Nikolaus Schaller hns at goldelico.com
Tue Jan 31 12:01:55 CET 2012


Hi Radek,

Am 29.01.2012 um 14:45 schrieb Radek Polak:

> There is still problems with GSM calls that other site hears echo and you will 
> need to set silent profile in Qtmoko's settings to have sound in incoming call.

while testing some boards with our arecord | aplay scripts I observed
that the ringing tone of the phone being called is transmitted after
several seconds.

Let me try an explanation:
* arecord on the microphone starts immediately filling the pipe
* aplay towards the modem does not start before it gets clocked
* this is only when the connection is accepted
* this may delay up to 5 seconds
* arecord on the modem does start at the same moment
* and aplay on the phone sees an empty pipe until then

So, the filling level of the pipe 
microphone -> CPU -> pipe -> CPU -> modem

is up to 5 seconds with sound - before the phone call is
established. This includes recording the ringing tone of
my landline phone :)

Since supplier and consumer speeds are both 8 kHz, the
pipe filling level remains constant, i.e. the same delay.

So a solution would be to use a pipe with limited size
(does not exist) or write our own daemon to spawn and
communicate with all arecord/aplay subprocesses and
discard all microphone data until the first byte from the
modem arrives. It does not need to be complex, just
forking 4 processes and setting up a select(). Maybe,
the code of femtocom.c could even be a start. If I find
some time before/during FODEM I could give it a try...

Hope this gives an idea...

Nikolaus




More information about the community mailing list