Hi Weber,
>> > I now want to porting alsa to eclair.My board are smdk6410,the audio
>> > module are wm8987.
Do you have ALSA drivers for your board? I see it's a s3c6410 based
board, but I don't see any ASoC machine driver for s3c6410+wm8987 in
android kernel tree (at least 2.6.29).
> 1399 mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 11, 0x80000) = -1
> ENXIO(No such device or address)
> The first address is NULL,why?
I think that in your case, the original problem is in the open call
itself (error code 11):
open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK|O_ASYNC|O_LARGEFILE) = 11
>> > 3.make and add sth to init.rc
>> > # for alsa sound
Also you didn't mention adding sound symlinks in init.rc. Do you have
them already?
symlink /dev/snd/pcmC0D0c /dev/pcmC0D0c
symlink /dev/snd/pcmC0D0p /dev/pcmC0D0p
symlink /dev/snd/controlC0 /dev/controlC0
symlink /dev/snd/timer /dev/timer
Thanks,
-Misa
On Tue, Jul 27, 2010 at 8:52 PM, Weber <[email protected]> wrote:
> Hi,
> Could you give me some clue?
>
> look at the strace log:
> 1399 mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 11, 0x80000) = -1
> ENXIO(No such device or address)
> The first address is NULL,why?
> Is this the error from the mediaserver src or alsa src or they are
> not compatible in eclair?
>
> Thank you
> --Weber
> On 7月27日, 上午9时04分, Weber <[email protected]> wrote:
>> Hi,
>> I still have a question :If alsa are not added to the system ,are
>> there other solutions to make the system generate sound ?Is alsa the
>> only way?
>> Thanks
>> --Weber
>>
>> On Jul 26, 10:53 pm, Weber <[email protected]> wrote:
>>
>> > Hi,everyone
>> > I now want to porting alsa to eclair.My board are smdk6410,the audio
>> > module are wm8987.
>> > these are my steps:
>> > 1.download the snapshot of eclair version from android.git.kernel.org/
>> > platform/external
>> > and then tar them to external/
>> > 2.
>> > build/target/board/.../BoardConfig.mk
>>
>> > #HAVE_HTC_AUDIO_DRIVER := true
>> > BOARD_USES_GENERIC_AUDIO :=false
>> > BOARD_USES_ALSA_AUDIO := true
>> > BUILD_WITH_ALSA_UTILS := true
>>
>> > 3.make and add sth to init.rc
>> > # for alsa sound
>> > chown audio audio /dev/snd/controlC0
>> > chown audio audio /dev/snd/pcmC0D0c
>> > chown audio audio /dev/snd/pcmC0D0p
>> > chown audio audio /dev/snd/timer
>> > chown audio audio /dev/snd/audio
>> > chown audio audio /dev/snd/dsp
>> > chown audio audio /dev/snd/mixer
>> > chown audio audio /dev/snd/seq
>> > chown audio audio /dev/snd/
>> > chmod 0666 /dev/snd/controlC0
>> > chmod 0666 /dev/snd/pcmC0D0c
>> > chmod 0666 /dev/snd/pcmC0D0p
>> > chmod 0666 /dev/snd/timer
>> > chmod 0666 /dev/snd/audio
>> > chmod 0666 /dev/snd/dsp
>> > chmod 0666 /dev/snd/mixer
>> > chmod 0666 /dev/snd/seq
>>
>> > 4.add asound.conf to system/etc/asound.conf
>>
>> > then I boot the system ,but the system can't bootup now!(before
>> > porting the alsa,it can bootup)
>> > I can see the log from the std output:
>> > # init: untracked pid 901 exited
>> > # init: untracked pid 991 exited
>> > # init: untracked pid 1079 exited
>> > and I found that the print pids are the pids of /system/bin/
>> > mediaserver
>> > and here are the logcat related alsa:(no error )
>> > 330 D/AudioHardwareALSA( 687): openOutputStream called for devices:
>> > 0x00000002
>> > 331 D/ALSAModule( 687): open called for devices 00000002 in mode
>> > 0...
>> > 574 I/ALSAModule( 687): Initialized ALSA PLAYBACK device
>> > AndroidPlayback_Speaker_normal
>> > 615 I/AudioFlinger( 687): AudioFlinger's thread 0x32520 ready to run
>> > 616 D/ALSAModule( 687): route called for devices 00000002 in mode
>> > 0...
>> > 3949 D/AudioHardwareALSA( 816): openOutputStream called for devices:
>> > 0x00000002
>> > 3950 D/ALSAModule( 816): open called for devices 00000002 in mode
>> > 0...
>>
>> > If I comment the mediaserver in init.rc ,the system still can not boot
>> > up
>> > the logcat are:
>> > 4011 I/ServiceManager( 704): Waiting for sevice media.audio_policy...
>> > 4012 I/ServiceManager( 704): Waiting for sevice media.audio_policy...
>> > 4013 W/AudioSystem( 704): AudioPolicyService not published,
>> > waiting...
>> > 4014 I/ServiceManager( 704): Waiting for sevice media.audio_policy...
>> > 4015 I/ServiceManager( 704): Waiting for sevice media.audio_policy...
>>
>> > then I try to start it manually and use strace to log it
>> > strace -o /mediaserver-log mediaserver
>> > and the failure-cause-maybe in /mediaserver-log are:
>> > 1393 open("/dev/snd/pcmC0D0p", O_RDWR|O_NONBLOCK|O_ASYNC|O_LARGEFILE)
>> > = 11
>> > 1394 close(10) = 0
>> > 1395 ioctl(11, AGPIOC_ACQUIRE or APM_IOC_STANDBY, 0xbeb646e0) = 0
>> > 1396 fcntl64(11, F_GETFL) = 0x22802 (flags O_RDWR|
>> > O_NONBLOCK|O_ASYNC|O_LARGEFILE)
>> > 1397 ioctl(11, AGPIOC_INFO, 0xbeb646dc) = 0
>> > 1398 ioctl(11, AGPIOC_RELEASE or APM_IOC_SUSPEND, 0xbeb646d4) = 0
>> > 1399 mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 11, 0x80000) = -1 ENXIO
>> > (No such device or address)
>>
>> > It seem that mmap2() are the cause .but I don't know what to do now
>>
>> > also ,when run strace -o /mediaserver-log mediaserver
>> > the std output are:
>> > ptrace: umoven: I/O error
>> > ptrace: umoven: I/O error
>> > ptrace: umoven: I/O error
>> > ptrace: umoven: I/O error
>> > ptrace: umoven: I/O error
>> > ptrace: umoven: I/O error
>> > ....
>> > So could you help me?
>> > Thanks
>> > --Weber
>
> --
> unsubscribe: [email protected]
> website: http://groups.google.com/group/android-porting
>
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting