Attempting to setup an RPI 3B as a music player with an external USB
DAC. Using aucat -i seems to cause the kernel to panic. Here's the dmesg, panic
message, ddb trace, ddb ps, and show registers:
OpenBSD 6.9 (GENERIC.MP) #1134: Sun Apr 18 01:53:35 MDT 2021
[email protected]:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem = 957083648 (912MB)
avail mem = 895238144 (853MB)
random: good seed from bootblocks
mainbus0 at root: Raspberry Pi 3 Model B Rev 1.2
cpu0 at mainbus0 mpidr 0: ARM Cortex-A53 r0p4
cpu0: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
cpu0: CRC32,ASID16
cpu1 at mainbus0 mpidr 1: ARM Cortex-A53 r0p4
cpu1: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu1: 512KB 64b/line 16-way L2 cache
cpu1: CRC32,ASID16
cpu2 at mainbus0 mpidr 2: ARM Cortex-A53 r0p4
cpu2: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu2: 512KB 64b/line 16-way L2 cache
cpu2: CRC32,ASID16
cpu3 at mainbus0 mpidr 3: ARM Cortex-A53 r0p4
cpu3: 32KB 64b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu3: 512KB 64b/line 16-way L2 cache
cpu3: CRC32,ASID16
efi0 at mainbus0: UEFI 2.8
efi0: Das U-Boot rev 0x20210100
apm0 at mainbus0
simplefb0 at mainbus0: 656x416, 32bpp
wsdisplay0 at simplefb0 mux 1
wsdisplay0: screen 0-5 added (std, vt100 emulation)
"system" at mainbus0 not configured
"axi" at mainbus0 not configured
simplebus0 at mainbus0: "soc"
bcmclock0 at simplebus0
bcmmbox0 at simplebus0
bcmgpio0 at simplebus0
bcmaux0 at simplebus0
bcmdmac0 at simplebus0: DMA0 DMA2 DMA4 DMA5 DMA8 DMA9 DMA10
bcmintc0 at simplebus0
bcmrng0 at simplebus0
pluart0 at simplebus0: console
bcmsdhost0 at simplebus0: 250 MHz base clock
sdmmc0 at bcmsdhost0: 4-bit, sd high-speed, mmc high-speed, dma
dwctwo0 at simplebus0
bcmdog0 at simplebus0
bcmtemp0 at simplebus0
"local_intc" at simplebus0 not configured
sdhc0 at simplebus0
sdhc0: SDHC 3.0, 200 MHz base clock
sdmmc1 at sdhc0: 4-bit, sd high-speed, mmc high-speed
simplebus1 at simplebus0: "firmware"
"clocks" at simplebus1 not configured
"expgpio" at simplebus1 not configured
"power" at simplebus0 not configured
"mailbox" at simplebus0 not configured
"gpiomem" at simplebus0 not configured
"fb" at simplebus0 not configured
"vcsm" at simplebus0 not configured
"virtgpio" at simplebus0 not configured
"clocks" at mainbus0 not configured
"phy" at mainbus0 not configured
"arm-pmu" at mainbus0 not configured
agtimer0 at mainbus0: 19200 kHz
"leds" at mainbus0 not configured
"fixedregulator_3v3" at mainbus0 not configured
"fixedregulator_5v0" at mainbus0 not configured
"bootloader" at mainbus0 not configured
usb0 at dwctwo0: USB revision 2.0
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SK512, 0085> removable
sd0: 488156MB, 512 bytes/sector, 999743488 sectors
uhub0 at usb0 configuration 1 interface 0 "Broadcom DWC2 root hub" rev
2.00/1.00 addr 1
uhub1 at uhub0 port 1 configuration 1 interface 0 "Standard Microsystems
product 0x9514" rev 2.00/2.00 addr 2
bwfm0 at sdmmc1 function 1
manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured
smsc0 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems
SMSC9512/14" rev 2.00/2.00 addr 3
smsc0: address b8:27:eb:df:55:a6
ukphy0 at smsc0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI
0x0001f0, model 0x000c
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on sd0a (edbcbe3036a943dd.a) swap on sd0b dump on sd0b
WARNING: CHECK AND RESET THE DATE!
gpio0 at bcmgpio0: 54 pins
bwfm0: address b8:27:eb:8a:00:f3
softraid0: incorrect key or passphrase
sd1 at scsibus2 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006>
sd1: 307199MB, 512 bytes/sector, 629145072 sectors
uaudio0 at uhub1 port 2 configuration 1 interface 1 "Project USB Box S+ Project
USB Box S+ USB Audio 2.0" rev 2.00/3.38 addr 4
uaudio0: class v2, high-speed, async, channels: 2 play, 0 rec, 4 ctls
audio0 at uaudio0
ugen0 at uhub1 port 2 configuration 1 "Project USB Box S+ Project USB Box S+
USB Audio 2.0" rev 2.00/3.38 addr 4
pi# audio0 detached
uaudio0 detached
ugen0 detached
uaudio0 at uhub1 port 2 configuration 1 interface 1 "Project USB Box S+ Project
USB Box S+ USB Audio 2.0" rev 2.00/3.38 addr 4
uaudio0: class v2, high-speed, async, channels: 2 play, 0 rec, 4 ctls
audio0 at uaudio0
ugen0 at uhub1 port 2 configuration 1 "Project USB Box S+ Project USB Box S+
USB Audio 2.0" rev 2.00/3.38 addr 4
pi# aucat -i music/beets/Portishead/Dummy/11\ Glory\ Box.flac
panic: kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframes
< DWC2_MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line
1308
Stopped at panic+0x158: mov w0, w20
TID PID UID PRFLAGS PFLAGS CPU COMMAND
*361467 84198 99 0x100010 0 0K sndiod
db_enter() at panic+0x154
panic() at __assert+0x24
panic() at dwc2_device_start+0x374
dwc2_device_start() at usbd_transfer+0x154
usbd_transfer() at uaudio_pdata_xfer+0x54
uaudio_pdata_xfer() at uaudio_trigger+0x1cc
uaudio_trigger() at uaudio_trigger_output+0x58
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb{0}> trace
db_enter() at panic+0x154
panic() at __assert+0x24
panic() at dwc2_device_start+0x374
dwc2_device_start() at usbd_transfer+0x154
usbd_transfer() at uaudio_pdata_xfer+0x54
uaudio_pdata_xfer() at uaudio_trigger+0x1cc
uaudio_trigger() at uaudio_trigger_output+0x58
uaudio_trigger_output() at audio_start_do+0x94
audio_start_do() at audioioctl+0x64
audioioctl() at VOP_IOCTL+0x60
VOP_IOCTL() at vn_ioctl+0x7c
vn_ioctl() at sys_ioctl+0x2bc
sys_ioctl() at svc_handler+0x2cc
svc_handler() at do_el0_sync+0xf4
do_el0_sync() at handle_el0_sync+0x74
handle_el0_sync() at 0x18fef0a1c4
--- trap ---
ddb{0}>
ddb{0}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
12883 280543 57498 0 3 0x100083 poll aucat
19486 331284 1 77 3 0x100090 poll dhclient
90854 174945 1 0 3 0x80 poll dhclient
88203 365000 1 77 3 0x100090 poll dhclient
82893 134653 1 0 3 0x80 poll dhclient
57498 452389 34235 0 3 0x10008b sigsusp ksh
40827 245440 1 0 3 0x100083 ttyin getty
34420 125501 1 0 3 0x100083 ttyin getty
18945 475812 1 0 3 0x100083 ttyin getty
71031 302505 1 0 3 0x100083 ttyin getty
34235 65648 1 1000 3 0x10008b sigsusp ksh
46546 275829 1 0 3 0x100098 poll cron
1276 55601 0 0 3 0x14200 bored srdis
*84198 361467 1 99 7 0x100010 sndiod
2312 494293 1 110 3 0x100090 poll sndiod
56671 507101 80605 95 3 0x100092 kqread smtpd
48178 20488 80605 103 3 0x100092 kqread smtpd
88040 456876 80605 95 3 0x100092 kqread smtpd
87590 267979 80605 95 3 0x100092 kqread smtpd
27298 27979 80605 95 3 0x100092 kqread smtpd
96015 200562 80605 95 3 0x100092 kqread smtpd
80605 473826 1 0 3 0x100080 kqread smtpd
9470 64854 1 0 3 0x80 select sshd
38579 320093 1 0 3 0x100080 poll ntpd
77863 304258 42766 83 3 0x100092 poll ntpd
42766 68766 1 83 3 0x100092 poll ntpd
93351 417905 49833 74 3 0x100092 bpf pflogd
49833 233694 1 0 3 0x80 netio pflogd
45369 360044 42082 73 3 0x100090 kqread syslogd
42082 454665 1 0 3 0x100082 netio syslogd
89832 415815 56594 115 3 0x100092 kqread slaacd
91367 6169 56594 115 3 0x100092 kqread slaacd
56594 388258 1 0 3 0x100080 kqread slaacd
79200 172162 0 0 3 0x14200 bored smr
20669 186652 0 0 3 0x14200 pgzero zerothread
43811 393611 0 0 3 0x14200 aiodoned aiodoned
97427 286701 0 0 3 0x14200 syncer update
90299 44284 0 0 3 0x14200 cleaner cleaner
49308 382644 0 0 3 0x14200 reaper reaper
62335 65985 0 0 3 0x14200 pgdaemon pagedaemon
91054 285162 0 0 3 0x14200 bored bwfm0
78329 355897 0 0 3 0x14200 bored crynlk
37733 284159 0 0 3 0x14200 bored crypto
46014 40013 0 0 3 0x14200 bored tztq
63480 423760 0 0 3 0x14200 mmctsk sdmmc1
68092 42896 0 0 3 0x14200 bored sensors
70324 321366 0 0 3 0x14200 usbtsk usbtask
32764 252062 0 0 3 0x14200 usbatsk usbatsk
90243 98738 0 0 3 0x14200 bored dwc2
65035 103796 0 0 3 0x14200 mmctsk sdmmc0
4183 394208 0 0 7 0x40014200 idle3
65700 182326 0 0 7 0x40014200 idle2
66077 128949 0 0 7 0x40014200 idle1
56805 477741 0 0 3 0x14200 bored softnet
48394 440375 0 0 3 0x14200 bored systqmp
56776 469070 0 0 3 0x14200 bored systq
37802 356822 0 0 3 0x40014200 bored softclock
82734 141417 0 0 3 0x40014200 idle0
60135 338982 0 0 3 0x14200 kmalloc kmthread
1 435281 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{0}>
ddb{0}> show registers
x0 0x1
x1 0xffffff8025214000
x2 0x40 $d.1+0x2d
x3 0x8
x4 0xffffff8026041820
x5 0x58 $d.1+0x45
x6 0x400 $d.1+0x3ed
x7 0x7d515ccde4ae4db4
x8 0x1
x9 0xcaf7f250cb352158
x10 0x8
x11 0x8
x12 0xffffffc8
x13 0x58 $d.1+0x45
x14 0xffffffff
x15 0xee5443d0183a3231
x16 0x7fffff35e0
x17 0x1
x18 0xffffff8026041880
x19 0xffffff8000c21689 $d.4
x20 0x100 $d.1+0xed
x21 0xffffff8000e86fc8 kprintf_mutex
x22 0xffffff8000ef9000 slpque+0x598
x23 0xffffff80260418d0
x24 0x1080 $d.1+0x106d
x25 0xffffff8004a98800 _end+0x3b43090
x26 0x5
x27 0xffffff8004b72e00 _end+0x3c1d690
x28 0
x29 0xffffff8026041880
x30 0
sp 0xffffff8026041880
spsr 0x60000305
elr 0xffffff8000979dcc db_enter+0x14
lr 0xffffff80009d280c panic+0x158
panic+0x158: mov w0, w20
ddb{0}>
x0 0x1
x1 0xffffff8025214000
x2 0x40 $d.1+0x2d
x3 0x8
x4 0xffffff8026041820
x5 0x58 $d.1+0x45
x6 0x400 $d.1+0x3ed
x7 0x7d515ccde4ae4db4
x8 0x1
x9 0xcaf7f250cb352158
x10 0x8
x11 0x8
x12 0xffffffc8
x13 0x58 $d.1+0x45
x14 0xffffffff
x15 0xee5443d0183a3231
x16 0x7fffff35e0
x17 0x1
x18 0xffffff8026041880
x19 0xffffff8000c21689 $d.4
x20 0x100 $d.1+0xed
x21 0xffffff8000e86fc8 kprintf_mutex
x22 0xffffff8000ef9000 slpque+0x598
x23 0xffffff80260418d0
x24 0x1080 $d.1+0x106d
x25 0xffffff8004a98800 _end+0x3b43090
x26 0x5
x27 0xffffff8004b72e00 _end+0x3c1d690
x28 0
x29 0xffffff8026041880
x30 0
sp 0xffffff8026041880
spsr 0x60000305
elr 0xffffff8000979dcc db_enter+0x14
lr 0xffffff80009d280c panic+0x158
panic+0x158: mov w0, w20