On Tue, May 11, 2021 at 01:38:09PM +0200, Luca Castagnini wrote: > Hi everyone, > > I am asking for help with the following problem: > I am trying to reproduce a song on the Raspberry Pi 4B using OpenBSD > -current and an external USB audio dongle, but I hear only/mostly noise. The > song is barely recognizable in the background and sometimes (rarely and > randomly) it is reproduced correctly (no noise) for a fraction of a second, > then noise again. > > The USB DAC works fine on my amd64 laptop with openbsd-current. The uaudio > shows up in dmesg with the same parameters: > uaudio0: class v1, full-speed, sync, channels: 2 play, 1 rec, 8 ctls > (full dmesg below) > > Reading the mailing lists I did the following: > I tried to set in UEFI both ACPI=ACPI+devicetree and ACPI=devicetree while I > left SD=eMMC2 > I tried both USB3, USB2 and using an external (powered) USB hub. > I tried to change encoding with audioctl (I changed rate/blksz as well but I > am not an expert). > I tried to add the following, reboot and re-playing: > rcctl set sndiod flags -m play > I played the song as root (not sure whether it should help, it didn't). > > I ran sndiod with debug output as: > rcctl stop sndiod > sndiod -ddd -a on > > and I checked that audioctl->play.errors is zero while playing the song. > > Below I list the output of sndio, audioctl during song reproduction and > dmesg. > > I would be happy if anyone had suggestions that might help. > I am also interested in case there is a known-to-work-on-rpi USB audio > dongle that I can use.
The device is plugged on: uhub1 at uhub0 port 1 configuration 1 interface 0 "VIA Labs USB2.0 Hub" rev Is this an external hub? Do you have a mean to plug the device on uhub0 (the root hub)? Does the noise persist? If so, could you try changing the block size by restarting sndiod with the "-z <block_size>" option. You could try 200, 512, 600 or whatever. Does the noise change? Next step would be to build a kernel with UAUDIO_DEBUG and see if the driver reports too many errors.