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) -----