[alsa-devel] Using aplay and arecord on an ARM
Liam:
I have managed to get the alsa-libs and aplay, arecord, and speaker-test on my board, but I am unsure how to get them to play. I have tried making the device nodes and am using a simple alsa.conf, but still no joy. I am sure there is something simple I am missing.
Trying to find some documentation on this. I am assuming there is some disconnect between the interface and my conf file. I have my alsa.conf file in /usr/share/alsa/ and it is:
pcm.!default { type hw card 0 } pcm.hw { type hw card 0 device 0 subdevice 0 } ctl.!default { type hw card 0 } ctl.hw { type hw card 0 }
ctl.w6811 { type hw card 0 } pcm.w6811 { type hw card 0 device 0 subdevice 0 }
ctl.!default = ctl.w6811 pcm.!default = pcm.w6811
ctl.hw { @args[ CARD ] @args.CARD { type string default "0" } type hw card $CARD }
pcm.hw { @args[ CARD DEV SUBDEV ] @args.CARD { type string default "0" } @args.DEV { type integer default 0 } @args.SUBDEV { type integer default 0 } type hw card $CARD device $DEV subdevice $SUBDEV }
I have some /proc/ entries:
/proc/asound $ ls GRHEKW6811 cards pcm version card0 devices timers
/proc/asound $ cat cards 0 [GRHEKW6811 ]: W6811 - GRH_EK_W6811 GRH_EK_W6811 (W6811)
/proc/asound $ cat devices 0: [ 0] : control 16: [ 0- 0]: digital audio playback 24: [ 0- 0]: digital audio capture 33: : timer
/proc/asound $ cat pcm 00-00: W6811 W6811-PCM-0 : : playback 1 : capture 1
/proc/asound $ cat timers G0: system timer : 10000.000us (10000000 ticks) P0-0-0: PCM playback 0-0-0 : SLAVE P0-0-1: PCM capture 0-0-1 : SLAVE
/proc/asound $ cat version Advanced Linux Sound Architecture Driver Version 1.0.14rc4 (Wed May 09 09:51:39.
Now, into GRHEKW6811 (which takes me to card0) I get a pcm0c and pcm0p directory. Using cat info, I get:
/proc/asound/card0/pcm0c $ cat info card: 0 device: 0 subdevice: 0 stream: CAPTURE id: W6811 W6811-PCM-0 name: subname: subdevice #0 class: 0 subclass: 0 subdevices_count: 1 subdevices_avail: 1
/proc/asound/card0/pcm0c $ cd ../pcm0p/ /proc/asound/card0/pcm0p $ cat info card: 0 device: 0 subdevice: 0 stream: PLAYBACK id: W6811 W6811-PCM-0 name:
subname: subdevice #0 class: 0 subclass: 0 subdevices_count: 1 subdevices_avail: 1
I then did:
mknod -m 666 /dev/snd/pcm0p c 116 0 mknod -m 666 /dev/snd/pcm0c c 116 0
However, when I try speaker-test, I get:
/usr/lib/bin $ ./speaker-test -D pcm0p
speaker-test 1.0.14
Playback device is pcm0p Stream parameters are 48000Hz, S16_LE, 1 channels Using 16 octaves of pink noise ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM pcm0p Playback open error: -2,No such file or directory
Same for default:
/usr/lib/bin $ ./speaker-test -D default
speaker-test 1.0.14
Playback device is default Stream parameters are 48000Hz, S16_LE, 1 channels Using 16 octaves of pink noise ALSA lib pcm.c:2144:(snd_pcm_open_noupdate) Unknown PCM default Playback open error: -2,No such file or directory
When I try aplay -l and arecord -l, I get:
/usr/lib/bin $ ./aplay -l aplay: device_list:204: no soundcards found... /usr/lib/bin $ ./arecord -l arecord: device_list:204: no soundcards found...
I am at a loss here. Anyone have any advice, pointers, tips, etc......
Thanks.
Paul
On 6/19/07, Paul Kavan pkavan@gmail.com wrote:
I have managed to get the alsa-libs and aplay, arecord, and speaker-test on my board, but I am unsure how to get them to play. I have tried making the device nodes and am using a simple alsa.conf, but still no joy. I am sure there is something simple I am missing.
What does "strace aplay file.wav" output?
Lee
On 6/19/07, Lee Revell rlrevell@joe-job.com wrote:
On 6/19/07, Paul Kavan pkavan@gmail.com wrote:
I have managed to get the alsa-libs and aplay, arecord, and speaker-test
on
my board, but I am unsure how to get them to play. I have tried making
the
device nodes and am using a simple alsa.conf, but still no joy. I am
sure
there is something simple I am missing.
What does "strace aplay file.wav" output?
Lee
Here is the output of strace aplay Noise.wav:
/usr/lib/share/sounds/alsa $ strace aplay Noise.wav execve("/usr/sbin/aplay", ["aplay", "Noise.wav"], [/* 7 vars */]) = 0 mmap2(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40005000 stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=1150, ...}) = 0 open("/etc/ld.so.cache", O_RDONLY) = 3 mmap2(NULL, 1150, PROT_READ, MAP_SHARED, 3, 0) = 0x40006000 close(3) = 0 open("/usr/lib/libasound.so.2", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0755, st_size=770500, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\24\373\1"..., 4096) = 4096 mmap2(NULL, 770048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000e000 mmap2(0x4000e000, 752456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4000e000 mmap2(0x400c6000, 15744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb8) = 0x400c6000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libm.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=45812, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0t\22\0\000"..., 4096) = 4096 mmap2(NULL, 81920, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400ca000 mmap2(0x400ca000, 41428, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x400ca000 mmap2(0x400dc000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa) = 0x400dc000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libdl.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=8900, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0(\10\0\000"..., 4096) = 4096 mmap2(NULL, 40960, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400de000 mmap2(0x400de000, 5760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x400de000 mmap2(0x400e7000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1) = 0x400e7000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=63852, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0D<\0\0004"..., 4096) = 4096 mmap2(NULL, 106496, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400e8000 mmap2(0x400e8000, 40952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x400e8000 mmap2(0x400fa000, 21732, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa) = 0x400fa000 mmap2(0x40100000, 5788, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=44167, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0X\25\0\000"..., 4096) = 4096 mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40102000 mmap2(0x40102000, 28800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40102000 mmap2(0x40111000, 548, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7) = 0x40111000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000\253\0"..., 4096) = 4096 mmap2(NULL, 360448, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40112000 mmap2(0x40112000, 302380, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40112000 mmap2(0x40164000, 5172, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x4a) = 0x40164000 mmap2(0x40166000, 16020, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40160 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libm.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=45812, ...}) = 0 close(3) = 0 open("/lib/libdl.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=8900, ...}) = 0 close(3) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=63852, ...}) = 0 close(3) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=44167, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 munmap(0x40006000, 1150) = 0 stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=21096, ...}) = 0 mprotect(0x400dc000, 4096, PROT_READ) = 0 mprotect(0x400e7000, 4096, PROT_READ) = 0 mprotect(0x400fa000, 4096, PROT_READ) = 0 mprotect(0x40164000, 4096, PROT_READ) = 0 mprotect(0x4000c000, 4096, PROT_READ) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 getpid() = 764 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 setrlimit(RLIMIT_STACK, {rlim_cur=2040*1024, rlim_max=RLIM_INFINITY}) = 0 rt_sigaction(SIGRTMIN, {0x400f1d70, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x400f1c98, [RTMIN], 0x4000000 /* SA_??? */}, NULL, 8) = 0 rt_sigaction(SIGRT_2, {0x400f12d0, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0 brk(0) = 0x1c000 brk(0x1d000) = 0x1d000 stat("/home/grhuser/buildroot/build_arm/root/usr/share/alsa/alsa.conf", 0xbebe4b70) = -1 ENOENT (No) write(2, "ALSA lib ", 9ALSA lib ) = 9 write(2, "pcm.c", 5pcm.c) = 5 write(2, ":", 1:) = 1 write(2, "2144", 42144) = 4 write(2, ":(", 2:() = 2 write(2, "snd_pcm_open_noupdate", 21snd_pcm_open_noupdate) = 21 write(2, ") ", 2) ) = 2 write(2, "Unknown PCM ", 12Unknown PCM ) = 12 write(2, "default", 7default) = 7 write(2, "\n", 1 ) = 1 write(2, "aplay", 5aplay) = 5 write(2, ": ", 2: ) = 2 write(2, "main", 4main) = 4 write(2, ":", 1:) = 1 write(2, "545", 3545) = 3 write(2, ": ", 2: ) = 2 write(2, "audio open error: ", 18audio open error: ) = 18 write(2, "No such file or directory", 25No such file or directory) = 25 write(2, "\n", 1 ) = 1 exit(1) = ? Process 764 detached
Something here sticks out as a problem. There is a line:
stat("/home/grhuser/buildroot/build_arm/root/usr/share/alsa/alsa.conf", 0xbebe4b70) = -1
it should not be looking in this directory, but rather in "usr/share/alsa/alsa.conf". Might be why it cannot find the alsa.conf
How do I change that?
Paul
On 6/19/07, Paul Kavan pkavan@gmail.com wrote:
it should not be looking in this directory, but rather in "usr/share/alsa/alsa.conf". Might be why it cannot find the alsa.conf
I struggled with the exact same problem about a year ago, I don't remember the solution but it's in the list archives.
Lee
On 6/19/07, Lee Revell rlrevell@joe-job.com wrote:
On 6/19/07, Paul Kavan pkavan@gmail.com wrote:
it should not be looking in this directory, but rather in "usr/share/alsa/alsa.conf". Might be why it cannot find the alsa.conf
I struggled with the exact same problem about a year ago, I don't remember the solution but it's in the list archives.
Lee
Thanks Lee, I will try to hunt that down. The list archives on http://mailman.alsa-project.org/pipermail/alsa-devel/ only go back to March....might be a fun search.
Paul
Found a quick workaround....although I would like to clean it up. Still does not work, but gets past the not finding the alsa.conf part.
strace aplay Noise.wav now gives:
/usr/lib/share/sounds/alsa $ strace aplay Noise.wav execve("/usr/sbin/aplay", ["aplay", "Noise.wav"], [/* 7 vars */]) = 0 mmap2(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40005000 stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=1150, ...}) = 0 open("/etc/ld.so.cache", O_RDONLY) = 3 mmap2(NULL, 1150, PROT_READ, MAP_SHARED, 3, 0) = 0x40006000 close(3) = 0 open("/usr/lib/libasound.so.2", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0755, st_size=770500, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\24\373\1"..., 4096) = 4096 mmap2(NULL, 770048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000e000 mmap2(0x4000e000, 752456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4000e000 mmap2(0x400c6000, 15744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb8) = 0x400c6000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libm.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=45812, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0t\22\0\000"..., 4096) = 4096 mmap2(NULL, 81920, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400ca000 mmap2(0x400ca000, 41428, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x400ca000 mmap2(0x400dc000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa) = 0x400dc000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libdl.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=8900, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0(\10\0\000"..., 4096) = 4096 mmap2(NULL, 40960, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400de000 mmap2(0x400de000, 5760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x400de000 mmap2(0x400e7000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1) = 0x400e7000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=63852, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0D<\0\0004"..., 4096) = 4096 mmap2(NULL, 106496, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400e8000 mmap2(0x400e8000, 40952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x400e8000 mmap2(0x400fa000, 21732, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa) = 0x400fa000 mmap2(0x40100000, 5788, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=44167, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0X\25\0\000"..., 4096) = 4096 mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40102000 mmap2(0x40102000, 28800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40102000 mmap2(0x40111000, 548, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7) = 0x40111000 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000\253\0"..., 4096) = 4096 mmap2(NULL, 360448, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40112000 mmap2(0x40112000, 302380, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40112000 mmap2(0x40164000, 5172, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x4a) = 0x40164000 mmap2(0x40166000, 16020, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40160 close(3) = 0 munmap(0x40007000, 4096) = 0 open("/lib/libm.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=45812, ...}) = 0 close(3) = 0 open("/lib/libdl.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=8900, ...}) = 0 close(3) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=63852, ...}) = 0 close(3) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=44167, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0 close(3) = 0 munmap(0x40006000, 1150) = 0 stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=21096, ...}) = 0 mprotect(0x400dc000, 4096, PROT_READ) = 0 mprotect(0x400e7000, 4096, PROT_READ) = 0 mprotect(0x400fa000, 4096, PROT_READ) = 0 mprotect(0x40164000, 4096, PROT_READ) = 0 mprotect(0x4000c000, 4096, PROT_READ) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 getpid() = 844 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 setrlimit(RLIMIT_STACK, {rlim_cur=2040*1024, rlim_max=RLIM_INFINITY}) = 0 rt_sigaction(SIGRTMIN, {0x400f1d70, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x400f1c98, [RTMIN], 0x4000000 /* SA_??? */}, NULL, 8) = 0 rt_sigaction(SIGRT_2, {0x400f12d0, [], 0x4000000 /* SA_??? */}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0 brk(0) = 0x1c000 brk(0x1d000) = 0x1d000 stat("/home/grhuser/buildroot/build_arm/root/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_s0 open("/home/grhuser/buildroot/build_arm/root/usr/share/alsa/alsa.conf", O_RDONLY) = 3 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbed04b14) = -1 ENOTTY (Inappropriate ioctl for device) brk(0x1e000) = 0x1e000 read(3, "pcm.!default {\n type hw\n car"..., 4096) = 864 write(2, "ALSA lib ", 9ALSA lib ) = 9 write(2, "conf.c", 6conf.c) = 6 write(2, ":", 1:) = 1 write(2, "975", 3975) = 3 write(2, ":(", 2:() = 2 write(2, "parse_value", 11parse_value) = 11 write(2, ") ", 2) ) = 2 write(2, "card", 4card) = 4 write(2, " is not a string", 16 is not a string) = 16 write(2, "\n", 1 ) = 1 write(2, "ALSA lib ", 9ALSA lib ) = 9 write(2, "conf.c", 6conf.c) = 6 write(2, ":", 1:) = 1 write(2, "1588", 41588) = 4 write(2, ":(", 2:() = 2 write(2, "snd_config_load1", 16snd_config_load1) = 16 write(2, ") ", 2) ) = 2 write(2, "_toplevel_", 10_toplevel_) = 10 write(2, ":", 1:) = 1 write(2, "45", 245) = 2 write(2, ":", 1:) = 1 write(2, "1", 11) = 1 write(2, ":", 1:) = 1 write(2, "Invalid argument", 16Invalid argument) = 16 write(2, "\n", 1 ) = 1 close(3) = 0 write(2, "ALSA lib ", 9ALSA lib ) = 9 write(2, "conf.c", 6conf.c) = 6 write(2, ":", 1:) = 1 write(2, "3066", 43066) = 4 write(2, ":(", 2:() = 2 write(2, "snd_config_update_r", 19snd_config_update_r) = 19 write(2, ") ", 2) ) = 2 write(2, "/home/grhuser/buildroot/build_ar"..., 63/home/grhuser/buildroot/build_arm/root/usr/share/3 write(2, " may be old or corrupted: consid"..., 54 may be old or corrupted: consider to remove or f4 write(2, "\n", 1 ) = 1 write(2, "aplay", 5aplay) = 5 write(2, ": ", 2: ) = 2 write(2, "main", 4main) = 4 write(2, ":", 1:) = 1 write(2, "545", 3545) = 3 write(2, ": ", 2: ) = 2 write(2, "audio open error: ", 18audio open error: ) = 18 write(2, "Invalid argument", 16Invalid argument) = 16 write(2, "\n", 1 ) = 1 exit(1) = ? Process 844 detached
Not sure if this helps, but trying to make some progress.
Paul
At Tue, 19 Jun 2007 16:31:31 -0400, Lee Revell wrote:
On 6/19/07, Paul Kavan pkavan@gmail.com wrote:
it should not be looking in this directory, but rather in "usr/share/alsa/alsa.conf". Might be why it cannot find the alsa.conf
I struggled with the exact same problem about a year ago, I don't remember the solution but it's in the list archives.
The problem is likely you pass --prefix=$MYROOT/usr or so. The prefix option should be unchanged.
Anyway, alsa-lib-1.0.14a has extra configure options, --with-configdir and --with-plugindir, with which you can specify the exact paths, independent from $prefix.
Takashi
Build alsa-lib and alsa-utils with prefix option
--prefix=/usr
while installing give the destination directory
make install DESTDIR=$MYINSTALLDIR
Then copy the installed executables to ARM root file sytem
This should solve the issue.
On 6/20/07, Takashi Iwai tiwai@suse.de wrote:
At Tue, 19 Jun 2007 16:31:31 -0400, Lee Revell wrote:
On 6/19/07, Paul Kavan pkavan@gmail.com wrote:
it should not be looking in this directory, but rather in "usr/share/alsa/alsa.conf". Might be why it cannot find the alsa.conf
I struggled with the exact same problem about a year ago, I don't remember the solution but it's in the list archives.
The problem is likely you pass --prefix=$MYROOT/usr or so. The prefix option should be unchanged.
Anyway, alsa-lib-1.0.14a has extra configure options, --with-configdir and --with-plugindir, with which you can specify the exact paths, independent from $prefix.
Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On 6/20/07, Nobin Mathew nobin.mathew@gmail.com wrote:
Build alsa-lib and alsa-utils with prefix option
--prefix=/usr
while installing give the destination directory
make install DESTDIR=$MYINSTALLDIR
Then copy the installed executables to ARM root file sytem
This should solve the issue.
On 6/20/07, Takashi Iwai tiwai@suse.de wrote:
At Tue, 19 Jun 2007 16:31:31 -0400, Lee Revell wrote:
On 6/19/07, Paul Kavan < pkavan@gmail.com> wrote:
it should not be looking in this directory, but rather in "usr/share/alsa/alsa.conf". Might be why it cannot find the
alsa.conf
I struggled with the exact same problem about a year ago, I don't remember the solution but it's in the list archives.
The problem is likely you pass --prefix=$MYROOT/usr or so. The prefix option should be unchanged.
Anyway, alsa-lib-1.0.14a has extra configure options, --with-configdir and --with-plugindir, with which you can specify the exact paths, independent from $prefix.
Takashi
Thanks Takashi and Mathew. I just want to make sure I am clear on this. I create my embedded rfs for an ARM9 processor on my host machine. The path to the rfs is:
$HOME/buildroot/build_arm/root/...
So, you are saying that when I configure alsa-libs, I should be using:
CC=arm-linux-gcc ./configure --target=arm-linux --with-versioned=no --prefix=/usr
and then
make install DESTDIR=$HOME/buildroot/build_arm/root
Is this correct? I just want to make sure the libs will get into my target's rfs that way.
Thanks.
Paul
Yes, but take care of permissions. you need root permissions in ARM root file system.
On 6/20/07, Paul Kavan pkavan@gmail.com wrote:
On 6/20/07, Nobin Mathew nobin.mathew@gmail.com wrote:
Build alsa-lib and alsa-utils with prefix option
--prefix=/usr
while installing give the destination directory
make install DESTDIR=$MYINSTALLDIR
Then copy the installed executables to ARM root file sytem
This should solve the issue.
On 6/20/07, Takashi Iwai tiwai@suse.de wrote:
At Tue, 19 Jun 2007 16:31:31 -0400, Lee Revell wrote:
On 6/19/07, Paul Kavan < pkavan@gmail.com> wrote:
it should not be looking in this directory, but rather in "usr/share/alsa/alsa.conf". Might be why it cannot find the
alsa.conf
I struggled with the exact same problem about a year ago, I don't remember the solution but it's in the list archives.
The problem is likely you pass --prefix=$MYROOT/usr or so. The prefix option should be unchanged.
Anyway, alsa-lib-1.0.14a has extra configure options, --with-configdir and --with-plugindir, with which you can specify the exact paths, independent from $prefix.
Takashi
Thanks Takashi and Mathew. I just want to make sure I am clear on this. I create my embedded rfs for an ARM9 processor on my host machine. The path to the rfs is:
$HOME/buildroot/build_arm/root/...
So, you are saying that when I configure alsa-libs, I should be using:
CC=arm-linux-gcc ./configure --target=arm-linux --with-versioned=no --prefix=/usr
and then
make install DESTDIR=$HOME/buildroot/build_arm/root
Is this correct? I just want to make sure the libs will get into my target's rfs that way.
Thanks.
Paul
--
Paul David Kavan Project Engineer GRH Electronics, Inc. 402-734-4900 pkavan@gmail.com
participants (4)
-
Lee Revell
-
Nobin Mathew
-
Paul Kavan
-
Takashi Iwai