I built am33x-v5.15 and am33x-rt-v5.15 kernels according to the topic below.
(Debian: Getting Started with the BeagleBone Black)
But usb-audio seems to be broken.
When I connect a usb-dac to Beaglebone black and play a wav file using aplay, the sound distorted significantly and slows.
Is there a kernel bug?
I also built am33x-v5.10 and am33x-rt-v5.10 kernels and they can play sound fine.
Are there other people having the same problem?
Also, if anyone knows how to fix it, please let me know how.
I am facing the same issue. BBB Industrial w/
AM335x 11.8 2023-10-07 4GB microSD IoT - Debian image for BeagleBone Black using external microSD Kernel: 5.10.168-ti-r72 U-Boot: v2022.04
AM335x 12.2 2023-10-07 4GB microSD IoT - Debian image for BeagleBone Black using external microSD Kernel: 5.10.168-ti-r72 U-Boot: v2022.04
I have also tried the following “minimal” images on the same board:
U-Boot: am335x v2022.04
Gives me garbled, choppy slow audio when used with certain external USB DAC. I have tried it with Teac NT-505 DAC connected over USB. However, when I tried with a Plantronics USB headphone this problem does not exist.
However when I flashed the same BBB Industrial board with
The USB audio with Teac NT-505 is great.
Any insights / reason why “bullseye” and “bookworm” images have this issues, whereas the “buster” is good?
Just an update / FYI - I tried with Focusrite Scarlet 2i2 USB audio interface. Same results - distorted, choppy, slow audio playback with
U-Boot: am335x v2022.04
DACs used to experiment: Teac NT 505, Focusrite Scarlet 2i2 and Accuphase DAC60 card.
I can confirm the the following. All DACs work well with:
Debian 11 bullseye w/ 4.19.280-bone-rt-r76 - WORKS
Debian 11 bullseye w/ bbb.io-kernel-5.15-bone-rt → NOT WORKING Debian 11 bullseye w/ bbb.io-kernel-6.1-bone-rt → NOT WORKING
In fact any 5.x or 6.1 kernels → NOT WORKING
NOT WORKING = noise / crackle during playback, garbled and slower (sounds like its player at .6 or .7 speed)
DACs enumerate fine. Alsamixer controls (if any avaiable) for DACs work fine
Load CPU with command
cat /dev/zero > /dev/null
Crackling noise subsides a lot (almost goes away), but still audio not clean.
I used usbmon to generate file for the usb root complex (0u) and the DAC device (1u). Not sure is sending this will help. These files were generated with Debian 11 /w bullseye w/ bbb.io-kernel-6.1-bone-rt
I am open to provide other logs if you can tell me how to generate them.
Thanks for testing, looking at above, that’s pretty reasonable to get to test. As I am not into high end audio, what’s the minimum on top of the 2i2 one would need to test/validate/etc? Do i need an external audio source/device?
2i2 has a headphone jack (albeit a larger 1/4 inch connector). All you would need is headphone connected to it. A small volume knob at the top right of the Scarlet 2i2 adjusts the headphone volume. When connected to the BB board over USB, except for the USB symbol light (green) make sure no other light is lit on the Scarlet 2i2 (the unit is USB powered).
installed am335x-debian-11.8-minimal-armhf-2023-10-07-2gb.img.xz from the monthly snapshot link onto an 32 GB micro SD card using balena etcher
booted beaglebone black board with the micro SD card in the slot
logged in with default user name and password
sudo apt update
sudo apt upgrade
sudo apt install alsamixer
copied (via scp command) a small wav (16bit 44.1KHz) file that I had ripped from a audio CD
ssh into the box. (removed USB keyboard as i needed USB port for the Scarlet 2i2 connection)
plugged in the Scarlet 2i2 to USB port
aplay -l (will list Scarlet 2i2 as the second sound card in the system)
aplay -D plughw:1,0 ./<wav_filename.wav>
You will hear the problem right away.
Downgrade kernel to 4.x, reboot and repeat the aplay command. Audio playback is pristine on the same setup.