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)

    ishanwk trying to run arecord:

    what happens with a more normal sampling rate? Maybe the PLL on the codec cannot go so low as to generate a 8kHz sample rate with this reference clock. What image are you using?

      giuliomoro Thanks for your response. I'm using the debian 8.7 image for beaglebone black.

      If I use a more 'normal' sampling rate like 48kHz I still get the same error and dmesg output.

      Any ideas?

      4 days later

      ishanwk 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

      this part is the one that broke it: you should have used the default file /lib/firmware/BB-BONE-AUDIO-02-00A0.dtbo that was on the image when you downloaded it. With that I can play back audio using aplay.

      I also tried with the latest image (bone-debian-9.9-iot-armhf-2019-08-03-4gb.img.xz ) and all I had to was to edit /boot/uEnv.txt so that the only uncommented lines it contains looked like this :

      uname_r=4.14.108-ti-r113
      enable_uboot_overlays=1
      uboot_overlay_addr5=/lib/firmware/BB-BONE-AUDI-02-00A0.dtbo
      disable_uboot_overlay_video=1
      disable_uboot_overlay_audio=1
      disable_uboot_overlay_wireless=1
      disable_uboot_overlay_adc=1
      uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo
      enable_uboot_cape_universal=0
      cmdline=coherent_pool=1M net.ifnames=0 rng_core.default_quality=100 quiet

      this makes it work for me.

      Thankyou that worked for me on the debian 9.9 image as well.

      a year later

      I was trying this on the BeagleBone AI, but whenever I add

      enable_uboot_overlays=1
      uboot_overlay_addr4=/lib/firmware/BB-BONE-AUDI-02-00A0.dtbo

      in the uEnv.txt file, the board just won't boot. Can you please help me as to how I can load overlays in the BBAI like I did back in the BBB?

      if that's the unmodified BB-BONE-AUDI-02 overlay that is for the BeagleBone Black + Audio Cape, then it's not booting probably because it won't apply on top of the am5729-based device tree of the BBAI and something will go awry at boot. You can use fdtoverlay on the command line to test applying overlays and see what error messages you get: https://forum.digikey.com/t/loading-device-tree-overlays-when-using-tftp-and-nfs/3544/4?u=robertcnelson

      Does the kernel you are on support overlays at all? You could try loading a BBAI-specific one to see if it works.

      It would be helpful to have a serial log of these things so you can troubleshoot these things. You can use your BeagleBone Black's serial port to read the log (see e.g.: here https://learn.bela.io/using-bela/advanced-topics/bela-as-a-uart-adapter/ ). You may need a special cable from the BBAI's serial port (J4) to the BBB's pins, or you can solder wires to the back of it.