Meego Wiki
Views

ARM/N900/Features/CallAudio

From MeeGo wiki
< ARM | N900
Revision as of 11:24, 21 September 2010 by Sage (Talk | contribs)
Jump to: navigation, search

This feature provides working call audio (incoming, outgoing), SMS sending on the Nokia N900.

The modifications are hosted in the OBS project devel:devices:n900:feature11_modem

All the packages in question are built for ARMv7 and X86 and can downloaded at http://download.meego.com/live/devel:/devices:/n900:/feature11_modem/testing/ . The packages are built against testing repository (http://download.meego.com/testing/)

Feature contact points from Nokia N900 hardware adaptation team:

  • Harri Hakulinen <harri.hakulinen@nokia.com>
  • Carsten Munk <carsten@maemo.org>

Contents

Prjconf changes

Add:

Prefer: ofono-config-phonesim

Kickstart changes

For N900, add repository and in %packages:

# Feature modem
pulseaudio-modules-meego-voice
pulseaudio-modules-meego-cmtspeech
pulseaudio-modules-meego-common
ofono-config-n900

In all other configurations using phonesim, add in %packages:

ofono-config-phonesim

Modified packages

nokia-n900-configs

Package maintainer: Carsten Munk <carsten@maemo.org>

Patch diff location: https://build.meego.com/package/files?package=nokia-n900-configs&project=devel%3Adevices%3An900%3Afeature11_modem

Package is N900 specific.

What is changed:

  • Modem powerup d-bus script is started in system startup (rc.d)
    • RISK: Slower startup or stall if modem not answering (dbus timeouts would happen, I presume?)
    • POSSIBLE CHANGE: Backgrounding modem powerup script at startup
  • ALSA mixer changes for N900 and pulseaudio configuration changes
    • RISK: Non-modem sound in general might not work (need QA)

udev-rules-nokia-n900

Package maintainer: Carsten Munk <carsten@maemo.org>

Patch diff location: https://build.meego.com/package/files?package=udev-rules-nokia-n900&project=devel%3Adevices%3An900%3Afeature11_modem

Package is N900 specific

What is changed:

  • Added new udev rule file, 10-cmt_speech.rules, with permissions 0777 (rwxrwxrwx). To allow user to talk to CMT speech interface in kernel.
    • RISK: Very wide permissions.
    • POSSIBLE CHANGE: Should be for meego user instead?

ofono

Package maintainer: Martin Xu <martin.xu@intel.com>

Package diff location: https://build.meego.com/package/files?package=ofono&project=devel%3Adevices%3An900%3Afeature11_modem

What is changed:

Package is global.

pulseaudio

Package maintainer: Vivian Zhang <vivian.zhang@intel.com> ?

Package diff location: https://build.meego.com/package/files?package=pulseaudio&project=devel%3Adevices%3An900%3Afeature11_modem

What is changed:

  • Added alsa 'old sink' patch. This is needed for the Nokia voice pulseaudio modules. This patch is a composite of patches, described in top of patch.
    • UPSTREAM STATUS: Uncertain and unclear if it would be suitable for upstream. Opinion of patch writers needed.
    • RISK: These patches touch core pulseaudio things and may affect other devices. QA on other devices needed to confirm they don't.
