USB audio on rasberry pi 2

satch <[email protected]>
Newsgroups gmane.os.netbsd.ports.arm
Message-ID <QLMyo591QihDegSuHVMtaQFFND0wATEoF-sOjzjGSS5vbPm2dYYoqa__1szBa22r7w4kRCAtpz5G_H3b34VWodsskUZFJh_rsOkvKIOtR3g=@protonmail.com>
Hi,

I would like use USB to play audio on my Raspberry Pi 2. 

I have tried 3 different DACs and they seem to be supported and configred ok but the sound is very distorted.
During playback many log lines are produced saying 'uaudio0: pintr error: IOERROR'.
This is with the NetBSD 10 earmv7hf GENERIC kernel.

Could I please get advice on how to proceed.

Satch


Below are a demonstation of the problem and a boot dmesg.

-----
example session demonstrating the problem
-----
user@host:~ % uname -a
NetBSD host 10.0 NetBSD 10.0 (GENERIC) #0: Thu Mar 28 08:33:33 UTC 2024  [email protected]:/usr/src/sys/arch/evbarm/compile/GENERIC evbarm

user@host:~ % audiocfg list
0: [*] audio0 @ uaudio0: USB audio
       playback: 2ch, 48000Hz
       record:   1ch, 48000Hz
       (-R) slinear_le 16/16, 1ch, { 8000, 16000, 44100, 48000 }
       (P-) slinear_le 16/16, 2ch, { 8000, 16000, 32000, 44100, 48000 }
1: [ ] audio1 @ vcaudio0: vchiq auds 3
       playback: 2ch, 48000Hz
       record:   unavailable
       (P-) slinear_le 16/16, 2ch, 48000-48000Hz

user@host:~ % mixerctl -av
outputs.master.mute=off  [ off on ]
outputs.master=224 volume delta=17
record.master.mute=off  [ off on ]
record.master=159 volume delta=32
inputs.mic.mute=off  [ off on ]
inputs.mic=187 volume delta=51

user@host:~ % audiocfg test 0
0: [*] audio0 @ uaudio0: USB audio
       playback: 2ch, 48000Hz
       record:   1ch, 48000Hz
       (-R) slinear_le 16/16, 1ch, { 8000, 16000, 44100, 48000 }
       (P-) slinear_le 16/16, 2ch, { 8000, 16000, 32000, 44100, 48000 }
  testing channel 0... done
  testing channel 1... done

user@host:~ % play -qn synth pinknoise
^Cuser@host:~ %

user@host:~ % tail -n 3 /var/log/messages
Dec 13 17:28:30 tweety /netbsd: [ 838.3478555] uaudio0: pintr error: IOERROR
Dec 13 17:28:30 tweety /netbsd: [ 838.3578550] uaudio0: pintr error: IOERROR
Dec 13 17:28:30 tweety /netbsd: [ 838.3678559] uaudio0: pintr error: IOERROR

user@host:~ % grep 'uaudio0: pintr error: IOERROR' /var/log/messages | wc
    2448   26928  188496


