[Community] Modify the voice stream of a Neo Freerunner GTA02, Is it possible?

Wurzer Juergen Juergen.Wurzer at fhstp.ac.at
Wed Sep 12 19:23:47 CEST 2012


Hi!

Thank for the quick response of "Modify the voice stream of a OpenPhoenux GTA04".
http://lists.goldelico.com/pipermail/community/2012-August/date.html

I hope this mailing list is also for GTA02 or should I use instead of this the old community at lists.openmoko.org list?

Until the "GTA04 Complete" is ready for ship I have buy a second-hand Neo Freerunner GTA02A6 (with buzzfix).
I have tested QtMoko-v47, SHR, Android (1.5 and 2.2.1) and now I am using QtMoko-v47.

Now I want to intercept the voice stream of a GTA02.

Has a GTA02 mobile phone the possibility to modify/intercept the audio voice stream by an user space process
for example to realize a answering machine or scramle the voice or hide a message by steganography into the voice
or anything else.

Is this possible on a Neo Freerunner?

I have checked http://wiki.openmoko.org/wiki/Neo_Freerunner_audio_subsystem
and found out that QtMoko use the ALSA Control Configuration files from
/opt/qtmoko/etc/alsa-scenarios.

During a phone call (without headset) it seems that /opt/qtmoko/etc/alsa-scenarios/gsmhandset.state is used.

It seems to me that the samples from gsm modem to speaker/mic are not forwarded by a user process.
Instead of this the samples are bypass or forwarded by the driver. Is this correct?

During a phone call it seems that no user space process has opened a sound device.
root at neo:~# lsof -n | grep /dev/snd
find no pcm device.

Only if a play some nonsense i see a used device.
root at neo:~# aplay -D hw:0,0 -f S16_LE -c 2 /dev/urandom &
root at neo:~# lsof -n | grep /dev/snd
aplay     1001       root    4u      CHR     116,16      0t0    165 /dev/snd/pcmC0D0p
root at neo:~#

I have tried to change the gsmhandset.state.
For example:
"Right Mixer Right Playback Switch" from false to true
"Left Mixer Bypass Playback Switch" from true to false
"Left Mixer Left Playback Switch" from false to true
"Right Mixer Bypass Playback Switch" from true to false
Now I hear nothing :D

After this changes I hoped that something like that would work (but without any success):
# arecord -Dhw:0,0 -fS16_LE -r8000 | aplay -Dhw:0,1 &
# arecord -Dhw:1,0 -fS16_LE -r8000 | aplay -Dhw:0,0 &

Is something like this possible?

Or is something like this only possible by changing the source code of QtMoko?

Is there a good documentation of the 93 different controls (switches, multiplexers, and volumes)?

Best regards
Jürgen



More information about the Community mailing list