I have solved some issues, audio-routing was missing on device tree, son cpu and codec playback and capture stremas where not properly connected, but arecord does not work yet.
there is no default nor sysdefault card when I run arecord -L:
root@hardkernel-odroidc2:~# arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
usbstream:CARD=S905
GXBB ODROID-C2 S905
USB Stream Output
it should look like aplay -L:
root@hardkernel-odroidc2:~# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=S905
GXBB ODROID-C2 S905,
Default Audio Device
sysdefault:CARD=S905
GXBB ODROID-C2 S905,
Default Audio Device
usbstream:CARD=S905
GXBB ODROID-C2 S905
USB Stream Output
Any ideas?
This is the strace of arecord command, it gets stuck on
ppoll([{fd=4, events=POLLIN|POLLERR|POLLNVAL}], 1, NULL, NULL, 0
root@hardkernel-odroidc2:~# strace arecord -D plughw:0,3 -c 1 -f S32_LE -d 1 -t wav -r 48000 -V "stereo" /tmp/test.wav
execve("/usr/bin/arecord", ["arecord", "-D", "plughw:0,3", "-c", "1", "-f", "S32_LE", "-d", "1", "-t", "wav", "-r", "48000", "-V", "stereo", "/tmp/test.wav"], 0xffffc12bc768 / 15 vars /) = 0
brk(NULL) = 0xaaaae5dd2000
faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=11901, ...}) = 0
mmap(NULL, 11901, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff9e2eb000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/libasound.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\20\373\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1042608, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff9e2e9000
mmap(NULL, 1106600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff9e1b2000
mprotect(0xffff9e2a9000, 61440, PROT_NONE) = 0
mmap(0xffff9e2b8000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf6000) = 0xffff9e2b8000
close(3) = 0
openat(AT_FDCWD, "/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\200t\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=113184, ...}) = 0
mmap(NULL, 192848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff9e182000
mprotect(0xffff9e19c000, 65536, PROT_NONE) = 0
mmap(0xffff9e1ac000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0xffff9e1ac000
mmap(0xffff9e1ae000, 12624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff9e1ae000
close(3) = 0
openat(AT_FDCWD, "/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\360D\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1400880, ...}) = 0
mmap(NULL, 1473640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff9e01a000
mprotect(0xffff9e16a000, 61440, PROT_NONE) = 0
mmap(0xffff9e179000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14f000) = 0xffff9e179000
mmap(0xffff9e17f000, 11368, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff9e17f000
close(3) = 0
openat(AT_FDCWD, "/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\220\330\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=624600, ...}) = 0
mmap(NULL, 688152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff9df71000
mprotect(0xffff9e009000, 61440, PROT_NONE) = 0
mmap(0xffff9e018000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x97000) = 0xffff9e018000
close(3) = 0
openat(AT_FDCWD, "/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0@\20\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=14296, ...}) = 0
mmap(NULL, 77920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff9df5d000
mprotect(0xffff9df60000, 61440, PROT_NONE) = 0
mmap(0xffff9df6f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xffff9df6f000
close(3) = 0
openat(AT_FDCWD, "/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\360!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=31032, ...}) = 0
mmap(NULL, 94568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xffff9df45000
mprotect(0xffff9df4b000, 65536, PROT_NONE) = 0
mmap(0xffff9df5b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xffff9df5b000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff9e2e7000
mprotect(0xffff9e179000, 12288, PROT_READ) = 0
mprotect(0xffff9e1ac000, 4096, PROT_READ) = 0
mprotect(0xffff9df5b000, 4096, PROT_READ) = 0
mprotect(0xffff9df6f000, 4096, PROT_READ) = 0
mprotect(0xffff9e018000, 4096, PROT_READ) = 0
mprotect(0xffff9e2b8000, 32768, PROT_READ) = 0
mprotect(0xaaaab4d5c000, 4096, PROT_READ) = 0
mprotect(0xffff9e2f0000, 4096, PROT_READ) = 0
munmap(0xffff9e2eb000, 11901) = 0
set_tid_address(0xffff9e2e7d10) = 557
set_robust_list(0xffff9e2e7d20, 24) = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xffff9e188f38, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xffff9e188ff8, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=81921024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL) = 0xaaaae5dd2000
brk(0xaaaae5df3000) = 0xaaaae5df3000
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
futex(0xffff9e2c0118, FUTEX_WAKE_PRIVATE, 2147483647) = 0
newfstatat(AT_FDCWD, "/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=9625, ...}, 0) = 0
openat(AT_FDCWD, "/usr/share/alsa/alsa.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=9625, ...}) = 0
read(3, "#\n# ALSA library configuration "..., 4096) = 4096
read(3, "tended\n\t\t}\n\t\tdescription \"Direct"..., 4096) = 4096
read(3, "\t\t@func refer\n\t\t\t\tname defaults."..., 4096) = 1433
read(3, "", 4096) = 0
close(3) = 0
futex(0xffff9df70048, FUTEX_WAKE_PRIVATE, 2147483647) = 0
faccessat(AT_FDCWD, "/etc/alsa/conf.d", R_OK) = 0
newfstatat(AT_FDCWD, "/etc/alsa/conf.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(3, / 10 entries /, 32768) = 360
getdents64(3, / 0 entries */, 32768) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/10-samplerate.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=429, ...}) = 0
read(3, "pcm.samplerate {\n\t@args [ SLAVE "..., 4096) = 429
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/10-speexrate.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=424, ...}) = 0
read(3, "pcm.speexrate {\n\t@args [ SLAVE R"..., 4096) = 424
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/50-arcam-av-ctl.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=222, ...}) = 0
read(3, "ctl.arcam_av {\n\t@args [ PORT ]\n\t"..., 4096) = 222
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/50-oss.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=326, ...}) = 0
read(3, "pcm.oss {\n\t@args [ DEVICE ]\n\t@ar"..., 4096) = 326
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/60-speex.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1030, ...}) = 0
read(3, "pcm.speex {\n\t@args [ SLAVE AGC A"..., 4096) = 1030
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/60-upmix.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=389, ...}) = 0
read(3, "pcm.upmix {\n\t@args [ SLAVE CHANN"..., 4096) = 389
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/60-vdownmix.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=393, ...}) = 0
read(3, "pcm.vdownmix {\n\t@args [ SLAVE CH"..., 4096) = 393
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/alsa/conf.d/98-usb-stream.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=395, ...}) = 0
read(3, "pcm.usbstream {\n\t@args [ CARD RA"..., 4096) = 395
read(3, "", 4096) = 0
close(3) = 0
faccessat(AT_FDCWD, "/etc/asound.conf", R_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/home/root/.asoundrc", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO, 0xffffc0266580) = 0
close(3) = 0
openat(AT_FDCWD, "/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
ioctl(3, SNDRV_CTL_IOCTL_PVERSION, 0xffffc026674c) = 0
ioctl(3, SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE, 0xffffc026677c) = 0
openat(AT_FDCWD, "/dev/snd/pcmC0D3c", O_RDWR|O_NONBLOCK|O_CLOEXEC) = 4
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
close(3) = 0
ioctl(4, SNDRV_PCM_IOCTL_INFO, 0xffffc0266658) = 0
fcntl(4, F_GETFL) = 0x20802 (flags O_RDWR|O_NONBLOCK|O_LARGEFILE)
ioctl(4, SNDRV_PCM_IOCTL_PVERSION, 0xffffc0266638) = 0
ioctl(4, SNDRV_PCM_IOCTL_USER_PVERSION, 0xffffc0266648) = 0
ioctl(4, SNDRV_PCM_IOCTL_TTSTAMP, 0xffffc026663c) = 0
mmap(NULL, 4096, PROT_READ, MAP_SHARED, 4, 0x80000000) = -1 ENXIO (No such device or address)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0x81000000) = -1 ENXIO (No such device or address)
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
fcntl(4, F_GETFL) = 0x20802 (flags O_RDWR|O_NONBLOCK|O_LARGEFILE)
fcntl(4, F_SETFL, O_RDWR|O_LARGEFILE) = 0
ioctl(4, SNDRV_PCM_IOCTL_INFO, 0xffffc0266e00) = 0
rt_sigaction(SIGINT, {sa_handler=0xaaaab4d43ab0, sa_mask=[INT], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0xaaaab4d43ab0, sa_mask=[TERM], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGABRT, {sa_handler=0xaaaab4d43ab0, sa_mask=[ABRT], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=0xaaaab4d407a0, sa_mask=[USR1], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
write(2, "Recording WAVE '/tmp/test.wav' :"..., 33Recording WAVE '/tmp/test.wav' : ) = 33
write(2, "Signed 32 bit Little Endian, ", 29Signed 32 bit Little Endian, ) = 29
write(2, "Rate 48000 Hz, ", 15Rate 48000 Hz, ) = 15
write(2, "Mono", 4Mono) = 4
write(2, "\n", 1
) = 1
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02645c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02641a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02641a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02645c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02641a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02641a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02645c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263ee8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264308) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02639a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02639a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02639a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02639a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02639a8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0263dc8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264048) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02644c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02644c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02644c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264488) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264488) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264488) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264488) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02644c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02644c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02644c8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc02640d8) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffc0264078) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_PARAMS, 0xffffc0264078) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SW_PARAMS, 0xffffc0263f90) = 0
ioctl(4, SNDRV_PCM_IOCTL_CHANNEL_INFO, 0xffffc0263ea0) = 0
ioctl(4, SNDRV_PCM_IOCTL_CHANNEL_INFO, 0xffffc0263ea0) = 0
mmap(NULL, 192512, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0xffff9df16000
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_PREPARE, 0x22d) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
newfstatat(AT_FDCWD, "/tmp/test.wav", {st_mode=S_IFREG|0644, st_size=44, ...}, AT_SYMLINK_NOFOLLOW) = 0
unlinkat(AT_FDCWD, "/tmp/test.wav", 0) = 0
openat(AT_FDCWD, "/tmp/test.wav", O_WRONLY|O_CREAT, 0644) = 3
write(3, "RIFF$\356\2\0WAVE", 12) = 12
write(3, "fmt \20\0\0\0", 8) = 8
write(3, "\1\0\1\0\200\273\0\0\0\356\2\0\4\0 \0", 16) = 16
write(3, "data\0\356\2\0", 8) = 8
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_START, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xaaaae5dea3d0) = 0
ppoll([{fd=4, events=POLLIN|POLLERR|POLLNVAL}], 1, NULL, NULL, 0
I have modified play driver and developed capture driver for meson S905 GX device (Odroid-C2) based on mainline Linux v5.6.
I have also modified CS4245 codec driver."play" works fine:
root@hardkernel-odroidc2:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: S905 [GXBB ODROID-C2 S905], device 0: fe.dai-link-0 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0root@hardkernel-odroidc2:~# aplay -D plughw:0,0 -c 1 -f dat /usr/share/sounds/alsa/Front_Right.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Right.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
but "arecord" gives me an error message:root@hardkernel-odroidc2:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: S905 [GXBB ODROID-C2 S905], device 3: fe.dai-link-3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0root@hardkernel-odroidc2:~# arecord -D hw:0,3 -c 1 -f S16_LE -d 10 -t wav -r 48000 /tmp/test.wav
arecord: main:828: audio open error: Invalid argumentroot@hardkernel-odroidc2:~# arecord -D plughw:0,3 -c 1 -f dat /dev/null
arecord: main:828: audio open error: Invalid argumentCould you help me trying to debug this issue?
Thanks and regardsRezzonics
_______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user