Synopsis: Raspberry Pi 3B+ panic on changing video0 permissions for motion
Category: arm Environment: System : OpenBSD 6.9 Details : OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar 6 14:04:42 MST 2021 [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP Architecture: OpenBSD.arm64 Machine : arm64 Description: panic occurs when _motion has permission to access camera How-To-Repeat: attach Logitech webcam, chmod g+rw /dev/video0, reboot (where _motion is in the group assigned to /dev/video0) Fix: unknown. If _motion's group doesn't have access, then the panic does not occur. I've tried variations on the group, when camera is plugged in, starting and stopping motion, etc. I see a similar error from 2017 and am including it at the end of this email. System always froze when trying machine ddbcpu x (for x in 0,1,3) If motion should work with this camera, I can try it on other Raspberry Pi 3B+ and/or other cameras in the future. I'll number and summarize the sections I include. 1. output of sendbug -P. 2. /var/run/dmesg.boot 3. pkg_info (motion and dependencies) 4. permissions 5. motion messages 6. rebooting so camera can be detected. ddb panic, trace, registers, ps, dmesg 7. similar error, openbsd-bugs, 2017-06-09 ---------------------------------------------------------------------- 1. output of sendbug -P. It outputs the following at the end: cp: /var/db/acpi/*: No such file or directory b64encode: *: No such file or directory dmesg: OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar 6 14:04:42 MST 2021 [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP real mem = 957190144 (912MB) avail mem = 895352832 (853MB) random: good seed from bootblocks mainbus0 at root: Raspberry Pi 3 Model B Plus Rev 1.3 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 "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, SL32G, 0080> removable sd0: 30436MB, 512 bytes/sector, 62333952 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 0x2514" rev 2.00/b.b3 addr 2 uhub2 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems product 0x2514" rev 2.00/b.b3 addr 3 uvideo0 at uhub2 port 2 configuration 1 interface 0 "Logitech HD Pro Webcam C920" rev 2.00/0.11 addr 4 video0 at uvideo0 uaudio0 at uhub2 port 2 configuration 1 interface 3 "Logitech HD Pro Webcam C920" rev 2.00/0.11 addr 4 uaudio0: class v1, high-speed, sync, channels: 0 play, 2 rec, 2 ctls audio0 at uaudio0 axe0 at uhub1 port 3 configuration 1 interface 0 "ASIX Elec. Corp. AX88772C" rev 2.00/0.02 addr 5 axe0: AX88772B, address xx:xx:xx:xx:xx:xx ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec6, model 0x0008 sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed bwfm0 at sdmmc1 function 1 bwfm0: cannot enable function 1 manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 3 not configured vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root scsibus2 at softraid0: 256 targets root on sd0a (xxx.a) swap on sd0b dump on sd0b WARNING: CHECK AND RESET THE DATE! gpio0 at bcmgpio0: 54 pins usbdevs: Controller /dev/usb0: addr 01: 0000:0000 Broadcom, DWC2 root hub high speed, self powered, config 1, rev 1.00 driver: uhub0 addr 02: 0424:2514 Standard Microsystems, product 0x2514 high speed, self powered, config 1, rev b.b3 driver: uhub1 addr 03: 0424:2514 Standard Microsystems, product 0x2514 high speed, self powered, config 1, rev b.b3 driver: uhub2 addr 04: 046d:082d Logitech, HD Pro Webcam C920 high speed, power 500 mA, config 1, rev 0.11, iSerial xxx driver: uvideo0 driver: uaudio0 addr 05: 0b95:772b ASIX Elec. Corp., AX88772C high speed, power 200 mA, config 1, rev 0.02, iSerial xxx driver: axe0 pcidump: acpidump: ---------------------------------------------------------------------- 2. /var/run/dmesg.boot after rebooting. However, after the panic, the last thing I did from ddb was boot dump, causes the system to freeze, so the /var/run/dmesg.boot is from the following successful boot. Probably my fault for not attaching a separate USB to store the dump. OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar 6 14:04:42 MST 2021 [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP real mem = 957190144 (912MB) avail mem = 895348736 (853MB) random: good seed from bootblocks mainbus0 at root: Raspberry Pi 3 Model B Plus Rev 1.3 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 "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, SL32G, 0080> removable sd0: 30436MB, 512 bytes/sector, 62333952 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 0x2514" rev 2.00/b.b3 addr 2 uhub2 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems product 0x2514" rev 2.00/b.b3 addr 3 axe0 at uhub1 port 3 configuration 1 interface 0 "ASIX Elec. Corp. AX88772C" rev 2.00/0.02 addr 4 axe0: AX88772B, address xx:xx:xx:xx:xx:xx ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec6, model 0x0008 sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed bwfm0 at sdmmc1 function 1 bwfm0: cannot enable function 1 manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 3 not configured vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root scsibus2 at softraid0: 256 targets root on sd0a (xxx.a) swap on sd0b dump on sd0b WARNING: / was not properly unmounted WARNING: CHECK AND RESET THE DATE! gpio0 at bcmgpio0: 54 pins ---------------------------------------------------------------------- 3. pkg_info host# /usr/sbin/pkg_info -A aom-2.0.2 Alliance for Open Media AV1 video codec bwfm-firmware-20200316.1.2 firmware binary images for bwfm(4) driver bzip2-1.0.8p0 block-sorting file compressor, unencumbered cairo-1.16.0 vector graphics library dav1d-0.7.1p2 small and fast AV1 decoder ffmpeg-4.3.2v1 audio/video converter and streamer flac-1.3.3 free lossless audio codec fribidi-1.0.10 library implementing the Unicode Bidirectional Algorithm gettext-runtime-0.21p1 GNU gettext runtime libraries and programs giflib-5.1.6 tools and library routines for working with GIF images glib2-2.66.7 general-purpose utility library gmp-6.2.1 library for arbitrary precision arithmetic gnutls-3.6.15p0 GNU Transport Layer Security library graphite2-1.3.14 rendering for complex writing systems gsm-1.0.19 GSM audio codec library and converter harfbuzz-2.7.4 text shaping library jpeg-2.0.6v0 SIMD-accelerated JPEG codec replacement of libjpeg lame-3.100p1 lame ain't an MP3 encoder libass-0.15.0 portable ASS/SSA subtitle renderer libexecinfo-0.3p2v0 clone of backtrace facility found in the GNU libc libffi-3.3 Foreign Function Interface libiconv-1.16p0 character set conversion library libidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names libmicrohttpd-0.9.70 tiny embeddable httpd library written in C libnettle-3.7.1 cryptographic library libogg-1.3.4 Ogg bitstream library libsamplerate-0.1.9 audio sample rate conversion library libsndfile-1.0.30p0 library to handle various audio file formats libtasn1-4.16.0 Abstract Syntax Notation One structure parser library libtheora-1.2.20190601p0 open video codec libunbound-1.13.0 validating DNS resolver library libunistring-0.9.7 manipulate Unicode strings libv4l-1.20.0 libv4l userspace library libvorbis-1.3.7 audio compression codec library libvpx-1.9.0v0 Google VP8/VP9 video codec libwebp-1.2.0 Google WebP image format conversion tool libxml-2.9.10p2 XML parsing library lz4-1.9.3 fast BSD-licensed data compression lzo2-2.10p2 portable speedy lossless data compression library motion-4.3.2 motion detection software for video opus-1.3.1 IETF audio codec p11-kit-0.23.22p0 library for loading and enumerating PKCS#11 modules pcre-8.41p2 perl-compatible regular expression library png-1.6.37 library for manipulating PNG images python-3.8.8 interpreted object-oriented programming language quirks-3.601 exceptions to pkg_add rules sdl2-2.0.14p1 cross-platform multimedia library speex-1.2.0 patent-free speech codec speexdsp-1.2.0 speech processing DSP library sqlite3-3.34.1 embedded SQL implementation tiff-4.1.0 tools and library routines for working with TIFF images urtwn-firmware-20180103p0 firmware binary images for urtwn(4) driver x264-20200705p0 free H.264/MPEG-4 AVC encoder x265-3.4 free H.265/HEVC encoder xvidcore-1.3.7 ISO MPEG-4 compliant video codec xz-5.2.5 LZMA compression and decompression tools zstd-1.4.8 zstandard fast real-time compression algorithm ---------------------------------------------------------------------- 4. permissions host# /bin/ls -l /dev/video0 crw-rw---- 1 root vids 44, 0 Mar 6 15:25 /dev/video0 host# /usr/bin/groups _motion _motion vids ---------------------------------------------------------------------- 5. motion messages host# /usr/sbin/rcctl restart motion motion(ok) motion(ok) host# /bin/echo "will trim tail of messages to show open and fail" host# /usr/bin/tail /var/log/messages Mar 8 10:46:21 host motion: [0:Unknown] [NTC] [ALL] motion_start_thread: Camer a ID: 0 Camera Name: (null) Device: /dev/video0 Mar 8 10:46:21 host motion: [1:Unknown] [NTC] [ALL] motion_init: Camera 0 star ted: motion detection Enabled Mar 8 10:46:21 host motion: [1:Unknown] [NTC] [VID] vid_start: Opening V4L2 de vice Mar 8 10:46:21 host motion: [1:Unknown] [NTC] [VID] v4l2_device_open: Using vi deodevice /dev/video0 and input -1 Mar 8 10:46:21 host motion: [1:Unknown] [ALR] [VID] v4l2_device_open: Failed t o open video device /dev/video0: Device not configured g pre_capture buffer to 4 items host# /bin/echo "now plugging ingamera" now plugging in camera host# /usr/sbin/rcctl restart motion motion(ok) motion(ok) host# /bin/echo "will trim output of messages to show fail" host# /usr/bin/tail /var/log/messages Mar 8 10:47:30 host motion: [1:Unknown] [NTC] [VID] v4l2_device_open: Using vi deodevice /dev/video0 and input -1 Mar 8 10:47:30 host motion: [1:Unknown] [ALR] [VID] v4l2_device_open: Failed t o open video device /dev/video0: Device not configured host# /bin/echo "rebooting so camera can be detected" ---------------------------------------------------------------------- 6. rebooting so camera can be detected. ddb panic, trace, registers, ps, dmesg starting package daemons: motion. starting local daemons: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 141836 98697 0 0x100003 0 0 ksh *514141 4969 808 0 0x4000000 1K motion 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 uvideo_vs_start_isoc+0x88 uvideo_vs_start_isoc() at uvideo_streamon+0xd4 uvideo_streamon() at VOP_IOCTL+0x60 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{1}> show panic kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframes < DWC2 _MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1308 ddb{1}> 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 uvideo_vs_start_isoc+0x88 uvideo_vs_start_isoc() at uvideo_streamon+0xd4 uvideo_streamon() 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 0x1a2e23880c --- trap --- ddb{1}> show registers x0 0x1 x1 0xffffff8025213000 x2 0x44 $d.1+0x31 x3 0x8 x4 0xffffff8025aa5900 x5 0x28 $d.1+0x15 x6 0x180 $d.1+0x16d x7 0xffffff8025aa5a30 x8 0x1 x9 0x12868edf3bfc49ae x10 0x8 x11 0x8 x12 0xffffffc8 x13 0x58 $d.1+0x45 x14 0xffffffff x15 0xe79932545548dc2e x16 0x1 x17 0x1 x18 0xffffff8025aa5960 x19 0xffffff8000c1e50a $d.4 x20 0x100 $d.1+0xed x21 0xffffff8000e0b558 kprintf_mutex x22 0xffffff8000ee2000 pf_rule_item_pl+0x58 x23 0xffffff8025aa59b0 x24 0x3c00 $d.1+0x3bed x25 0xffffff8004a97800 _end+0x3b42338 x26 0x5 x27 0xffffff80051da200 _end+0x4284d38 x28 0 x29 0xffffff8025aa5960 x30 0 sp 0xffffff8025aa5960 spsr 0x60000305 elr 0xffffff8000861450 db_enter+0x14 lr 0xffffff8000419d30 panic+0x158 panic+0x158: mov w0, w20 ddb{1}> ps PID TID PPID UID S FLAGS WAIT COMMAND 98697 141836 65608 0 7 0x100003 ksh 4969 14623 1 808 3 0x80 nanoslp motion 4969 43618 1 808 3 0x4000080 select motion 4969 187303 1 808 3 0x4000080 select motion * 4969 514141 1 808 7 0x4000000 motion 32801 286761 34599 0 3 0x100083 nanoslp sleep 34599 123171 1 0 3 0x100089 sigsusp ksh 84317 100360 1 99 3 0x100090 poll sndiod 73950 232867 1 110 3 0x100090 poll sndiod 54961 338609 58439 95 3 0x100092 kqread smtpd 56930 44274 58439 103 3 0x100092 kqread smtpd 2395 162562 58439 95 3 0x100092 kqread smtpd 70279 288688 58439 95 3 0x100092 kqread smtpd 1059 188254 58439 95 3 0x100092 kqread smtpd 63427 148933 58439 95 3 0x100092 kqread smtpd 58439 425119 1 0 3 0x100080 kqread smtpd 88015 355995 1 0 3 0x80 select sshd 64423 36087 26041 83 3 0x100092 poll ntpd 26041 375668 56620 83 3 0x100092 poll ntpd 56620 407060 1 0 3 0x100080 poll ntpd 68758 120344 32700 74 3 0x100092 bpf pflogd 32700 184523 1 0 3 0x80 netio pflogd 82334 113492 52008 73 3 0x100090 kqread syslogd 52008 285622 1 0 3 0x100082 netio syslogd 6083 238813 49653 115 3 0x100092 kqread slaacd 3147 164439 49653 115 3 0x100092 kqread slaacd 49653 276238 1 0 3 0x100080 kqread slaacd 65608 504144 1 0 3 0x10008b sigsusp sh 42325 446469 0 0 3 0x14200 bored smr 52136 406683 0 0 3 0x14200 pgzero zerothread 99010 132185 0 0 3 0x14200 aiodoned aiodoned 6956 43098 0 0 3 0x14200 syncer update 87254 153296 0 0 3 0x14200 cleaner cleaner 72193 377817 0 0 3 0x14200 reaper reaper 40771 110189 0 0 3 0x14200 pgdaemon pagedaemon 14778 507406 0 0 3 0x14200 bored crynlk 31166 145386 0 0 3 0x14200 bored crypto 59054 63669 0 0 3 0x14200 bored tztq 30028 412726 0 0 3 0x14200 mmctsk sdmmc1 19454 314561 0 0 3 0x14200 bored sensors 86831 353454 0 0 3 0x14200 usbtsk usbtask 22141 193663 0 0 3 0x14200 usbatsk usbatsk 88803 407783 0 0 3 0x14200 bored dwc2 65497 42556 0 0 3 0x14200 mmctsk sdmmc0 47352 361242 0 0 7 0x40014200 idle3 81300 78419 0 0 7 0x40014200 idle2 42612 103603 0 0 3 0x40014200 idle1 47179 71311 0 0 3 0x14200 bored softnet 39629 420873 0 0 3 0x14200 bored systqmp 2709 221597 0 0 3 0x14200 bored systq 96146 80417 0 0 3 0x40014200 bored softclock 67414 482976 0 0 3 0x40014200 idle0 49308 422693 0 0 3 0x14200 kmalloc kmthread 1 493488 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ddb{1}> dmesg OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar 6 14:04:42 MST 2021 [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP real mem = 957190144 (912MB) avail mem = 895348736 (853MB) random: good seed from bootblocks mainbus0 at root: Raspberry Pi 3 Model B Plus Rev 1.3 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 "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, SL32G, 0080> removable sd0: 30436MB, 512 bytes/sector, 62333952 sectors uhub0 at usb0 configuration 1 interface 0 "Broadcom DWC2 root hub" rev 2.00/1.0 0 addr 1 uhub1 at uhub0 port 1 configuration 1 interface 0 "Standard Microsystems produc t 0x2514" rev 2.00/b.b3 addr 2 uhub2 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems produc t 0x2514" rev 2.00/b.b3 addr 3 uvideo0 at uhub2 port 3 configuration 1 interface 0 "Logitech HD Pro Webcam C92 0" rev 2.00/0.11 addr 4 video0 at uvideo0 uaudio0 at uhub2 port 3 configuration 1 interface 3 "Logitech HD Pro Webcam C92 0" rev 2.00/0.11 addr 4 uaudio0: class v1, high-speed, sync, channels: 0 play, 2 rec, 2 ctls audio0 at uaudio0 axe0 at uhub1 port 3 configuration 1 interface 0 "ASIX Elec. Corp. AX88772C" re v 2.00/0.02 addr 5 axe0: AX88772B, address xx:xx:xx:xx:xx:xx ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec 6, model 0x0008 sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed sdmmc1: bad CIS ptr 0 sdmmc1: can't read CIS sdmmc1: i/o init failed bwfm0 at sdmmc1 function 1 bwfm0: cannot enable function 1 manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 3 not configured vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root scsibus2 at softraid0: 256 targets root on sd0a (xxx.a) swap on sd0b dump on sd0b WARNING: CHECK AND RESET THE DATE! gpio0 at bcmgpio0: 54 pins panic: kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframes < DWC2_MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1 308 Stopped at panic+0x158: mov w0, w20 TID PID UID PRFLAGS PFLAGS CPU COMMAND 141836 98697 0 0x100003 0 0 ksh *514141 4969 808 0 0x4000000 1K motion 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 uvideo_vs_start_isoc+0x88 uvideo_vs_start_isoc() at uvideo_streamon+0xd4 uvideo_streamon() at VOP_IOCTL+0x60 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{1}> kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframe s < DWC2_MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1 308 ddb{1}> 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 uvideo_vs_start_isoc+0x88 uvideo_vs_start_isoc() at uvideo_streamon+0xd4 uvideo_streamon() 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 0x1a2e23880c --- trap --- ddb{1}> x0 0x1 x1 0xffffff8025213000 x2 0x44 $d.1+0x31 x3 0x8 x4 0xffffff8025aa5900 x5 0x28 $d.1+0x15 x6 0x180 $d.1+0x16d x7 0xffffff8025aa5a30 x8 0x1 x9 0x12868edf3bfc49ae x10 0x8 x11 0x8 x12 0xffffffc8 x13 0x58 $d.1+0x45 x14 0xffffffff x15 0xe79932545548dc2e x16 0x1 x17 0x1 x18 0xffffff8025aa5960 x19 0xffffff8000c1e50a $d.4 x20 0x100 $d.1+0xed x21 0xffffff8000e0b558 kprintf_mutex x22 0xffffff8000ee2000 pf_rule_item_pl+0x58 x23 0xffffff8025aa59b0 x24 0x3c00 $d.1+0x3bed x25 0xffffff8004a97800 _end+0x3b42338 x26 0x5 x27 0xffffff80051da200 _end+0x4284d38 x28 0 x29 0xffffff8025aa5960 x30 0 sp 0xffffff8025aa5960 spsr 0x60000305 elr 0xffffff8000861450 db_enter+0x14 lr 0xffffff8000419d30 panic+0x158 panic+0x158: mov w0, w20 ddb{1}> PID TID PPID UID S FLAGS WAIT COMMAND 98697 141836 65608 0 7 0x100003 ksh 4969 14623 1 808 3 0x80 nanoslp motion 4969 43618 1 808 3 0x4000080 select motion 4969 187303 1 808 3 0x4000080 select motion * 4969 514141 1 808 7 0x4000000 motion 32801 286761 34599 0 3 0x100083 nanoslp sleep 34599 123171 1 0 3 0x100089 sigsusp ksh 84317 100360 1 99 3 0x100090 poll sndiod 73950 232867 1 110 3 0x100090 poll sndiod 54961 338609 58439 95 3 0x100092 kqread smtpd 56930 44274 58439 103 3 0x100092 kqread smtpd 2395 162562 58439 95 3 0x100092 kqread smtpd 70279 288688 58439 95 3 0x100092 kqread smtpd 1059 188254 58439 95 3 0x100092 kqread smtpd 63427 148933 58439 95 3 0x100092 kqread smtpd 58439 425119 1 0 3 0x100080 kqread smtpd 88015 355995 1 0 3 0x80 select sshd 64423 36087 26041 83 3 0x100092 poll ntpd 26041 375668 56620 83 3 0x100092 poll ntpd 56620 407060 1 0 3 0x100080 poll ntpd 68758 120344 32700 74 3 0x100092 bpf pflogd 32700 184523 1 0 3 0x80 netio pflogd 82334 113492 52008 73 3 0x100090 kqread syslogd 52008 285622 1 0 3 0x100082 netio syslogd 6083 238813 49653 115 3 0x100092 kqread slaacd 3147 164439 49653 115 3 0x100092 kqread slaacd 49653 276238 1 0 3 0x100080 kqread slaacd 65608 504144 1 0 3 0x10008b sigsusp sh 42325 446469 0 0 3 0x14200 bored smr 52136 406683 0 0 3 0x14200 pgzero zerothread 99010 132185 0 0 3 0x14200 aiodoned aiodoned 6956 43098 0 0 3 0x14200 syncer update 87254 153296 0 0 3 0x14200 cleaner cleaner 72193 377817 0 0 3 0x14200 reaper reaper 40771 110189 0 0 3 0x14200 pgdaemon pagedaemon 14778 507406 0 0 3 0x14200 bored crynlk 31166 145386 0 0 3 0x14200 bored crypto 59054 63669 0 0 3 0x14200 bored tztq 30028 412726 0 0 3 0x14200 mmctsk sdmmc1 19454 314561 0 0 3 0x14200 bored sensors 86831 353454 0 0 3 0x14200 usbtsk usbtask 22141 193663 0 0 3 0x14200 usbatsk usbatsk 88803 407783 0 0 3 0x14200 bored dwc2 65497 42556 0 0 3 0x14200 mmctsk sdmmc0 47352 361242 0 0 7 0x40014200 idle3 81300 78419 0 0 7 0x40014200 idle2 42612 103603 0 0 3 0x40014200 idle1 47179 71311 0 0 3 0x14200 bored softnet 39629 420873 0 0 3 0x14200 bored systqmp 2709 221597 0 0 3 0x14200 bored systq 96146 80417 0 0 3 0x40014200 bored softclock 67414 482976 0 0 3 0x40014200 idle0 49308 422693 0 0 3 0x14200 kmalloc kmthread 1 493488 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper -------------------------------------------- 7. similar error, openbsd-bugs, 2017-06-09 --- from openbsd-bugs on 2017-06-09 Subject: panic while using uvideo on arm64 (RPi3) panic: kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframes < \ DWC2_MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1306 \ Stopped at panic+0x158: TID PID UID PRFLAGS PFLAGS CPU \ COMMAND *502853 41556 0 0x3 0 0 fswebcam |
Can you try a beefier power supply?
I've had weird crashes on a RPi3 with a logitech video camera whenever I tried to take pictures (using fswebcam). I replaced the power supply with one that could deliver more Amps, and the crashes were gone. (this is some time ago by now, haven't used that setup recently). This may very well be a red herring, but it's good to rule out. Note I never used this motion package. Cheers, Paul 'WEiRD' de Weerd On Mon, Mar 08, 2021 at 06:09:52PM +0000, Marfaba Stewart wrote: | Synopsis: Raspberry Pi 3B+ panic on changing video0 permissions for motion | Category: arm | Environment: | System : OpenBSD 6.9 | Details : OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar | 6 14:04:42 MST 2021 | [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP | | Architecture: OpenBSD.arm64 | Machine : arm64 | Description: | panic occurs when _motion has permission to access camera | How-To-Repeat: | attach Logitech webcam, chmod g+rw /dev/video0, reboot | (where _motion is in the group assigned to /dev/video0) | Fix: | unknown. If _motion's group doesn't have access, then | the panic does not occur. I've tried variations on the group, | when camera is plugged in, starting and stopping motion, etc. | I see a similar error from 2017 and am including it at the end of | this email. System always froze when trying | machine ddbcpu x (for x in 0,1,3) | | If motion should work with this camera, I can try it | on other Raspberry Pi 3B+ and/or other cameras in the | future. | | I'll number and summarize the sections I include. | | 1. output of sendbug -P. | 2. /var/run/dmesg.boot | 3. pkg_info (motion and dependencies) | 4. permissions | 5. motion messages | 6. rebooting so camera can be detected. | ddb panic, trace, registers, ps, dmesg | 7. similar error, openbsd-bugs, 2017-06-09 | | ---------------------------------------------------------------------- | 1. output of sendbug -P. It outputs the following at the end: | cp: /var/db/acpi/*: No such file or directory | b64encode: *: No such file or directory | | dmesg: | OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar 6 14:04:42 MST 2021 | [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP | real mem = 957190144 (912MB) | avail mem = 895352832 (853MB) | random: good seed from bootblocks | mainbus0 at root: Raspberry Pi 3 Model B Plus Rev 1.3 | 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 | "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, SL32G, 0080> removable | sd0: 30436MB, 512 bytes/sector, 62333952 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 0x2514" rev 2.00/b.b3 addr 2 | uhub2 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems product 0x2514" rev 2.00/b.b3 addr 3 | uvideo0 at uhub2 port 2 configuration 1 interface 0 "Logitech HD Pro Webcam C920" rev 2.00/0.11 addr 4 | video0 at uvideo0 | uaudio0 at uhub2 port 2 configuration 1 interface 3 "Logitech HD Pro Webcam C920" rev 2.00/0.11 addr 4 | uaudio0: class v1, high-speed, sync, channels: 0 play, 2 rec, 2 ctls | audio0 at uaudio0 | axe0 at uhub1 port 3 configuration 1 interface 0 "ASIX Elec. Corp. AX88772C" rev 2.00/0.02 addr 5 | axe0: AX88772B, address xx:xx:xx:xx:xx:xx | ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec6, model 0x0008 | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | bwfm0 at sdmmc1 function 1 | bwfm0: cannot enable function 1 | manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured | manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 3 not configured | vscsi0 at root | scsibus1 at vscsi0: 256 targets | softraid0 at root | scsibus2 at softraid0: 256 targets | root on sd0a (xxx.a) swap on sd0b dump on sd0b | WARNING: CHECK AND RESET THE DATE! | gpio0 at bcmgpio0: 54 pins | | usbdevs: | Controller /dev/usb0: | addr 01: 0000:0000 Broadcom, DWC2 root hub | high speed, self powered, config 1, rev 1.00 | driver: uhub0 | addr 02: 0424:2514 Standard Microsystems, product 0x2514 | high speed, self powered, config 1, rev b.b3 | driver: uhub1 | addr 03: 0424:2514 Standard Microsystems, product 0x2514 | high speed, self powered, config 1, rev b.b3 | driver: uhub2 | addr 04: 046d:082d Logitech, HD Pro Webcam C920 | high speed, power 500 mA, config 1, rev 0.11, iSerial xxx | driver: uvideo0 | driver: uaudio0 | addr 05: 0b95:772b ASIX Elec. Corp., AX88772C | high speed, power 200 mA, config 1, rev 0.02, iSerial xxx | driver: axe0 | | pcidump: | | acpidump: | ---------------------------------------------------------------------- | 2. /var/run/dmesg.boot | after rebooting. However, after | the panic, the last thing I did from ddb was boot dump, | causes the system to freeze, so the /var/run/dmesg.boot is from the | following successful boot. Probably my fault for not attaching | a separate USB to store the dump. | | OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar 6 14:04:42 MST 2021 | [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP | real mem = 957190144 (912MB) | avail mem = 895348736 (853MB) | random: good seed from bootblocks | mainbus0 at root: Raspberry Pi 3 Model B Plus Rev 1.3 | 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 | "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, SL32G, 0080> removable | sd0: 30436MB, 512 bytes/sector, 62333952 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 0x2514" rev 2.00/b.b3 addr 2 | uhub2 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems product 0x2514" rev 2.00/b.b3 addr 3 | axe0 at uhub1 port 3 configuration 1 interface 0 "ASIX Elec. Corp. AX88772C" rev 2.00/0.02 addr 4 | axe0: AX88772B, address xx:xx:xx:xx:xx:xx | ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec6, model 0x0008 | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | bwfm0 at sdmmc1 function 1 | bwfm0: cannot enable function 1 | manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured | manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 3 not configured | vscsi0 at root | scsibus1 at vscsi0: 256 targets | softraid0 at root | scsibus2 at softraid0: 256 targets | root on sd0a (xxx.a) swap on sd0b dump on sd0b | WARNING: / was not properly unmounted | WARNING: CHECK AND RESET THE DATE! | gpio0 at bcmgpio0: 54 pins | | ---------------------------------------------------------------------- | 3. pkg_info | | host# /usr/sbin/pkg_info -A | aom-2.0.2 Alliance for Open Media AV1 video codec | bwfm-firmware-20200316.1.2 firmware binary images for bwfm(4) driver | bzip2-1.0.8p0 block-sorting file compressor, unencumbered | cairo-1.16.0 vector graphics library | dav1d-0.7.1p2 small and fast AV1 decoder | ffmpeg-4.3.2v1 audio/video converter and streamer | flac-1.3.3 free lossless audio codec | fribidi-1.0.10 library implementing the Unicode Bidirectional Algorithm | gettext-runtime-0.21p1 GNU gettext runtime libraries and programs | giflib-5.1.6 tools and library routines for working with GIF images | glib2-2.66.7 general-purpose utility library | gmp-6.2.1 library for arbitrary precision arithmetic | gnutls-3.6.15p0 GNU Transport Layer Security library | graphite2-1.3.14 rendering for complex writing systems | gsm-1.0.19 GSM audio codec library and converter | harfbuzz-2.7.4 text shaping library | jpeg-2.0.6v0 SIMD-accelerated JPEG codec replacement of libjpeg | lame-3.100p1 lame ain't an MP3 encoder | libass-0.15.0 portable ASS/SSA subtitle renderer | libexecinfo-0.3p2v0 clone of backtrace facility found in the GNU libc | libffi-3.3 Foreign Function Interface | libiconv-1.16p0 character set conversion library | libidn2-2.3.0p0 implementation of IDNA2008 internationalized domain names | libmicrohttpd-0.9.70 tiny embeddable httpd library written in C | libnettle-3.7.1 cryptographic library | libogg-1.3.4 Ogg bitstream library | libsamplerate-0.1.9 audio sample rate conversion library | libsndfile-1.0.30p0 library to handle various audio file formats | libtasn1-4.16.0 Abstract Syntax Notation One structure parser library | libtheora-1.2.20190601p0 open video codec | libunbound-1.13.0 validating DNS resolver library | libunistring-0.9.7 manipulate Unicode strings | libv4l-1.20.0 libv4l userspace library | libvorbis-1.3.7 audio compression codec library | libvpx-1.9.0v0 Google VP8/VP9 video codec | libwebp-1.2.0 Google WebP image format conversion tool | libxml-2.9.10p2 XML parsing library | lz4-1.9.3 fast BSD-licensed data compression | lzo2-2.10p2 portable speedy lossless data compression library | motion-4.3.2 motion detection software for video | opus-1.3.1 IETF audio codec | p11-kit-0.23.22p0 library for loading and enumerating PKCS#11 modules | pcre-8.41p2 perl-compatible regular expression library | png-1.6.37 library for manipulating PNG images | python-3.8.8 interpreted object-oriented programming language | quirks-3.601 exceptions to pkg_add rules | sdl2-2.0.14p1 cross-platform multimedia library | speex-1.2.0 patent-free speech codec | speexdsp-1.2.0 speech processing DSP library | sqlite3-3.34.1 embedded SQL implementation | tiff-4.1.0 tools and library routines for working with TIFF images | urtwn-firmware-20180103p0 firmware binary images for urtwn(4) driver | x264-20200705p0 free H.264/MPEG-4 AVC encoder | x265-3.4 free H.265/HEVC encoder | xvidcore-1.3.7 ISO MPEG-4 compliant video codec | xz-5.2.5 LZMA compression and decompression tools | zstd-1.4.8 zstandard fast real-time compression algorithm | | ---------------------------------------------------------------------- | 4. permissions | host# /bin/ls -l /dev/video0 | crw-rw---- 1 root vids 44, 0 Mar 6 15:25 /dev/video0 | | host# /usr/bin/groups _motion | _motion vids | | ---------------------------------------------------------------------- | 5. motion messages | host# /usr/sbin/rcctl restart motion | motion(ok) | motion(ok) | | host# /bin/echo "will trim tail of messages to show open and fail" | host# /usr/bin/tail /var/log/messages | Mar 8 10:46:21 host motion: [0:Unknown] [NTC] [ALL] motion_start_thread: Camer | a ID: 0 Camera Name: (null) Device: /dev/video0 | Mar 8 10:46:21 host motion: [1:Unknown] [NTC] [ALL] motion_init: Camera 0 star | ted: motion detection Enabled | Mar 8 10:46:21 host motion: [1:Unknown] [NTC] [VID] vid_start: Opening V4L2 de | vice | Mar 8 10:46:21 host motion: [1:Unknown] [NTC] [VID] v4l2_device_open: Using vi | deodevice /dev/video0 and input -1 | Mar 8 10:46:21 host motion: [1:Unknown] [ALR] [VID] v4l2_device_open: Failed t | o open video device /dev/video0: Device not configured | g pre_capture buffer to 4 items | | host# /bin/echo "now plugging ingamera" | now plugging in camera | host# /usr/sbin/rcctl restart motion | motion(ok) | motion(ok) | | host# /bin/echo "will trim output of messages to show fail" | host# /usr/bin/tail /var/log/messages | Mar 8 10:47:30 host motion: [1:Unknown] [NTC] [VID] v4l2_device_open: Using vi | deodevice /dev/video0 and input -1 | Mar 8 10:47:30 host motion: [1:Unknown] [ALR] [VID] v4l2_device_open: Failed t | o open video device /dev/video0: Device not configured | host# /bin/echo "rebooting so camera can be detected" | | | ---------------------------------------------------------------------- | 6. rebooting so camera can be detected. | ddb panic, trace, registers, ps, dmesg | | starting package daemons: motion. | starting local daemons: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 | 141836 98697 0 0x100003 0 0 ksh | *514141 4969 808 0 0x4000000 1K motion | 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 uvideo_vs_start_isoc+0x88 | uvideo_vs_start_isoc() at uvideo_streamon+0xd4 | uvideo_streamon() at VOP_IOCTL+0x60 | 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{1}> show panic | kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframes < DWC2 | _MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1308 | | ddb{1}> 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 uvideo_vs_start_isoc+0x88 | uvideo_vs_start_isoc() at uvideo_streamon+0xd4 | uvideo_streamon() 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 0x1a2e23880c | --- trap --- | | ddb{1}> show registers | x0 0x1 | x1 0xffffff8025213000 | x2 0x44 $d.1+0x31 | x3 0x8 | x4 0xffffff8025aa5900 | x5 0x28 $d.1+0x15 | x6 0x180 $d.1+0x16d | x7 0xffffff8025aa5a30 | x8 0x1 | x9 0x12868edf3bfc49ae | x10 0x8 | x11 0x8 | x12 0xffffffc8 | x13 0x58 $d.1+0x45 | x14 0xffffffff | x15 0xe79932545548dc2e | x16 0x1 | x17 0x1 | x18 0xffffff8025aa5960 | x19 0xffffff8000c1e50a $d.4 | x20 0x100 $d.1+0xed | x21 0xffffff8000e0b558 kprintf_mutex | x22 0xffffff8000ee2000 pf_rule_item_pl+0x58 | x23 0xffffff8025aa59b0 | x24 0x3c00 $d.1+0x3bed | x25 0xffffff8004a97800 _end+0x3b42338 | x26 0x5 | x27 0xffffff80051da200 _end+0x4284d38 | x28 0 | x29 0xffffff8025aa5960 | x30 0 | sp 0xffffff8025aa5960 | spsr 0x60000305 | elr 0xffffff8000861450 db_enter+0x14 | lr 0xffffff8000419d30 panic+0x158 | panic+0x158: mov w0, w20 | | ddb{1}> ps | PID TID PPID UID S FLAGS WAIT COMMAND | 98697 141836 65608 0 7 0x100003 ksh | 4969 14623 1 808 3 0x80 nanoslp motion | 4969 43618 1 808 3 0x4000080 select motion | 4969 187303 1 808 3 0x4000080 select motion | * 4969 514141 1 808 7 0x4000000 motion | 32801 286761 34599 0 3 0x100083 nanoslp sleep | 34599 123171 1 0 3 0x100089 sigsusp ksh | 84317 100360 1 99 3 0x100090 poll sndiod | 73950 232867 1 110 3 0x100090 poll sndiod | 54961 338609 58439 95 3 0x100092 kqread smtpd | 56930 44274 58439 103 3 0x100092 kqread smtpd | 2395 162562 58439 95 3 0x100092 kqread smtpd | 70279 288688 58439 95 3 0x100092 kqread smtpd | 1059 188254 58439 95 3 0x100092 kqread smtpd | 63427 148933 58439 95 3 0x100092 kqread smtpd | 58439 425119 1 0 3 0x100080 kqread smtpd | 88015 355995 1 0 3 0x80 select sshd | 64423 36087 26041 83 3 0x100092 poll ntpd | 26041 375668 56620 83 3 0x100092 poll ntpd | 56620 407060 1 0 3 0x100080 poll ntpd | 68758 120344 32700 74 3 0x100092 bpf pflogd | 32700 184523 1 0 3 0x80 netio pflogd | 82334 113492 52008 73 3 0x100090 kqread syslogd | 52008 285622 1 0 3 0x100082 netio syslogd | 6083 238813 49653 115 3 0x100092 kqread slaacd | 3147 164439 49653 115 3 0x100092 kqread slaacd | 49653 276238 1 0 3 0x100080 kqread slaacd | 65608 504144 1 0 3 0x10008b sigsusp sh | 42325 446469 0 0 3 0x14200 bored smr | 52136 406683 0 0 3 0x14200 pgzero zerothread | 99010 132185 0 0 3 0x14200 aiodoned aiodoned | 6956 43098 0 0 3 0x14200 syncer update | 87254 153296 0 0 3 0x14200 cleaner cleaner | 72193 377817 0 0 3 0x14200 reaper reaper | 40771 110189 0 0 3 0x14200 pgdaemon pagedaemon | 14778 507406 0 0 3 0x14200 bored crynlk | 31166 145386 0 0 3 0x14200 bored crypto | 59054 63669 0 0 3 0x14200 bored tztq | 30028 412726 0 0 3 0x14200 mmctsk sdmmc1 | 19454 314561 0 0 3 0x14200 bored sensors | 86831 353454 0 0 3 0x14200 usbtsk usbtask | 22141 193663 0 0 3 0x14200 usbatsk usbatsk | 88803 407783 0 0 3 0x14200 bored dwc2 | 65497 42556 0 0 3 0x14200 mmctsk sdmmc0 | 47352 361242 0 0 7 0x40014200 idle3 | 81300 78419 0 0 7 0x40014200 idle2 | 42612 103603 0 0 3 0x40014200 idle1 | 47179 71311 0 0 3 0x14200 bored softnet | 39629 420873 0 0 3 0x14200 bored systqmp | 2709 221597 0 0 3 0x14200 bored systq | 96146 80417 0 0 3 0x40014200 bored softclock | 67414 482976 0 0 3 0x40014200 idle0 | 49308 422693 0 0 3 0x14200 kmalloc kmthread | 1 493488 0 0 3 0x82 wait init | 0 0 -1 0 3 0x10200 scheduler swapper | | ddb{1}> dmesg | OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar 6 14:04:42 MST 2021 | [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP | real mem = 957190144 (912MB) | avail mem = 895348736 (853MB) | random: good seed from bootblocks | mainbus0 at root: Raspberry Pi 3 Model B Plus Rev 1.3 | 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 | "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, SL32G, 0080> removable | sd0: 30436MB, 512 bytes/sector, 62333952 sectors | uhub0 at usb0 configuration 1 interface 0 "Broadcom DWC2 root hub" rev 2.00/1.0 | 0 addr 1 | uhub1 at uhub0 port 1 configuration 1 interface 0 "Standard Microsystems produc | t 0x2514" rev 2.00/b.b3 addr 2 | uhub2 at uhub1 port 1 configuration 1 interface 0 "Standard Microsystems produc | t 0x2514" rev 2.00/b.b3 addr 3 | uvideo0 at uhub2 port 3 configuration 1 interface 0 "Logitech HD Pro Webcam C92 | 0" rev 2.00/0.11 addr 4 | video0 at uvideo0 | uaudio0 at uhub2 port 3 configuration 1 interface 3 "Logitech HD Pro Webcam C92 | 0" rev 2.00/0.11 addr 4 | uaudio0: class v1, high-speed, sync, channels: 0 play, 2 rec, 2 ctls | audio0 at uaudio0 | axe0 at uhub1 port 3 configuration 1 interface 0 "ASIX Elec. Corp. AX88772C" re | v 2.00/0.02 addr 5 | axe0: AX88772B, address xx:xx:xx:xx:xx:xx | ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec | 6, model 0x0008 | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | sdmmc1: bad CIS ptr 0 | sdmmc1: can't read CIS | sdmmc1: i/o init failed | bwfm0 at sdmmc1 function 1 | bwfm0: cannot enable function 1 | manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 2 not configured | manufacturer 0x02d0, product 0xa9a6 at sdmmc1 function 3 not configured | vscsi0 at root | scsibus1 at vscsi0: 256 targets | softraid0 at root | scsibus2 at softraid0: 256 targets | root on sd0a (xxx.a) swap on sd0b dump on sd0b | WARNING: CHECK AND RESET THE DATE! | gpio0 at bcmgpio0: 54 pins | panic: kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframes | < DWC2_MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1 | 308 | Stopped at panic+0x158: mov w0, w20 | TID PID UID PRFLAGS PFLAGS CPU COMMAND | 141836 98697 0 0x100003 0 0 ksh | *514141 4969 808 0 0x4000000 1K motion | 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 uvideo_vs_start_isoc+0x88 | uvideo_vs_start_isoc() at uvideo_streamon+0xd4 | uvideo_streamon() at VOP_IOCTL+0x60 | 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{1}> kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframe | s < DWC2_MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1 | 308 | ddb{1}> 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 uvideo_vs_start_isoc+0x88 | uvideo_vs_start_isoc() at uvideo_streamon+0xd4 | uvideo_streamon() 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 0x1a2e23880c | --- trap --- | ddb{1}> x0 0x1 | x1 0xffffff8025213000 | x2 0x44 $d.1+0x31 | x3 0x8 | x4 0xffffff8025aa5900 | x5 0x28 $d.1+0x15 | x6 0x180 $d.1+0x16d | x7 0xffffff8025aa5a30 | x8 0x1 | x9 0x12868edf3bfc49ae | x10 0x8 | x11 0x8 | x12 0xffffffc8 | x13 0x58 $d.1+0x45 | x14 0xffffffff | x15 0xe79932545548dc2e | x16 0x1 | x17 0x1 | x18 0xffffff8025aa5960 | x19 0xffffff8000c1e50a $d.4 | x20 0x100 $d.1+0xed | x21 0xffffff8000e0b558 kprintf_mutex | x22 0xffffff8000ee2000 pf_rule_item_pl+0x58 | x23 0xffffff8025aa59b0 | x24 0x3c00 $d.1+0x3bed | x25 0xffffff8004a97800 _end+0x3b42338 | x26 0x5 | x27 0xffffff80051da200 _end+0x4284d38 | x28 0 | x29 0xffffff8025aa5960 | x30 0 | sp 0xffffff8025aa5960 | spsr 0x60000305 | elr 0xffffff8000861450 db_enter+0x14 | lr 0xffffff8000419d30 panic+0x158 | panic+0x158: mov w0, w20 | ddb{1}> PID TID PPID UID S FLAGS WAIT COMMAND | 98697 141836 65608 0 7 0x100003 ksh | 4969 14623 1 808 3 0x80 nanoslp motion | 4969 43618 1 808 3 0x4000080 select motion | 4969 187303 1 808 3 0x4000080 select motion | * 4969 514141 1 808 7 0x4000000 motion | 32801 286761 34599 0 3 0x100083 nanoslp sleep | 34599 123171 1 0 3 0x100089 sigsusp ksh | 84317 100360 1 99 3 0x100090 poll sndiod | 73950 232867 1 110 3 0x100090 poll sndiod | 54961 338609 58439 95 3 0x100092 kqread smtpd | 56930 44274 58439 103 3 0x100092 kqread smtpd | 2395 162562 58439 95 3 0x100092 kqread smtpd | 70279 288688 58439 95 3 0x100092 kqread smtpd | 1059 188254 58439 95 3 0x100092 kqread smtpd | 63427 148933 58439 95 3 0x100092 kqread smtpd | 58439 425119 1 0 3 0x100080 kqread smtpd | 88015 355995 1 0 3 0x80 select sshd | 64423 36087 26041 83 3 0x100092 poll ntpd | 26041 375668 56620 83 3 0x100092 poll ntpd | 56620 407060 1 0 3 0x100080 poll ntpd | 68758 120344 32700 74 3 0x100092 bpf pflogd | 32700 184523 1 0 3 0x80 netio pflogd | 82334 113492 52008 73 3 0x100090 kqread syslogd | 52008 285622 1 0 3 0x100082 netio syslogd | 6083 238813 49653 115 3 0x100092 kqread slaacd | 3147 164439 49653 115 3 0x100092 kqread slaacd | 49653 276238 1 0 3 0x100080 kqread slaacd | 65608 504144 1 0 3 0x10008b sigsusp sh | 42325 446469 0 0 3 0x14200 bored smr | 52136 406683 0 0 3 0x14200 pgzero zerothread | 99010 132185 0 0 3 0x14200 aiodoned aiodoned | 6956 43098 0 0 3 0x14200 syncer update | 87254 153296 0 0 3 0x14200 cleaner cleaner | 72193 377817 0 0 3 0x14200 reaper reaper | 40771 110189 0 0 3 0x14200 pgdaemon pagedaemon | 14778 507406 0 0 3 0x14200 bored crynlk | 31166 145386 0 0 3 0x14200 bored crypto | 59054 63669 0 0 3 0x14200 bored tztq | 30028 412726 0 0 3 0x14200 mmctsk sdmmc1 | 19454 314561 0 0 3 0x14200 bored sensors | 86831 353454 0 0 3 0x14200 usbtsk usbtask | 22141 193663 0 0 3 0x14200 usbatsk usbatsk | 88803 407783 0 0 3 0x14200 bored dwc2 | 65497 42556 0 0 3 0x14200 mmctsk sdmmc0 | 47352 361242 0 0 7 0x40014200 idle3 | 81300 78419 0 0 7 0x40014200 idle2 | 42612 103603 0 0 3 0x40014200 idle1 | 47179 71311 0 0 3 0x14200 bored softnet | 39629 420873 0 0 3 0x14200 bored systqmp | 2709 221597 0 0 3 0x14200 bored systq | 96146 80417 0 0 3 0x40014200 bored softclock | 67414 482976 0 0 3 0x40014200 idle0 | 49308 422693 0 0 3 0x14200 kmalloc kmthread | 1 493488 0 0 3 0x82 wait init | 0 0 -1 0 3 0x10200 scheduler swapper | | -------------------------------------------- | 7. similar error, openbsd-bugs, 2017-06-09 | | --- from openbsd-bugs on 2017-06-09 | Subject: panic while using uvideo on arm64 (RPi3) | | panic: kernel diagnostic assertion "xfertype != UE_ISOCHRONOUS || xfer->nframes < \ | DWC2_MAXISOCPACKETS" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1306 \ | Stopped at panic+0x158: TID PID UID PRFLAGS PFLAGS CPU \ | COMMAND | *502853 41556 0 0x3 0 0 fswebcam | | | | | | -- >++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+ +++++++++++>-]<.>++[<------------>-]<+.--------------.[-] http://www.weirdnet.nl/ |
In reply to this post by Marfaba Stewart
On Mon, Mar 08, 2021 at 06:09:52PM +0000, Marfaba Stewart wrote:
> Synopsis: Raspberry Pi 3B+ panic on changing video0 permissions for motion > Category: arm > Environment: > System : OpenBSD 6.9 > Details : OpenBSD 6.9-beta (GENERIC.MP) #1056: Sat Mar > 6 14:04:42 MST 2021 > [hidden email]:/usr/src/sys/arch/arm64/compile/GENERIC.MP > > Architecture: OpenBSD.arm64 > Machine : arm64 > Description: > panic occurs when _motion has permission to access camera > How-To-Repeat: > attach Logitech webcam, chmod g+rw /dev/video0, reboot > (where _motion is in the group assigned to /dev/video0) > Fix: > unknown. If _motion's group doesn't have access, then > the panic does not occur. I've tried variations on the group, > when camera is plugged in, starting and stopping motion, etc. > I see a similar error from 2017 and am including it at the end of > this email. System always froze when trying > machine ddbcpu x (for x in 0,1,3) > > If motion should work with this camera, I can try it > on other Raspberry Pi 3B+ and/or other cameras in the > future. > > I'll number and summarize the sections I include. > > 1. output of sendbug -P. > 2. /var/run/dmesg.boot > 3. pkg_info (motion and dependencies) > 4. permissions > 5. motion messages > 6. rebooting so camera can be detected. > ddb panic, trace, registers, ps, dmesg > 7. similar error, openbsd-bugs, 2017-06-09 Does this patch make a difference? Index: sys/dev/usb/dwc2/dwc2.c =================================================================== RCS file: /cvs/src/sys/dev/usb/dwc2/dwc2.c,v retrieving revision 1.53 diff -u -p -u -p -r1.53 dwc2.c --- sys/dev/usb/dwc2/dwc2.c 28 Jan 2021 01:48:54 -0000 1.53 +++ sys/dev/usb/dwc2/dwc2.c 8 Mar 2021 21:00:15 -0000 @@ -1235,11 +1235,14 @@ dwc2_device_start(struct usbd_xfer *xfer if (!dwc2_urb) return USBD_NOMEM; + KASSERT(dwc2_urb->packet_count == xfer->nframes); memset(dwc2_urb, 0, sizeof(*dwc2_urb) + - sizeof(dwc2_urb->iso_descs[0]) * DWC2_MAXISOCPACKETS); + sizeof(dwc2_urb->iso_descs[0]) * dwc2_urb->packet_count); + + dwc2_urb->packet_count = xfer->nframes; dwc2_hcd_urb_set_pipeinfo(hsotg, dwc2_urb, addr, epnum, xfertype, dir, - mps); + mps); if (xfertype == UE_CONTROL) { dwc2_urb->setup_usbdma = &dpipe->req_dma; @@ -1267,7 +1270,6 @@ dwc2_device_start(struct usbd_xfer *xfer dwc2_urb->length = len; dwc2_urb->flags = flags; dwc2_urb->status = -EINPROGRESS; - dwc2_urb->packet_count = xfer->nframes; if (xfertype == UE_INTERRUPT || xfertype == UE_ISOCHRONOUS) { @@ -1305,7 +1307,7 @@ dwc2_device_start(struct usbd_xfer *xfer xfer->actlen = 0; KASSERT(xfertype != UE_ISOCHRONOUS || - xfer->nframes < DWC2_MAXISOCPACKETS); + xfer->nframes <= dwc2_urb->packet_count); KASSERTMSG(xfer->nframes == 0 || xfertype == UE_ISOCHRONOUS, "nframes %d xfertype %d\n", xfer->nframes, xfertype); |
On Monday, March 8, 2021 3:47 PM, Marcus Glocker <[hidden email]> wrote:>
> Does this patch make a difference? > Hi, I apologize for the dumb question, but I'm not sure how to build for the Pi; I've only built for i386 and amd64. I'm assuming I would need something more high-powered than the Pi to build. Would it be possible to build on a Pinebook Pro? If not, would you have any suggestions as to the correct hardware I should get or donate? Thank you very much. |
On 2021/03/08 23:21, Marfaba Stewart wrote:
> On Monday, March 8, 2021 3:47 PM, Marcus Glocker <[hidden email]> wrote:> > > Does this patch make a difference? > > > > Hi, I apologize for the dumb question, but I'm not sure > how to build for the Pi; I've only built for i386 > and amd64. Exactly the same way. Checkout src/sys (no need for all of src if you're only building a kernel), cd /sys/arch/arm64/compile/GENERIC or GENERIC.MP, make obj, make config, make, doas make install > I'm assuming I would need something more high-powered > than the Pi to build. Would it be possible to build > on a Pinebook Pro? > > If not, would you have any suggestions as to the > correct hardware I should get or donate? > > Thank you very much. > There's just one type of kernel used on OpenBSD/arm64, you can build on any machine type and copy it over. So yes there would be no problem building on a Pinebook Pro if you have one available. (Or Raspberry Pi 4 which is pretty quick). Same for userland software / packages / etc. There's not a general problem building on RPi3 either though (I have to say I'm surprised you've got this much running on 3B+ already, I thought the USB controller driver was in worse shape than this). |
On Monday, March 8, 2021 5:35 PM, Stuart Henderson <[hidden email]> wrote: > There's not a general problem building on RPi3 either though (I have > to say I'm surprised you've got this much running on 3B+ already, > I thought the USB controller driver was in worse shape than this). Thanks, just started checkout on the 3B+ and will also try on the Pi4 and Pinebook Pro. The axe0 usb-to-ethernet let me get the urtwn firmware for the TP-link USB wireless TL-WN823N, which seems to work perfectly. |
In reply to this post by Marcus Glocker
On Monday, March 8, 2021 3:47 PM, Marcus Glocker <[hidden email]> wrote: > Does this patch make a difference? > > Index: sys/dev/usb/dwc2/dwc2.c > very cool, it didn't take long at all to build the patched kernel. After rebooting: uhub0 at usb0 configuration 1 interface 0 "Broadcom DWC2 root hub" rev 2.00/1.00 addr 1 panic: kernel diagnostic assertion "dwc2_urb->packet_count == xfer->nframes" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1238 Stopped at panic+0x158: mov w0, w20 TID PID UID PRFLAGS PFLAGS CPU COMMAND *335639 18049 0 0x14000 0x200 0K usbtask db_enter() at panic+0x154 panic() at __assert+0x24 panic() at dwc2_device_start+0x518 dwc2_device_start() at usbd_transfer+0x154 usbd_transfer() at usbd_do_request_flags+0x168 usbd_do_request_flags() at usbd_get_desc+0x40 usbd_get_desc() at usbd_new_device+0x294 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}> show panic kernel diagnostic assertion "dwc2_urb->packet_count == xfer->nframes" failed: f ile "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1238 ddb{0}> trace db_enter() at panic+0x154 panic() at __assert+0x24 panic() at dwc2_device_start+0x518 dwc2_device_start() at usbd_transfer+0x154 usbd_transfer() at usbd_do_request_flags+0x168 usbd_do_request_flags() at usbd_get_desc+0x40 usbd_get_desc() at usbd_new_device+0x294 usbd_new_device() at uhub_port_connect+0x180 uhub_port_connect() at uhub_explore+0xe0 uhub_explore() at usb_explore+0x124 usb_explore() at usb_task_thread+0xec usb_task_thread() at proc_trampoline+0x10 ddb{0}> show registers x0 0x1 x1 0xffffff8025213000 x2 0x40 $d.1+0x2d x3 0x8 x4 0xffffff8025277a30 x5 0xffffff8000232600 _dmamap_sync x6 0xb9b61bfcda4f6223 x7 0xb9b61bfcda4f6223 x8 0x1 x9 0x74ce1a129df56ed9 x10 0x8 x11 0x8 x12 0xffffffc8 x13 0x6 x14 0xffffffff x15 0x40832055752b02bc x16 0 x17 0x1 x18 0xffffff8025277a90 x19 0xffffff8000c1d5a4 $d.4 x20 0x100 $d.1+0xed x21 0xffffff8000e026d8 kprintf_mutex x22 0xffffff8000eab000 rtpcb_pool+0x110 x23 0xffffff8025277ae0 x24 0x8 x25 0 x26 0 x27 0xffffff8004a95f80 _end+0x3b41348 x28 0x1 x29 0xffffff8025277a90 x30 0 sp 0xffffff8025277a90 spsr 0x60000305 elr 0xffffff8000377450 db_enter+0x14 lr 0xffffff800029d36c panic+0x158 panic+0x158: mov w0, w20 ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 88664 425210 0 0 3 0x14200 bored crynlk 27254 105165 0 0 3 0x14200 bored crypto 19732 77573 0 0 3 0x14200 bored tztq 65386 181990 0 0 3 0x14200 hcintr sdmmc1 50323 101641 0 0 3 0x14200 bored sensors *18049 335639 0 0 7 0x14200 usbtask 93006 370026 0 0 3 0x14200 usbatsk usbatsk 58903 336848 0 0 3 0x14200 bored dwc2 37884 260267 0 0 3 0x14200 mmctsk sdmmc0 72456 388299 0 0 1 0x14200 idle3 54895 100546 0 0 1 0x14200 idle2 60650 336070 0 0 1 0x14200 idle1 28151 15432 0 0 3 0x14200 bored softnet 83890 248860 0 0 3 0x14200 bored systqmp 97034 120580 0 0 3 0x14200 bored systq 84289 378707 0 0 3 0x40014200 bored softclock 15780 155517 0 0 3 0x40014200 idle0 54830 417921 0 0 3 0x14200 kmalloc kmthread 1 25187 0 0 3 0 initexec swapper 0 0 -1 0 3 0x10200 cfpend swapper |
On Tue, Mar 09, 2021 at 04:22:09AM +0000, Marfaba Stewart wrote:
> > On Monday, March 8, 2021 3:47 PM, Marcus Glocker <[hidden email]> wrote: > > > Does this patch make a difference? > > > > Index: sys/dev/usb/dwc2/dwc2.c > > > > very cool, it didn't take long at all to build the patched kernel. > > After rebooting: > > uhub0 at usb0 configuration 1 interface 0 "Broadcom DWC2 root hub" rev 2.00/1.00 addr 1 > panic: kernel diagnostic assertion "dwc2_urb->packet_count == xfer->nframes" failed: file "/usr/src/sys/dev/usb/dwc2/dwc2.c", line 1238 > Stopped at panic+0x158: mov w0, w20 > TID PID UID PRFLAGS PFLAGS CPU COMMAND > *335639 18049 0 0x14000 0x200 0K usbtask > db_enter() at panic+0x154 > panic() at __assert+0x24 > panic() at dwc2_device_start+0x518 > dwc2_device_start() at usbd_transfer+0x154 > usbd_transfer() at usbd_do_request_flags+0x168 > usbd_do_request_flags() at usbd_get_desc+0x40 > usbd_get_desc() at usbd_new_device+0x294 > https://www.openbsd.org/ddb.html describes the minimum info required in bug > reports. Insufficient info makes it difficult to find and fix bugs. Hmm, I was trying to sync this function with the NetBSD code, but it looks like the gap between them is too large. Since I can't test this myself here I'm afraid I can't help much with that, sorry. |
On Saturday, March 13, 2021 9:22 AM, Marcus Glocker <[hidden email]> wrote:
> Hmm, I was trying to sync this function with the NetBSD code, but it > looks like the gap between them is too large. Since I can't test this > myself here I'm afraid I can't help much with that, sorry. Thank you very much for looking into it. I'm happy I could install OpenBSD on the Pi, get wireless working, and even compile a kernel. I might try to get the camera to work on a Pinebook or Pi 4or look into attaching an IP camera and see what happens. It was also suggested that a better power supply might help, and I'll try that when it arrives. Thanks! |
On Sat, Mar 13, 2021 at 03:45:42PM +0000, Marfaba Stewart wrote:
> On Saturday, March 13, 2021 9:22 AM, Marcus Glocker <[hidden email]> wrote: > > Hmm, I was trying to sync this function with the NetBSD code, but it > > looks like the gap between them is too large. Since I can't test this > > myself here I'm afraid I can't help much with that, sorry. > > Thank you very much for looking into it. I'm happy > I could install OpenBSD on the Pi, get wireless > working, and even compile a kernel. I might try > to get the camera to work on a Pinebook or Pi 4or > look into attaching an IP camera and see what happens. > > It was also suggested that a better power supply > might help, and I'll try that when it arrives. I doubt that this has something to do with powering. Obviously something goes wrong with dwctwo(4) ISOC frames accounting ... I guess there are not so many testers for this driver who try ISOC devices :-) |
Free forum by Nabble | Edit this page |