-----
dmesg output, this test is with a Jabra headset
-----
[     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
[     1.000000]     2024
[     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
[     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[     1.000000]     The Regents of the University of California.  All rights reserved.

[     1.000000] NetBSD 10.0 (GENERIC) #0: Thu Mar 28 08:33:33 UTC 2024
[     1.000000] 	[email protected]:/usr/src/sys/arch/evbarm/compile/GENERIC
[     1.000000] total memory = 948 MB
[     1.000000] avail memory = 913 MB
[     1.000000] timecounter: Timecounters tick every 10.000 msec
[     1.000000] Kernelized RAIDframe activated
[     1.000000] armfdt0 (root)
[     1.000000] simplebus0 at armfdt0: Raspberry Pi 2 Model B Rev 1.1
[     1.000000] simplebus1 at simplebus0
[     1.000000] simplebus2 at simplebus0
[     1.000000] cpus0 at simplebus0
[     1.000000] simplebus3 at simplebus0
[     1.000000] cpu0 at cpus0: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
[     1.000000] cpu0: DC enabled IC enabled WB enabled LABT branch prediction enabled
[     1.000000] cpu0: L1 32KB/32B 2-way (512 set) VIPT Instruction cache
[     1.000000] cpu0: L1 32KB/64B 4-way (128 set) write-back-locking-C PIPT Data cache
[     1.000000] cpu0: L2 512KB/64B 8-way (1024 set) write-through PIPT Unified cache
[     1.000000] vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
[     1.000000] cpu1 at cpus0: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
[     1.000000] cpu1: DC enabled IC enabled WB enabled LABT branch prediction enabled
[     1.000000] cpu1: L1 32KB/32B 2-way (512 set) VIPT Instruction cache
[     1.000000] cpu1: L1 32KB/64B 4-way (128 set) write-back-locking-C PIPT Data cache
[     1.000000] cpu1: L2 512KB/64B 8-way (1024 set) write-through PIPT Unified cache
[     1.000000] vfp1 at cpu1: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
[     1.000000] cpu2 at cpus0: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
[     1.000000] cpu2: DC enabled IC enabled WB enabled LABT branch prediction enabled
[     1.000000] cpu2: L1 32KB/32B 2-way (512 set) VIPT Instruction cache
[     1.000000] cpu2: L1 32KB/64B 4-way (128 set) write-back-locking-C PIPT Data cache
[     1.000000] cpu2: L2 512KB/64B 8-way (1024 set) write-through PIPT Unified cache
[     1.000000] vfp2 at cpu2: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
[     1.000000] cpu3 at cpus0: 600 MHz Cortex-A7 r0p5 (Cortex V7A core)
[     1.000000] cpu3: DC enabled IC enabled WB enabled LABT branch prediction enabled
[     1.000000] cpu3: L1 32KB/32B 2-way (512 set) VIPT Instruction cache
[     1.000000] cpu3: L1 32KB/64B 4-way (128 set) write-back-locking-C PIPT Data cache
[     1.000000] cpu3: L2 512KB/64B 8-way (1024 set) write-through PIPT Unified cache
[     1.000000] vfp3 at cpu3: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
[     1.000000] bcmicu0 at simplebus1
[     1.000000] fclock0 at simplebus2: 19200000 Hz fixed clock (osc)
[     1.000000] bcmcprman0 at simplebus1: BCM283x Clock Controller
[     1.000000] bcmaux0 at simplebus1
[     1.000000] fclock1 at simplebus2: 480000000 Hz fixed clock (otg)
[     1.000000] bcmicu1 at simplebus1: Multiprocessor
[     1.000000] syscon0 at simplebus1autoconfiguration error: : couldn't get registers
[     1.000000] gtmr0 at simplebus0: Generic Timer
[     1.000000] gtmr0: interrupting on local_intc irq 3
[     1.000000] armgtmr0 at gtmr0: Generic Timer (19200 kHz, virtual)
[     1.000000] timecounter: Timecounter "armgtmr0" frequency 19200000 Hz quality 500
[     1.000004] plcom0 at simplebus1: ARM PL011 UART
[     1.000004] plcom0: txfifo disabled
[     1.000004] plcom0: console
[     1.000004] plcom0: interrupting on icu irq 57
[     1.000004] usbnopphy0 at simplebus0: USB PHY
[     1.000004] /soc/thermal@7e212000 at simplebus1 not configured
[     1.000004] bcmgpio0 at simplebus1: GPIO controller 2835
[     1.000004] bcmgpio0: pins 0..31 interrupting on icu irq 49
[     1.000004] bcmgpio0: pins 32..54 interrupting on icu irq 50
[     1.000004] gpio0 at bcmgpio0: 54 pins
[     1.000004] bcmdmac0 at simplebus1: DMA0 DMA2 DMA4 DMA5 DMA6 DMA7 DMA8 DMA9 DMA10 DMA11
[     1.000004] /soc/power at simplebus1 not configured
[     1.000004] bsciic0 at simplebus1: Broadcom Serial Controller
[     1.000004] bsciic0: interrupting on icu irq 53
[     1.000004] iic0 at bsciic0: I2C bus
[     1.000004] bcmmbox0 at simplebus1: VC mailbox
[     1.000004] bcmmbox0: interrupting on icu irq 65
[     1.000004] vcmbox0 at bcmmbox0
[     1.000004] /soc/timer@7e003000 at simplebus1 not configured
[     1.000004] /soc/txp@7e004000 at simplebus1 not configured
[     1.000004] bcmsdhost0 at simplebus1: SD HOST controller
[     1.000004] bcmsdhost0: interrupting on icu irq 56
[     1.000004] bsciic1 at simplebus1: Broadcom Serial Controller
[     1.000004] bsciic1: interrupting on icu irq 53
[     1.000004] iic1 at bsciic1: I2C bus
[     1.000004] /soc/pwm@7e20c000 at simplebus1 not configured
[     1.000004] bsciic2 at simplebus1: Broadcom Serial Controller
[     1.000004] bsciic2: interrupting on icu irq 53
[     1.000004] iic2 at bsciic2: I2C bus
[     1.000004] dwctwo0 at simplebus1: USB controller
[     1.000004] dwctwo0: interrupting on icu irq 9
[     1.000004] bcmpmwdog0 at simplebus1: Power management, Reset and Watchdog controller
[     1.000004] /soc/vec@7e806000 at simplebus1 not configured
[     1.000004] /soc/hdmi@7e902000 at simplebus1 not configured
[     1.000004] /soc/gpu at simplebus1 not configured
[     1.000004] genfb0 at simplebus1: switching to framebuffer console
[     1.000004] genfb0: framebuffer at 0xfe876000, size 1280x720, depth 32, stride 5120
[     1.000004] wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation)
[     1.000004] wsmux1: connecting to wsdisplay0
[     1.000004] wsdisplay0: screen 1-3 added (default, vt100 emulation)
[     1.000004] vchiq0 at simplebus1: BCM2835 VCHIQ
[     1.000004] armpmu0 at simplebus0: Performance Monitor Unit
[     1.000004] gpioleds0 at simplebus0: ACT PWR
[     1.000004] bcmrng0 at simplebus1: RNG
[     1.000004] entropy: ready
[     1.000004] timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
[     1.160531] sdmmc0 at bcmsdhost0
[     1.160531] dwctwo0: Core Release: 2.80a (snpsid=4f54280a)
[     1.160531] usb0 at dwctwo0: USB revision 2.0
[     1.180536] armpmu0: interrupting on local_intc irq 9
[     1.190553] IPsec: Initialized Security Association Processing.
[     1.190553] uhub0 at usb0: NetBSD (0x0000) DWC2 root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
[     1.190553] uhub0: 1 port with 1 removable, self powered
[     1.270546] sdmmc0: direct I/O error 5, r=6 p=0xbad7cf2c write
[     1.310551] sdmmc0: SD card status: 4-bit, C10, U3, V30, A2
[     1.320552] ld0 at sdmmc0: <0x03:0x5344:SN128:0x86:0x50f4bb3a:0x189>
[     1.320552] ld0: 119 GB, 15545 cyl, 255 head, 63 sec, 512 bytes/sect x 249737216 sectors
[     1.340554] ld0: 4-bit width, High-Speed/SDR25, 50.000 MHz
[     1.840606] uhub1 at uhub0 port 1: vendor 0424 (0x0424) product 9514 (0x9514), class 9/0, rev 2.00/2.00, addr 2
[     1.850611] uhub1: multiple transaction translators
[     1.860611] uhub1: 5 ports with 4 removable, self powered
[     2.700706] usmsc0 at uhub1 port 1
[     2.700706] usmsc0: vendor 0424 (0x0424) product ec00 (0xec00), rev 2.00/2.00, addr 3
[     2.710709] smscphy0 at usmsc0 phy 1: SMSC LAN8700 10/100 Ethernet Transceiver, rev. 3
[     2.720711] smscphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
[     2.730712] usmsc0: Ethernet address b8:27:eb:70:2f:dc
[     3.860861] uaudio0 at uhub1 port 2 configuration 1 interface 0
[     3.860861] uaudio0: GN Audio A/S (0x0b0e) Jabra Evolve2 40 (0x0e40), rev 2.00/2.10, addr 4
[     3.930874] uaudio0: audio rev 1.00
[     3.930874] audio0 at uaudio0: playback, capture, full duplex, independent
[     3.930874] audio0: slinear_le:16 2ch 48000Hz, blk 11520 bytes (60ms) for playback
[     3.950875] audio0: slinear_le:16 1ch 48000Hz, blk 5880 bytes (61.2ms) for recording
[     3.950875] spkr0 at audio0: PC Speaker (synthesized)
[     3.963141] wsbell at spkr0 not configured
[     3.963141] uhidev0 at uhub1 port 2 configuration 1 interface 3
[     3.972344] uhidev0: GN Audio A/S (0x0b0e) Jabra Evolve2 40 (0x0e40), rev 2.00/2.10, addr 4, iclass 3/0
[     3.992344] uhidev0: 155 report ids
[     4.002349] uhid0 at uhidev0 reportid 1: input=2, output=2, feature=0
[     4.002349] uhid1 at uhidev0 reportid 2: input=2, output=2, feature=0
[     4.012715] uhid2 at uhidev0 reportid 4: input=2, output=2, feature=1
[     4.023495] uhid3 at uhidev0 reportid 5: input=32, output=32, feature=0
[     4.053498] uhid4 at uhidev0 reportid 154: input=0, output=0, feature=63
[     4.053498] uhid5 at uhidev0 reportid 155: input=2, output=0, feature=0
[     4.573551] urtwn0 at uhub1 port 5
[     4.573551] urtwn0: Realtek (0x0bda) 802.11n WLAN Adapter (0x8176), rev 2.00/2.00, addr 5
[     4.643562] urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R, address 3c:33:00:4e:64:9c
[     4.657400] urtwn0: 1 rx pipe, 2 tx pipes
[     4.657400] uhub0: autoconfiguration error: illegal enable change, port 1
[     4.665996] swwdog0: software watchdog initialized
[     4.665996] WARNING: 2 errors while detecting hardware; check system log.
[     4.675997] boot device: ld0
[     4.685996] root on ld0a dumps on ld0b
[     4.685996] root file system type: ffs
[     4.695998] kern.module.path=/stand/evbarm/10.0/modules
[     4.695998] WARNING: no TOD clock present
[     4.695998] vchiq0: interrupting on icu irq 66
[     4.695998] WARNING: using filesystem time
[     4.713125] WARNING: CHECK AND RESET THE DATE!
[     4.716001] vchiq: vchiq_init_state: slot_zero = 0xbb1e0000, is_master = 0
[     4.716001] vchiq: local ver 8 (min 3), remote ver 8.
[     4.716001] vcaudio0 at vchiq0: auds
[     4.726006] audio1 at vcaudio0: playback
[     4.726006] audio1: slinear_le:16 -> slinear_le:16 2ch 48000Hz, blk 7680 bytes (40ms) for playback
[     4.740279] spkr1 at audio1: PC Speaker (synthesized)
[     4.740279] wsbell at spkr1 not configured
[    15.069447] wsdisplay0: screen 4 added (default, vt100 emulation)

-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.