Raspberry Pi 3B+ panic on changing video0 permissions for motion

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marfaba Stewart
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





Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Paul de Weerd
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/                 

Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marcus Glocker
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);
 

Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marfaba Stewart
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.

Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Stuart Henderson
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).

Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marfaba Stewart

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.

Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marfaba Stewart
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



Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marcus Glocker
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.

Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marfaba Stewart
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!


Reply | Threaded
Open this post in threaded view
|

Re: Raspberry Pi 3B+ panic on changing video0 permissions for motion

Marcus Glocker
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 :-)