Neo Freerunner audio subsystem

From Openmoko

(Difference between revisions)
Jump to: navigation, search
Line 29: Line 29:
 
|- align="center"
 
|- align="center"
 
! Wired Speaker  
 
! Wired Speaker  
| Should || Should || ?
+
| Yes || Yes || ?
  
 
|- align="center"
 
|- align="center"
 
! Wired Mic  
 
! Wired Mic  
| Should || Should || ?
+
| Yes || Yes || ?
  
 
|- align="center"
 
|- align="center"
Line 55: Line 55:
 
'''Alsamixer channel controls'''
 
'''Alsamixer channel controls'''
  
# State: '''''GSM <-> Built-in Handset'''''
+
The ALSA state files are installed by default, and belong to package ''"openmoko-alsa-scenarios"''.
## Possibly working state files: to be defined
+
To see where the files reside, do ''"opkg files openmoko-alsa-scenarios"''.
 +
Currently they are in ''"/usr/share/openmoko/scenarios/"''.
 +
 
 +
# State: '''''GSM <-> Built-in Handset''''' (file gsmhandset.state)
 
## Mic volume:
 
## Mic volume:
 
##* Control 48: "Mic2 Capture Volume"
 
##* Control 48: "Mic2 Capture Volume"
Line 64: Line 67:
 
##* Control 6: "Bypass Playback Volume"
 
##* Control 6: "Bypass Playback Volume"
 
##* Control 4: "Speaker Playback Volume"
 
##* Control 4: "Speaker Playback Volume"
# State: '''''GSM <-> Built-in Handsfree'''''
+
# State: '''''GSM <-> Built-in Handsfree''''' (file gsmspeakerout.state)
## Possibly working state files: to be defined
+
 
## Mic volume:
 
## Mic volume:
##* to be defined
+
##* Control ?:
 
## Speaker volume:
 
## Speaker volume:
##* to be defined
+
##* Control ?:
# State: '''''GSM <-> Wired Headset'''''
+
# State: '''''GSM <-> Wired Headset''''' (file gsmheadset.state)
## Possibly working state files: to be defined
+
 
## Mic volume:
 
## Mic volume:
 
##* Control 49: "Mic1 Capture Volume"
 
##* Control 49: "Mic1 Capture Volume"
Line 79: Line 80:
 
##* Control 6: "Bypass Playback Volume"
 
##* Control 6: "Bypass Playback Volume"
 
##* Control 3: "Headphone Playback Volume"
 
##* Control 3: "Headphone Playback Volume"
# State: '''''GSM <-> Bluetooth Headset'''''
+
# State: '''''GSM <-> Bluetooth Headset''''' (file ???)
## Possibly working state files: [http://handheldshell.com/gsm_headset.txt]
+
## Alternative working state files: [http://handheldshell.com/gsm_headset.txt]
 
## Mic volume:
 
## Mic volume:
 
##* Control 13: "Mono Voice Playback Volume"
 
##* Control 13: "Mono Voice Playback Volume"
 
##* Control 5: "Mono Playback Volume"
 
##* Control 5: "Mono Playback Volume"
 +
# State: '''''CPU <-> Built-in Handset''''' (file voip-handset.state)
 +
## Mic volume:
 +
##* Control ?:
 +
## Speaker volume:
 +
##* Control ?:
 +
 +
* These files I still don't know what they are for:
 +
** headset.state (probably for CPU <-> wired headset)
 +
** stereoout.state (probably for CPU <-> built-speaker)
  
 
----
 
----
Line 89: Line 99:
 
'''Specific Software'''
 
'''Specific Software'''
  