# From 46b1ae641bbfe209ce1837c7795177b7d604949b Mon Sep 17 00:00:00 2001  
# From: Jyri Sarha <jyri.sarha@nokia.com>  
# Date: Wed, 22 Jul 2009 12:00:59 +0300  
# Subject: [PATCH 037/115] core: Add infrastructure for delayed HW volume setting  
#   
# To make concurrent use of SW and HW volume glitchles their application  
# needs to be syncronized. For accurate syncronization the HW volume  
# needs to be applied in IO thread. This patch adds infrastructure to  
# delay the applying of HW volume to match with SW volume. For this patch  
# to have any effect it needs to be taken into use by sink implementor.  
#  
# From 6c573b1a03cfe2f6e5b649371f002be60ea3cf01 Mon Sep 17 00:00:00 2001  
# From: Tanu Kaskinen <ext-tanu.kaskinen@nokia.com>  
# Date: Mon, 21 Dec 2009 14:11:31 +0200  
# Subject: [PATCH 072/115] alsa-mixer: Add DecibelFix section to the profile set config file format.  
#   
# This commit only implements the parser, the decibel fix data is not yet used  
# for anything.  
#  
# From 91fe0803afe864016e446cb1535cac5e5826fe5c Mon Sep 17 00:00:00 2001  
# From: Tanu Kaskinen <ext-tanu.kaskinen@nokia.com>  
# Date: Tue, 29 Dec 2009 14:51:09 +0200  
# Subject: [PATCH 073/115] alsa-mixer: Use decibel fixes when getting and setting decibel volumes.  
  • Added flat sink patch
    • UPSTREAM STATUS: Uncertain, needs patch writer opinion.
    • RISK: This patch affects core pulseaudio and would need QA on other devices.
  • Added call state tracker singleton object. This is used to monitor if a call is currently going on.
    • UPSTREAM STATUS: Uncertain, but may be MeeGo specific enough to not upstream
    • RISK: Does not affect core pulseaudio, just adds to API. Nokia pulseaudio voice modules need this.
  • Added pulsecore headers. This adds pkgconfig(pulsecore) and exports src/pulsecore/*.h to modules. This is needed for Nokia pulseaudio voice modules, possibly for getting closer into the pulseaudio core.
    • UPSTREAM STATUS: Uncertain, but rule of encapsulation might be broken in terms of architecture (if core is not usually suitable for outside interference)
    • RISK: None, except for added ABI/API currently exported without headers.

Package is global.

Added packages

libcmtspeech

Library for cellular speech data path

Package maintainer: Sami Sirkia <sami.u.sirkia@gmail.com>

Package files: https://build.meego.com/package/files?package=libcmtspeechdata&project=devel%3Adevices%3An900%3Afeature11_modem

Upstream: http://meego.gitorious.org/meego-cellular/libcmtspeechdata

What does it do:

# This package provides "libcmtspeechdata", an application  
# engine (APE) side library, for the Nokia CMT Speech Data  
# SSI protocol. The library provides an application interface,  
# for implementing the speech data path for cellular voice  
# calls. The library depends on other components for setting  
# up and managing the call signaling path.  
#   
# CMT is abbreviation of Cellular Modem Terminal, i.e. the  
# cellular modem. APE refers to Application Engine, i.e.  
# the processing environment where libcmtspeechdata is run.  
# In DFL6x configurations, APE is a TI OMAP3 processor.  
# SSI refers to the Synchronous Serial Interface, which is  
# a serial bus found on TI OMAP application engines as well  
# as on Nokia cellular modems. SSI is used as the low-level  
# interface used to communicate between APE and CMT. 

Dependancy of maemo-pulseaudio-modules

ofono-config-n900

Package maintainer:

Upstream: none

Package files: https://build.meego.com/package/files?package=ofono-config-n900&project=devel%3Adevices%3An900%3Afeature11_modem

What does it do:

Provides ofono-config and /etc/ofono/modem.conf for N900 settings.


ofono-config-phonesim

Package maintainer:

Upstream: none

Package files: https://build.meego.com/package/files?package=ofono-config-phonesim&project=devel%3Adevices%3An900%3Afeature11_modem

What does it do:

Provides ofono-config and /etc/ofono/modem.conf for Phonesim settings.

pulseaudio-modules-meego

Package maintainer:

Upstream: http://meego.gitorious.org/maemo-multimedia/pulseaudio-modules-meego

Package files: https://build.meego.com/package/files?package=maemo-pulseaudio-modules&project=devel%3Adevices%3An900%3Afeature11_modem

What does it do:

Provides maemo-pulseaudio-modules-voice, maemo-pulseaudio-modules-voice. Key components for voice call.

This is a Nokia CMT modem specific package.

Patches:

TODO:

  • Naming may/should be changed.
Personal tools