bc9/Software/Android/ALSA_integrated_userland
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
]
Start:
[[labs.beatcraft.com]]~
#contents
* building procedure of ALSA integrated android-1.5r2 for...
Please refer following URL for how to set up open source ...
http://source.android.com/download ~
This article use android-1.5r2 branch, seem to most stabl...
Booting android require android enabled linux kernel, add...
~
Initialize repo specifying with android-1.5r2 branch.~
$ mkdir android-1.5r2
$ cd android-1.5r2
$ repo init -u git://android.git.kernel.org/platform/man...
Make local_manifest.xml with following content under andr...
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="external/alsa-lib" name="platform/exter...
<project path="hardware/alsa_sound" name="platform/har...
</manifest>
Return to android-1.5r2 directory and get files by follow...
$ repo sync
alsa-utils(containing alsamixer, aplay etc.) is only exis...
So we don't include it in local_manifest.xml.~
If you need it, get it as follows and copy it to android...
$ git clone git://android.git.kernel.org/platform/extern...
$ cp -a alsa-utils android-1.5r2/externel/
**adjustment of building sources [#m50e883d]
*** adjustment of ALSA [#d7c10840]
In order to use ALSA as audio hardware library, change an...
# config.mk
#
# Product-specific compile-time definitions.
#
# The generic product target doesn't have any hardware-s...
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_NO_RADIOIMAGE := true
HAVE_HTC_AUDIO_DRIVER := true
BOARD_USES_ALSA_AUDIO := true
#BOARD_USES_GENERIC_AUDIO := true *comment out th...
If you want to build alsa-utils too, add following line.
BUILD_WITH_ALSA_UTILS := true
Edit android-1.5r2/external/alsa-lib/Android.mk as follow...
(When android boot by chroot, alsa interface is generated...
--- Android.mk.orig 2009-07-09 07:05:41.000000000 -0...
+++ Android.mk 2009-07-09 07:05:48.000000000 -0700
@@ -55,7 +55,7 @@
-fPIC -DPIC -D_POSIX_SOURCE ?
-DALSA_CONFIG_DIR=?"/system/usr/share/alsa?" ?
-DALSA_PLUGIN_DIR=?"/system/usr/lib/alsa-lib?" ?
- -DALSA_DEVICE_DIRECTORY=?"/dev/snd/?"
+ -DALSA_DEVICE_DIRECTORY=?"/dev/?"
LOCAL_SRC_FILES := $(sort $(call all-c-files-under, src))
***patch for battery state [#ra39b62d]
If you build android open source platform without this mo...
Because android determine power state as low battery.~
(cf. http://androidzaurus.seesaa.net/article/11699...
Apply patch to following files and pretend to be full bat...
android-1.5r2/framework/base/services/java/com/android/s...
android-1.5r2/framework/base/services/java/com/android/s...
android-1.5r2/framework/base/services/java/com/android/s...
android-1.5r2/framework/base/phone/com/android/internal/...
Download &ref(dummy-battery.patch); to android-1.5r2/ dir...
$ cd android-1.5r2/
$ patch -p1 < ../dummy-battery.patch
** build [#td9a9723]
Execute make command at android-1.5r2/ to build.
$ make
After build finished, required files are generated under ...
But sound resource files haven't copied to appropriate di...
So copy sound resource files to out/target/product/generi...
** ogg sound resource files [#ud1caab1]
Rename or copy AudioPackage2.mk to Android.mk at android-...
$ cp AudioPackage2.mk Android.mk
~
$ cd android-1.5r2/build/
$ source envsetup.sh
$ cd android-1.5r2/frameworks/base/data/sounds/
$ mm
ogg format sound resource files are copied under out/targ...
**making android-root directory [#e3d23780]
When finished previous build procedure, deploy android us...
$ cd ~/
$ mkdir android-root
$ cp -a ~/android-1.5r2/out/target/product/generic/root/...
$ cp -a ~/android-1.5r2/out/target/product/generic/syste...
**edit init.rc [#x7dc45fb]
***setting ALSA [#dbe71121]
Add ALSA related settings before "on boot" settings in an...
setprop alsa.mixer.playback.master Master
setprop alsa.mixer.capture.master Capture
setprop alsa.mixer.playback.earpiece Master
setprop alsa.mixer.capture.earpiece Capture
setprop alsa.mixer.playback.headset Master
setprop alsa.mixer.playback.speaker Master
chmod 0777 /dev/pcmC0D0c
chmod 0777 /dev/pcmC0D0p
chmod 0777 /dev/controlC0
chmod 0777 /dev/timer
chown root audio /dev/controlC
chown root audio /dev/pcmC0D0c
chown root audio /dev/pcmC0D0p
chown root audio /dev/timer
***others [#gd356672]
Comment out yaffs2 mount settings.~
diff -u init.rc.orig init.rc
--- init.rc.orig 2009-03-31 12:50:16.000000000 +0900
+++ init.rc 2009-03-31 12:57:19.000000000 +0900
@@ -36,16 +36,16 @@
# mount mtd partitions
# Mount /system rw first to give the filesystem a c...
- mount yaffs2 mtd@system /system
- mount yaffs2 mtd@system /system ro remount
+# mount yaffs2 mtd@system /system
+# mount yaffs2 mtd@system /system ro remount
 
# We chown/chmod /data again so because mount is ru...
- mount yaffs2 mtd@userdata /data nosuid nodev
+# mount yaffs2 mtd@userdata /data nosuid nodev
chown system system /data
chmod 0771 /data
# Same reason as /data above
- mount yaffs2 mtd@cache /cache nosuid nodev
+# mount yaffs2 mtd@cache /cache nosuid nodev
chown system cache /cache
chmod 0770 /cache
**asound.conf asound.state [#lf590132]
Copy two ALSA setting files (asound.conf and asound.state...
***asound.state [#p995eaa6]
Following &ref(asound.state); is generated under /etc/ of...
state.Gumstix {
control.1 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 4'
iface MIXER
name 'Tone Control - Bass'
value 0
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 2'
iface MIXER
name 'Tone Control - Treble'
value 0
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Headphone Playback Switch'
value true
}
control.4 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name De-emphasis
value false
}
control.5 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DC Filter'
value true
}
control.6 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Hi-pass Filter'
value true
}
control.7 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ADC Filter'
value true
}
control.8 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Playback Switch'
value true
}
control.9 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 63'
iface MIXER
name 'Master Playback Volume'
value.0 63
value.1 63
}
control.10 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 2
comment.item.0 Mic
comment.item.1 CD
comment.item.2 Video
comment.item.3 Aux
comment.item.4 Line
comment.item.5 Mix
comment.item.6 'Mix Mono'
comment.item.7 Phone
iface MIXER
name 'Capture Source'
value.0 Mic
value.1 Mic
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Capture Switch'
value true
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 15'
iface MIXER
name 'Capture Volume'
value.0 15
value.1 15
}
control.13 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Loudness (bass boost)'
value false
}
}
***asound.conf [#jd7ab206]
Following &ref(asound.conf); is made from asound.state ab...
ctl.AndroidPlayback {
type hw
card 0
}
ctl.AndroidRecord {
type hw
card 0
}
pcm.AndroidPlayback {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_normal {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Earpiece_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Bluetooth {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidRecord_Microphone {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
** vold [#b981575b]
On android sdcard is mount by vold.~
Make setting file. vold is executed according to the sett...
android-root/system/etc/vold.conf ~
Format should be as follows.~
## vold configuration file for bc9
volume_sdcard {
media_path /devices/platform/pxa2xx-mci.0/mmc_host...
media_type mmc
mount_point /sdcard
ums_path /devices/platform/usb_mass_storage/lun0
}
By setting this, first partition of microSD is mounted an...
** button layout [#t151b9e9]
Button layout of bc9 is set as follows.~
(from above)~
--HOME (ENDCALL)
--MENU
--BACK
bc9 has 3 buttons and these buttons work as F1, F2, F3 ke...
Assign F1 to ENDCALL, F2 to MENU, F3 to BACK.~
Home button is available when you set ENDCALL behavior as...
~
Edit android-root/system/usr/keylayout/qwerty.kl as follo...
--- qwerty.kl-orig 2009-07-02 20:28:21.000000000 +0...
+++ qwerty.kl 2009-07-02 20:29:42.000000000 +0900
@@ -11,18 +11,18 @@ key 10 9
key 11 0
key 158 BACK WAKE_DROPPED
key 230 SOFT_RIGHT WAKE
-key 60 SOFT_RIGHT WAKE
+key 60 MENU WAKE
key 107 ENDCALL WAKE_DROPPED
key 62 ENDCALL WAKE_DROPPED
key 229 MENU WAKE_DROPPED
key 139 MENU WAKE_DROPPED
-key 59 MENU WAKE_DROPPED
+key 59 ENDCALL WAKE
key 127 SEARCH WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED
key 228 POUND
key 227 STAR
key 231 CALL WAKE_DROPPED
-key 61 CALL WAKE_DROPPED
+key 61 BACK WAKE
key 232 DPAD_CENTER WAKE_DROPPED
key 108 DPAD_DOWN WAKE_DROPPED
key 103 DPAD_UP WAKE_DROPPED
** Screen Timeout [#na5cac04]
After battery state patch applied, android can't resume w...
In order to avoid this situation, Screen Timeout must be ...
- [Menu] - [Settings] - [Sound & display] - [Screen timeo...
** device_provisioned [#v004c1a5]
Device provisioning process affect even to open source an...
By executing following command, the device is activated.~
# cd /data/data/com.android.providers.settings/databases
# sqlite3 settings.db
sqlite> insert into "secure" values(NULL,"device_provisi...
sqlite> .exit
Once the device is activated, key lock dialog is added to...
and flight/silent mode selection are added to Power off c...
Not activated device has a few problem.~
- HOME key doesn't work.
- Key lock dialog doesn't appear on home screen.
This is the end of ALSA integrated android-1.5r2 build pr...
**reference URL [#j8dc33c0]
-http://code.google.com/p/patch-hosting-for-android-x86-s...
-http://d.hatena.ne.jp/bs-android/20090603/1244043649
-http://labs.embinux.org/index.php/Android_Porting_Guide_...
-http://nemustech.blogspot.com/2009/04/android-on-s3c6410...
End:
[[labs.beatcraft.com]]~
#contents
* building procedure of ALSA integrated android-1.5r2 for...
Please refer following URL for how to set up open source ...
http://source.android.com/download ~
This article use android-1.5r2 branch, seem to most stabl...
Booting android require android enabled linux kernel, add...
~
Initialize repo specifying with android-1.5r2 branch.~
$ mkdir android-1.5r2
$ cd android-1.5r2
$ repo init -u git://android.git.kernel.org/platform/man...
Make local_manifest.xml with following content under andr...
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="external/alsa-lib" name="platform/exter...
<project path="hardware/alsa_sound" name="platform/har...
</manifest>
Return to android-1.5r2 directory and get files by follow...
$ repo sync
alsa-utils(containing alsamixer, aplay etc.) is only exis...
So we don't include it in local_manifest.xml.~
If you need it, get it as follows and copy it to android...
$ git clone git://android.git.kernel.org/platform/extern...
$ cp -a alsa-utils android-1.5r2/externel/
**adjustment of building sources [#m50e883d]
*** adjustment of ALSA [#d7c10840]
In order to use ALSA as audio hardware library, change an...
# config.mk
#
# Product-specific compile-time definitions.
#
# The generic product target doesn't have any hardware-s...
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_NO_RADIOIMAGE := true
HAVE_HTC_AUDIO_DRIVER := true
BOARD_USES_ALSA_AUDIO := true
#BOARD_USES_GENERIC_AUDIO := true *comment out th...
If you want to build alsa-utils too, add following line.
BUILD_WITH_ALSA_UTILS := true
Edit android-1.5r2/external/alsa-lib/Android.mk as follow...
(When android boot by chroot, alsa interface is generated...
--- Android.mk.orig 2009-07-09 07:05:41.000000000 -0...
+++ Android.mk 2009-07-09 07:05:48.000000000 -0700
@@ -55,7 +55,7 @@
-fPIC -DPIC -D_POSIX_SOURCE ?
-DALSA_CONFIG_DIR=?"/system/usr/share/alsa?" ?
-DALSA_PLUGIN_DIR=?"/system/usr/lib/alsa-lib?" ?
- -DALSA_DEVICE_DIRECTORY=?"/dev/snd/?"
+ -DALSA_DEVICE_DIRECTORY=?"/dev/?"
LOCAL_SRC_FILES := $(sort $(call all-c-files-under, src))
***patch for battery state [#ra39b62d]
If you build android open source platform without this mo...
Because android determine power state as low battery.~
(cf. http://androidzaurus.seesaa.net/article/11699...
Apply patch to following files and pretend to be full bat...
android-1.5r2/framework/base/services/java/com/android/s...
android-1.5r2/framework/base/services/java/com/android/s...
android-1.5r2/framework/base/services/java/com/android/s...
android-1.5r2/framework/base/phone/com/android/internal/...
Download &ref(dummy-battery.patch); to android-1.5r2/ dir...
$ cd android-1.5r2/
$ patch -p1 < ../dummy-battery.patch
** build [#td9a9723]
Execute make command at android-1.5r2/ to build.
$ make
After build finished, required files are generated under ...
But sound resource files haven't copied to appropriate di...
So copy sound resource files to out/target/product/generi...
** ogg sound resource files [#ud1caab1]
Rename or copy AudioPackage2.mk to Android.mk at android-...
$ cp AudioPackage2.mk Android.mk
~
$ cd android-1.5r2/build/
$ source envsetup.sh
$ cd android-1.5r2/frameworks/base/data/sounds/
$ mm
ogg format sound resource files are copied under out/targ...
**making android-root directory [#e3d23780]
When finished previous build procedure, deploy android us...
$ cd ~/
$ mkdir android-root
$ cp -a ~/android-1.5r2/out/target/product/generic/root/...
$ cp -a ~/android-1.5r2/out/target/product/generic/syste...
**edit init.rc [#x7dc45fb]
***setting ALSA [#dbe71121]
Add ALSA related settings before "on boot" settings in an...
setprop alsa.mixer.playback.master Master
setprop alsa.mixer.capture.master Capture
setprop alsa.mixer.playback.earpiece Master
setprop alsa.mixer.capture.earpiece Capture
setprop alsa.mixer.playback.headset Master
setprop alsa.mixer.playback.speaker Master
chmod 0777 /dev/pcmC0D0c
chmod 0777 /dev/pcmC0D0p
chmod 0777 /dev/controlC0
chmod 0777 /dev/timer
chown root audio /dev/controlC
chown root audio /dev/pcmC0D0c
chown root audio /dev/pcmC0D0p
chown root audio /dev/timer
***others [#gd356672]
Comment out yaffs2 mount settings.~
diff -u init.rc.orig init.rc
--- init.rc.orig 2009-03-31 12:50:16.000000000 +0900
+++ init.rc 2009-03-31 12:57:19.000000000 +0900
@@ -36,16 +36,16 @@
# mount mtd partitions
# Mount /system rw first to give the filesystem a c...
- mount yaffs2 mtd@system /system
- mount yaffs2 mtd@system /system ro remount
+# mount yaffs2 mtd@system /system
+# mount yaffs2 mtd@system /system ro remount
 
# We chown/chmod /data again so because mount is ru...
- mount yaffs2 mtd@userdata /data nosuid nodev
+# mount yaffs2 mtd@userdata /data nosuid nodev
chown system system /data
chmod 0771 /data
# Same reason as /data above
- mount yaffs2 mtd@cache /cache nosuid nodev
+# mount yaffs2 mtd@cache /cache nosuid nodev
chown system cache /cache
chmod 0770 /cache
**asound.conf asound.state [#lf590132]
Copy two ALSA setting files (asound.conf and asound.state...
***asound.state [#p995eaa6]
Following &ref(asound.state); is generated under /etc/ of...
state.Gumstix {
control.1 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 4'
iface MIXER
name 'Tone Control - Bass'
value 0
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 2'
iface MIXER
name 'Tone Control - Treble'
value 0
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Headphone Playback Switch'
value true
}
control.4 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name De-emphasis
value false
}
control.5 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DC Filter'
value true
}
control.6 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Hi-pass Filter'
value true
}
control.7 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ADC Filter'
value true
}
control.8 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Playback Switch'
value true
}
control.9 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 63'
iface MIXER
name 'Master Playback Volume'
value.0 63
value.1 63
}
control.10 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 2
comment.item.0 Mic
comment.item.1 CD
comment.item.2 Video
comment.item.3 Aux
comment.item.4 Line
comment.item.5 Mix
comment.item.6 'Mix Mono'
comment.item.7 Phone
iface MIXER
name 'Capture Source'
value.0 Mic
value.1 Mic
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Capture Switch'
value true
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 15'
iface MIXER
name 'Capture Volume'
value.0 15
value.1 15
}
control.13 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Loudness (bass boost)'
value false
}
}
***asound.conf [#jd7ab206]
Following &ref(asound.conf); is made from asound.state ab...
ctl.AndroidPlayback {
type hw
card 0
}
ctl.AndroidRecord {
type hw
card 0
}
pcm.AndroidPlayback {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_normal {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Earpiece_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Bluetooth {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidRecord_Microphone {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
** vold [#b981575b]
On android sdcard is mount by vold.~
Make setting file. vold is executed according to the sett...
android-root/system/etc/vold.conf ~
Format should be as follows.~
## vold configuration file for bc9
volume_sdcard {
media_path /devices/platform/pxa2xx-mci.0/mmc_host...
media_type mmc
mount_point /sdcard
ums_path /devices/platform/usb_mass_storage/lun0
}
By setting this, first partition of microSD is mounted an...
** button layout [#t151b9e9]
Button layout of bc9 is set as follows.~
(from above)~
--HOME (ENDCALL)
--MENU
--BACK
bc9 has 3 buttons and these buttons work as F1, F2, F3 ke...
Assign F1 to ENDCALL, F2 to MENU, F3 to BACK.~
Home button is available when you set ENDCALL behavior as...
~
Edit android-root/system/usr/keylayout/qwerty.kl as follo...
--- qwerty.kl-orig 2009-07-02 20:28:21.000000000 +0...
+++ qwerty.kl 2009-07-02 20:29:42.000000000 +0900
@@ -11,18 +11,18 @@ key 10 9
key 11 0
key 158 BACK WAKE_DROPPED
key 230 SOFT_RIGHT WAKE
-key 60 SOFT_RIGHT WAKE
+key 60 MENU WAKE
key 107 ENDCALL WAKE_DROPPED
key 62 ENDCALL WAKE_DROPPED
key 229 MENU WAKE_DROPPED
key 139 MENU WAKE_DROPPED
-key 59 MENU WAKE_DROPPED
+key 59 ENDCALL WAKE
key 127 SEARCH WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED
key 228 POUND
key 227 STAR
key 231 CALL WAKE_DROPPED
-key 61 CALL WAKE_DROPPED
+key 61 BACK WAKE
key 232 DPAD_CENTER WAKE_DROPPED
key 108 DPAD_DOWN WAKE_DROPPED
key 103 DPAD_UP WAKE_DROPPED
** Screen Timeout [#na5cac04]
After battery state patch applied, android can't resume w...
In order to avoid this situation, Screen Timeout must be ...
- [Menu] - [Settings] - [Sound & display] - [Screen timeo...
** device_provisioned [#v004c1a5]
Device provisioning process affect even to open source an...
By executing following command, the device is activated.~
# cd /data/data/com.android.providers.settings/databases
# sqlite3 settings.db
sqlite> insert into "secure" values(NULL,"device_provisi...
sqlite> .exit
Once the device is activated, key lock dialog is added to...
and flight/silent mode selection are added to Power off c...
Not activated device has a few problem.~
- HOME key doesn't work.
- Key lock dialog doesn't appear on home screen.
This is the end of ALSA integrated android-1.5r2 build pr...
**reference URL [#j8dc33c0]
-http://code.google.com/p/patch-hosting-for-android-x86-s...
-http://d.hatena.ne.jp/bs-android/20090603/1244043649
-http://labs.embinux.org/index.php/Android_Porting_Guide_...
-http://nemustech.blogspot.com/2009/04/android-on-s3c6410...
Page: