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