Angus Ainslie has written a simple [http://n2.nabble.com/Sound-quality-in-calls.-tp1087522p1096155.html python volume control] using some of these settings.
+
Angus Ainslie has written a simple [http://n2.nabble.com/Sound-quality-in-calls.-tp1087522p1096155.html python volume control] (which is getting more and more sophisticated) using some of these settings.
  
 
----
 
----

Revision as of 12:07, 23 September 2008

The Neo Freerunner (GTA02) inherited the audio subsystem from its older brother the Neo 1973 (GTA01). However, there are a few small differences. This page tries to show and explain the differences and points you to the Neo 1973 page whenever it touches the common points (but there may be overlaps for the sake of usability). It is maintained by the Community and therefore it may contain errors and omissions.


Differences from Neo 1973

  • There is only 1 (mono) built-in loud speaker instead of 2 (stereo).
  • The Wolfson Codec driver presents 94 separate controls {switches, multiplexers, and volumes} to the alsa system (in both Neos). Unfortunately they are not mapped exactly the same for the GTA01 as for the GTA02.

Possible sound connections through the Wolfson Codec

  • "Yes" = Confirmed, alsa state file exists.
  • "No" = Not possible / not desirable.
  • "Should" = Should be possible, not confirmed yet.
  • "?" = Have no idea.
GSM  ?
Bluetooth  ? Yes
Wired Speaker Yes Yes  ?
Wired Mic Yes Yes  ?
Body Earpiece Should Yes  ?
Body Speaker Yes Should  ?
Body Mic Should Yes  ?
- CPU GSM Bluetooth

Alsamixer channel controls

The ALSA state files are installed by default, and belong to package "openmoko-alsa-scenarios". To see where the files reside, do "opkg files openmoko-alsa-scenarios". Currently they are in "/usr/share/openmoko/scenarios/".

  1. State: GSM <-> Built-in Handset (file gsmhandset.state)
    1. Mic volume:
      • Control 48: "Mic2 Capture Volume"
      • Control 12: "Mono Sidetone Playback Volume"
      • Control 5: "Mono Playback Volume"
    2. Speaker volume:
      • Control 6: "Bypass Playback Volume"
      • Control 4: "Speaker Playback Volume"
  2. State: GSM <-> Built-in Handsfree (file gsmspeakerout.state)
    1. Mic volume:
      • Control ?:
    2. Speaker volume:
      • Control ?:
  3. State: GSM <-> Wired Headset (file gsmheadset.state)
    1. Mic volume:
      • Control 49: "Mic1 Capture Volume"
      • Control 12: "Mono Sidetone Playback Volume"
      • Control 5: "Mono Playback Volume"
    2. Speaker volume:
      • Control 6: "Bypass Playback Volume"
      • Control 3: "Headphone Playback Volume"
  4. State: GSM <-> Bluetooth Headset (file ???)
    1. Alternative working state files: [1]
    2. Mic volume:
      • Control 13: "Mono Voice Playback Volume"
      • Control 5: "Mono Playback Volume"
  5. State: CPU <-> Built-in Handset (file voip-handset.state)
    1. Mic volume:
      • Control ?:
    2. Speaker volume:
      • Control ?:
  • These files I still don't know what they are for:
    • headset.state (probably for CPU <-> wired headset)
    • stereoout.state (probably for CPU <-> built-speaker)

Specific Software

Angus Ainslie has written a simple python volume control (which is getting more and more sophisticated) using some of these settings.


Personal tools

The Neo Freerunner (GTA02) inherited the audio subsystem from its older brother the Neo 1973 (GTA01). However, there are a few small differences. This page tries to show and explain the differences and points you to the Neo 1973 page whenever it touches the common points (but there may be overlaps for the sake of usability). It is maintained by the Community and therefore it may contain errors and omissions.


Differences from Neo 1973

  • There is only 1 (mono) built-in loud speaker instead of 2 (stereo).
  • The Wolfson Codec driver presents 94 separate controls {switches, multiplexers, and volumes} to the alsa system (in both Neos). Unfortunately they are not mapped exactly the same for the GTA01 as for the GTA02.

Possible sound connections through the Wolfson Codec

  • "Yes" = Confirmed, alsa state file exists.
  • "No" = Not possible / not desirable.
  • "Should" = Should be possible, not confirmed yet.
  • "?" = Have no idea.
GSM  ?
Bluetooth  ? Yes
Wired Speaker Should Should  ?
Wired Mic Should Should  ?
Body Earpiece Should Yes  ?
Body Speaker Yes Should  ?
Body Mic Should Yes  ?
- CPU GSM Bluetooth

Alsamixer channel controls

  1. State: GSM <-> Built-in Handset
    1. Possibly working state files: to be defined
    2. Mic volume:
      • Control 48: "Mic2 Capture Volume"
      • Control 12: "Mono Sidetone Playback Volume"
      • Control 5: "Mono Playback Volume"
    3. Speaker volume:
      • Control 6: "Bypass Playback Volume"
      • Control 4: "Speaker Playback Volume"
  2. State: GSM <-> Built-in Handsfree
    1. Possibly working state files: to be defined
    2. Mic volume:
      • to be defined
    3. Speaker volume:
      • to be defined
  3. State: GSM <-> Wired Headset
    1. Possibly working state files: to be defined
    2. Mic volume:
      • Control 49: "Mic1 Capture Volume"
      • Control 12: "Mono Sidetone Playback Volume"
      • Control 5: "Mono Playback Volume"
    3. Speaker volume:
      • Control 6: "Bypass Playback Volume"
      • Control 3: "Headphone Playback Volume"
  4. State: GSM <-> Bluetooth Headset
    1. Possibly working state files: [1]
    2. Mic volume:
      • Control 13: "Mono Voice Playback Volume"
      • Control 5: "Mono Playback Volume"

Specific Software

Angus Ainslie has written a simple python volume control using some of these settings.