- Edited
Hi,
I am trying to get the bela card to work on a beaglebone black using debian 8.7 and 9.1 using the BB-BONE-AUDI-02-00A0.dtbo overlay.
I've been unsuccessful in both versions when trying to use the arecord
to capture some audio and save it in a wav file.
I've run:
wget http://elinux.org/images/1/10/BB-BONE-AUDI-02-00A0.zip
unzip BB-BONE-AUDI-02-00A0.zip
dtc -O dtb -o BB-BONE-AUDI-02-00A0.dtbo -b 0 -@ BB-BONE-AUDI-02-00A0.dts
mv BB-BONE-AUDI-02-00A0.dtbo /lib/firmware
Then edited my /boot/uEnv.txt file to load the overlay:
/boot/uEnv.txt
on debian 8.7:
optargs=capemgr.disable_partno=BB-BONELT-HDMI
cape_enable=bone_capemgr.enable_partno=BB-BONE-AUDI-02
and rebooted the beaglebone and checked that the overlay has loaded successfully which it did.
dmesg
output:
[ 41.724128] /sound: could not find phandle
[ 41.728426] /sound: could not find phandle
[ 42.111150] asoc-simple-card sound: tlv320aic3x-hifi <-> 48038000.mcasp mapping ok
trying to run arecord
:
arecord -D hw:0,0 -r8000 -c 2 -f S16_LE -d 5 -t wav /root/test.wav
Recording WAVE '/root/test.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo
arecord: pcm_read:2031: read error: Input/output error
and the latest dmesg
output shows:
[ 85.283846] davinci-mcasp 48038000.mcasp: Too fast reference clock (24576000)
strace
output:
root@beaglebone:~# strace arecord -D hw:0,0 -r8000 -c 2 -f S16_LE -d 5 -t wav /root/test.wav execve("/usr/bin/arecord", ["arecord", "-D", "hw:0,0", "-r8000", "-c", "2", "-f", "S16_LE", "-d", "5", "-t", "wav", "/root/test.wav"], [/* 18 vars */]) = 0 brk(0) = 0xbed000 uname({sys="Linux", node="beaglebone", ...}) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f77000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=84045, ...}) = 0 mmap2(NULL, 84045, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6f3d000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@\30\0\0004\0\0\0"..., 512) = 512 lseek(3, 21260, SEEK_SET) = 21260 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1320) = 1320 lseek(3, 20868, SEEK_SET) = 20868 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0644, st_size=22580, ...}) = 0 mmap2(NULL, 86588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f27000 mprotect(0xb6f2c000, 61440, PROT_NONE) = 0 mmap2(0xb6f3b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb6f3b000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/arm-linux-gnueabihf/libasound.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\350\346\1\0004\0\0\0"..., 512) = 512 lseek(3, 609792, SEEK_SET) = 609792 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1160) = 1160 lseek(3, 609420, SEEK_SET) = 609420 read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 fstat64(3, {st_mode=S_IFREG|0644, st_size=610952, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f76000 mmap2(NULL, 642424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e8a000 mprotect(0xb6f1b000, 32768, PROT_NONE) = 0 mmap2(0xb6f23000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x91000) = 0xb6f23000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0h<\0\0004\0\0\0"..., 512) = 512 lseek(3, 405976, SEEK_SET) = 405976 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1160) = 1160 lseek(3, 405640, SEEK_SET) = 405640 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0644, st_size=407136, ...}) = 0 mmap2(NULL, 471184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e16000 mprotect(0xb6e79000, 61440, PROT_NONE) = 0 mmap2(0xb6e88000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x62000) = 0xb6e88000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240\t\0\0004\0\0\0"..., 512) = 512 lseek(3, 8664, SEEK_SET) = 8664 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1160) = 1160 lseek(3, 8328, SEEK_SET) = 8328 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0644, st_size=9824, ...}) = 0 mmap2(NULL, 73912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e03000 mprotect(0xb6e05000, 61440, PROT_NONE) = 0 mmap2(0xb6e14000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6e14000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0EQ\0\0004\0\0\0"..., 512) = 512 lseek(3, 100684, SEEK_SET) = 100684 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1520) = 1520 lseek(3, 65940, SEEK_SET) = 65940 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0755, st_size=102204, ...}) = 0 mmap2(NULL, 139836, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6de0000 mprotect(0xb6df0000, 61440, PROT_NONE) = 0 mmap2(0xb6dff000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0xb6dff000 mmap2(0xb6e01000, 4668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e01000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0Mw\1\0004\0\0\0"..., 512) = 512 lseek(3, 908188, SEEK_SET) = 908188 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2880) = 2880 lseek(3, 904740, SEEK_SET) = 904740 read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 fstat64(3, {st_mode=S_IFREG|0755, st_size=911068, ...}) = 0 mmap2(NULL, 980392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6cf0000 mprotect(0xb6dcb000, 61440, PROT_NONE) = 0 mmap2(0xb6dda000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xda000) = 0xb6dda000 mmap2(0xb6ddd000, 9640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6ddd000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f75000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f74000 set_tls(0xb6f744c0, 0xb6f7a050, 0xb6f74ba8, 0xb6f744c0, 0xb6f7a050) = 0 mprotect(0xb6dda000, 8192, PROT_READ) = 0 mprotect(0xb6dff000, 4096, PROT_READ) = 0 mprotect(0xb6e14000, 4096, PROT_READ) = 0 mprotect(0xb6e88000, 4096, PROT_READ) = 0 mprotect(0xb6f3b000, 4096, PROT_READ) = 0 mprotect(0xb6f23000, 12288, PROT_READ) = 0 mprotect(0x1b000, 4096, PROT_READ) = 0 mprotect(0xb6f79000, 4096, PROT_READ) = 0 munmap(0xb6f3d000, 84045) = 0 set_tid_address(0xb6f74068) = 17978 set_robust_list(0xb6f74070, 12) = 0 rt_sigaction(SIGRTMIN, {0xb6de4d9d, [], SA_RESTORER|SA_SIGINFO, 0xb6d16b01}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0xb6de4cbd, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0xb6d16b01}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 brk(0) = 0xbed000 brk(0xc0e000) = 0xc0e000 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=1607712, ...}) = 0 mmap2(NULL, 1607712, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6b67000 close(3) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 futex(0xb6f26cac, FUTEX_WAKE_PRIVATE, 2147483647) = 0 stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=9316, ...}) = 0 open("/usr/share/alsa/alsa.conf", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=9316, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f73000 read(3, "#\n# ALSA library configuration "..., 4096) = 4096 read(3, "unc refer\n\t\t\tname defaults.nameh"..., 4096) = 4096 read(3, "aults.hwdep.device\n\t\t\t}\n\t\t}\n\t}\n\t"..., 4096) = 1124 read(3, "", 4096) = 0 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb6f73000, 4096) = 0 futex(0xb6e150ac, FUTEX_WAKE_PRIVATE, 2147483647) = 0 access("/usr/share/alsa/alsa.conf.d/", R_OK) = 0 stat64("/usr/share/alsa/alsa.conf.d/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 openat(AT_FDCWD, "/usr/share/alsa/alsa.conf.d/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3 fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) getdents(3, /* 3 entries */, 32768) = 52 getdents(3, /* 0 entries */, 32768) = 0 close(3) = 0 access("/etc/asound.conf", R_OK) = -1 ENOENT (No such file or directory) access("/root/.asoundrc", R_OK) = -1 ENOENT (No such file or directory) open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_CARD_INFO or UI_DEV_CREATE, 0xbeea74ec) = 0 close(3) = 0 open("/dev/snd/controlC0", O_RDWR|O_CLOEXEC) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, SNDRV_CTL_IOCTL_PVERSION or USBDEVFS_CONTROL, 0xbeea7694) = 0 ioctl(3, SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE, 0xbeea76d4) = 0 open("/dev/snd/pcmC0D0c", O_RDWR|O_NONBLOCK|O_CLOEXEC) = 4 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 close(3) = 0 ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY or SNDRV_PCM_IOCTL_INFO, 0xbeea7594) = 0 fcntl64(4, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK) ioctl(4, AGPIOC_INFO or SNDRV_PCM_IOCTL_PVERSION, 0xbeea74fc) = 0 clock_gettime(CLOCK_MONOTONIC, {6627, 31749983}) = 0 ioctl(4, AGPIOC_SETUP or SNDRV_PCM_IOCTL_TTSTAMP, 0xbeea7504) = 0 mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 4, 0x80000000) = -1 ENXIO (No such device or address) ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xbeea7510) = 0 fcntl64(4, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK) fcntl64(4, F_SETFL, O_RDWR) = 0 ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY or SNDRV_PCM_IOCTL_INFO, 0xbeea79d8) = 0 rt_sigaction(SIGINT, {0x10985, [INT], SA_RESTORER|SA_RESTART, 0xb6d16ae1}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGTERM, {0x10985, [TERM], SA_RESTORER|SA_RESTART, 0xb6d16ae1}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGABRT, {0x10985, [ABRT], SA_RESTORER|SA_RESTART, 0xb6d16ae1}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGUSR1, {0x100c5, [USR1], SA_RESTORER|SA_RESTART, 0xb6d16ae1}, {SIG_DFL, [], 0}, 8) = 0 open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2492, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f73000 read(3, "# Locale name alias data base.\n#"..., 4096) = 2492 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb6f73000, 4096) = 0 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/alsa-utils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US.utf8/LC_MESSAGES/alsa-utils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US/LC_MESSAGES/alsa-utils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_MESSAGES/alsa-utils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/alsa-utils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/alsa-utils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "Recording WAVE '/root/test.wav' "..., 34Recording WAVE '/root/test.wav' : ) = 34 write(2, "Signed 16 bit Little Endian, ", 29Signed 16 bit Little Endian, ) = 29 write(2, "Rate 8000 Hz, ", 14Rate 8000 Hz, ) = 14 write(2, "Stereo", 6Stereo) = 6 write(2, "\n", 1 ) = 1 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_PARAMS, 0xbeea5598) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xbf6e88) = 0 ioctl(4, SNDRV_PCM_IOCTL_SW_PARAMS, 0xbeea5484) = 0 ioctl(4, SNDRV_PCM_IOCTL_PREPARE, 0xf5a3c900) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xbf6e88) = 0 ioctl(4, SNDRV_PCM_IOCTL_SYNC_PTR, 0xbf6e88) = 0 unlink("/root/test.wav") = 0 open("/root/test.wav", O_WRONLY|O_CREAT, 0644) = 3 write(3, "RIFF$q\2\0WAVE", 12) = 12 write(3, "fmt \20\0\0\0", 8) = 8 write(3, "\1\0\2\0@\37\0\0\0}\0\0\4\0\20\0", 16) = 16 write(3, "data\0q\2\0", 8) = 8 ioctl(4, SNDRV_PCM_IOCTL_READI_FRAMES, 0xbeea5944) = -1 EIO (Input/output error) write(2, "arecord: pcm_read:2031: ", 24arecord: pcm_read:2031: ) = 24 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "read error: Input/output error", 30read error: Input/output error) = 30 write(2, "\n", 1 ) = 1 ioctl(4, SNDRV_PCM_IOCTL_DROP, 0xf5a3c900) = 0 ioctl(4, SNDRV_PCM_IOCTL_HW_FREE, 0xf5a3c900) = 0 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++ root@beaglebone:~#
Anyone experienced this issue before? Any help is appreciated
(Sorry I am new to this forum so please direct me if I posted in the wrong place)