# sysrc rc_debug=YES rc_debug: NO -> YES # service webcamd status /usr/local/etc/rc.d/webcamd: DEBUG: checkyesno: webcamd_enable is set to YES. /usr/local/etc/rc.d/webcamd: DEBUG: run_rc_command: doit: webcamd_status webcamd is running as pid 2025. # service webcamd stop /usr/local/etc/rc.d/webcamd: DEBUG: checkyesno: webcamd_enable is set to YES. /usr/local/etc/rc.d/webcamd: DEBUG: run_rc_command: doit: webcamd_stop Stopping webcamd. Waiting for PIDs: 2025 # service webcamd status /usr/local/etc/rc.d/webcamd: DEBUG: checkyesno: webcamd_enable is set to YES. /usr/local/etc/rc.d/webcamd: DEBUG: run_rc_command: doit: webcamd_status webcamd is not running. # service webcamd start /usr/local/etc/rc.d/webcamd: DEBUG: checkyesno: webcamd_enable is set to YES. /usr/local/etc/rc.d/webcamd: DEBUG: run_rc_command: doit: webcamd_start /usr/local/etc/rc.d/webcamd: DEBUG: checkyesno: hald_enable is set to YES. Starting webcamd. # service webcamd status /usr/local/etc/rc.d/webcamd: DEBUG: checkyesno: webcamd_enable is set to YES. /usr/local/etc/rc.d/webcamd: DEBUG: run_rc_command: doit: webcamd_status webcamd is not running. # service webcamd status /usr/local/etc/rc.d/webcamd: DEBUG: checkyesno: webcamd_enable is set to YES. /usr/local/etc/rc.d/webcamd: DEBUG: run_rc_command: doit: webcamd_status webcamd is not running. # grep -i cuse /boot/loader.conf cuse_load="YES" # grep -i cuse /etc/rc.conf kld_list="cuse fusefs drm" # grep -i webcam /etc/rc.conf webcamd_enable="YES" webcamd_flags="-H" # date ; uptime ; uname -v Thu Dec 24 07:00:03 GMT 2020 7:00AM up 3:20, 5 users, load averages: 2.02, 2.35, 2.49 FreeBSD 13.0-CURRENT #74 r368589: Sun Dec 13 07:55:46 GMT 2020 root@mowa219-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG # service hald status /usr/local/etc/rc.d/hald: DEBUG: checkyesno: hald_enable is set to YES. hald is running as pid 7756. # lsusb | sort Bus /dev/usb Device /dev/ugen0.1: ID 0000:0000 Bus /dev/usb Device /dev/ugen0.2: ID 0424:5434 Microchip Technology, Inc. (formerly SMSC) Hub Bus /dev/usb Device /dev/ugen0.3: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button) Bus /dev/usb Device /dev/ugen0.4: ID 03f0:354a HP, Inc Slim Keyboard Bus /dev/usb Device /dev/ugen0.6: ID 0424:5434 Microchip Technology, Inc. (formerly SMSC) Hub Bus /dev/usb Device /dev/ugen0.7: ID 174c:5106 ASMedia Technology Inc. ASM1051 SATA 3Gb/s bridge Bus /dev/usb Device /dev/ugen0.8: ID 1038:1229 SteelSeries ApS Bus /dev/usb Device /dev/ugen1.1: ID 0000:0000 Bus /dev/usb Device /dev/ugen1.2: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus /dev/usb Device /dev/ugen1.3: ID 04f2:b230 Chicony Electronics Co., Ltd Integrated HP HD Webcam Bus /dev/usb Device /dev/ugen1.4: ID 0424:2514 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub Bus /dev/usb Device /dev/ugen1.5: ID 041e:4041 Creative Technology, Ltd Webcam Live! Motion Bus /dev/usb Device /dev/ugen1.6: ID 03f0:3d1d HP, Inc Bus /dev/usb Device /dev/ugen2.1: ID 0000:0000 Bus /dev/usb Device /dev/ugen2.2: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus /dev/usb Device /dev/ugen2.3: ID 0a5c:21e1 Broadcom Corp. HP Portable SoftSailing # service virtual_oss onestatus /usr/local/etc/rc.d/virtual_oss: DEBUG: checkyesno: virtual_oss_enable is set to YES. /usr/local/etc/rc.d/virtual_oss: DEBUG: run_rc_command: doit: virtual_oss_status virtual_oss is not running. #
Does any of this help? ---- # date Thu Dec 24 08:51:35 GMT 2020 # sysrc rc_debug=NO rc_debug: YES -> NO # service webcamd status webcamd is not running. # ls -hl /var/run/webcamd.*.0.pid -rw------- 1 root wheel 5B Dec 24 08:47 /var/run/webcamd.1.3.0.pid # rm /var/run/webcamd.*.0.pid # service webcamd status webcamd is not running. # service webcamd start Starting webcamd. # service webcamd status webcamd is not running. # rm /var/run/webcamd.*.0.pid rm: /var/run/webcamd.*.0.pid: No such file or directory # kldstat | grep cuse 65 1 0xffffffff83b6d000 6730 cuse.ko # kldunload cuse # kldload cuse # kldstat | grep cuse 65 1 0xffffffff83b6d000 6730 cuse.ko # kldunload cuse # kldstat | grep cuse # kldload cuse # kldstat | grep cuse 65 1 0xffffffff83b6d000 6730 cuse.ko # service webcamd status webcamd is not running. # service webcamd start Starting webcamd. # service webcamd status webcamd is not running. # ls -hl /var/run/webcamd.*.0.pid ls: /var/run/webcamd.*.0.pid: No such file or directory # webcamd -l | sort Available device(s): Show webcamd usage: webcamd -h webcamd [-d ugen0.1] -N 0x8086-XHCI-root-HUB -S unknown -M 0 webcamd [-d ugen0.2] -N vendor-0x0424-product-0x5434 -S unknown -M 0 webcamd [-d ugen0.3] -N Logitech-USB-Trackball -S unknown -M 0 webcamd [-d ugen0.4] -N vendor-0x03f0-HP-USB-Slim-Keyboard -S unknown -M 0 webcamd [-d ugen0.6] -N SMSC-USB5534 -S 1239567 -M 0 webcamd [-d ugen0.7] -N StoreJet-Transcend-StoreJet-Transcend -S X3E1SAKRS -M 0 webcamd [-d ugen0.8] -N SteelSeries-SteelSeries-Siberia-350 -S unknown -M 0 webcamd [-d ugen1.1] -N Intel-EHCI-root-HUB -S unknown -M 1 webcamd [-d ugen1.2] -N vendor-0x8087-product-0x0024 -S unknown -M 0 webcamd [-d ugen1.3] -N Chicony-Electronics-Co---Ltd--HP-HD-Webcam-Fixed -S SN0001 -M 0 webcamd [-d ugen1.4] -N vendor-0x0424-product-0x2514 -S unknown -M 0 webcamd [-d ugen1.6] -N HP-HP-hs2350-HSPA--MobileBroadband -S 9F5C9DB7AE4197M0 -M 0 webcamd [-d ugen2.1] -N Intel-EHCI-root-HUB -S unknown -M 0 webcamd [-d ugen2.2] -N vendor-0x8087-product-0x0024 -S unknown -M 1 webcamd [-d ugen2.3] -N Broadcom-Corp-BCM20702A0 -S B8763FD8EF34 -M 0 # webcamd -N Chicony-Electronics-Co---Ltd--HP-HD-Webcam-Fixed -S SN0001 -M 0 alloc_chrdev_region: Unknown region name: 'lirc' webcamd 37259 - - Attached to ugen1.3[0] webcamd 37259 - - Creating /dev/video0 webcamd 37259 - - Creating /dev/video1 ^C # ls -hl /var/run/webcamd.*.0.pid -rw------- 1 root wheel 5B Dec 24 08:54 /var/run/webcamd.1.3.0.pid # rm /var/run/webcamd.*.0.pid # service webcamd status webcamd is not running. # service webcamd start Starting webcamd. # service webcamd status webcamd is not running. # webcamd -N Chicony-Electronics-Co---Ltd--HP-HD-Webcam-Fixed -S SN0001 -M 0 alloc_chrdev_region: Unknown region name: 'lirc' webcamd 37408 - - Attached to ugen1.3[0] webcamd 37408 - - Creating /dev/video0 webcamd 37408 - - Creating /dev/video1 ^C^C^C^C^C load: 1.42 cmd: webcamd 37408 [W] 63.14r 0.07u 0.15s 0% 10152k mi_switch+0xc1 sleepq_timedwait+0x2f _sleep+0x1ab pause_sbt+0xfe cuse_server_free+0x3c devfs_fpdrop+0xa3 devfs_close_f+0x44 _fdrop+0x11 closef+0x278 fdescfree_fds+0xdc fdescfree+0x3ec exit1+0x42b sigexit+0x133 postsig+0x251 ast+0x337 doreti_ast+0x1f # ---- During the second manual run of webcamd I confirmed usability in Firefox at https://talky.io/usb-audio-freebsd and (I guess this is normal) Control-C was not effective until I closed the tab in Firefox.
Created attachment 220889 [details] Photograph of ttyv1 after leaving KDE Plasma and stopping sddm Photographed ============ I left KDE Plasma, stopped sddm then retried a start of the service: * webcamd did not run. After restarting the computer: webcamd ran normally. Not photographed ================ I restarted the computer, refrained from using KDE, stopped sddm, stopped the service, tried to start the service: * webcamd did not run. After restarting the computer: webcamd ran normally.
What does: pgrep -d ' ' webcamd Output? --HPS
It might be that webcamd has crashed. Do you have any "webcamd.core" files in your file system? --HPS
Try to compile the webcamd port with debugging enabled. Then start webcamd in the foreground (should also be picked up by the rc.d script's status). Try to see if a core dump may be generated. --HPS
$ whoami grahamperrin $ pwd /home/grahamperrin $ ls -hl *.core -rw------- 1 grahamperrin grahamperrin 41M 24 Dec 03:38 kglobalaccel5.core $ ls -hl /root/*.core ls: /root/*.core: No such file or directory $ su - Password: root@mowa219-gjp4-8570p:~ # pgrep -d ' ' webcamd root@mowa219-gjp4-8570p:~ # (In reply to Hans Petter Selasky from comment #5) Thanks, I'll try that: ---- root@mowa219-gjp4-8570p:~ # sh # cd /usr/local/poudriere/ports/default/multimedia/webcamd/ # ls -hl total 23 -rw-r--r-- 1 root wheel 2.6K Dec 2 17:27 Makefile -rw-r--r-- 1 root wheel 376B Dec 2 17:27 distinfo drwxr-xr-x 2 root wheel 4B Dec 3 05:54 files -rw-r--r-- 1 root wheel 377B Dec 2 11:29 pkg-descr -rw-r--r-- 1 root wheel 554B Nov 30 2019 pkg-message -rw-r--r-- 1 root wheel 1.3K May 12 2014 pkg-plist # grep -i debug Makefile OPTIONS_DEFINE= DEBUG HAL VT_CLIENT VT_SERVER DVB INPUT KEYBOARD MOUSE RADIO WEBCAM DEBUG_MAKE_ARGS= HAVE_DEBUG="YES" # ---- – should I create a Makefile.local and if so, what should it contain?
Just enable the debug option before compiling.
(In reply to Hans Petter Selasky from comment #7) I added this to the Makefile before building with poudriere: MAKE_ARGS+= DEBUG="YES" I'm probably wrong. Sorry for my lack of expertise.
I think I now have it built with debugging support. This in /etc/make.conf – WITH_DEBUG_PORTS=webcamd – before I built with poudriere. No core dump when I run this: # webcamd -N Chicony-Electronics-Co---Ltd--HP-HD-Webcam-Fixed -S SN0001 -M 0 alloc_chrdev_region: Unknown region name: 'lirc' webcamd 75412 - - Attached to ugen1.3[0] webcamd 75412 - - Creating /dev/video0 webcamd 75412 - - Creating /dev/video1 ^C #
I see recent <https://svnweb.freebsd.org/ports?view=revision&revision=559567> relating to kld, cuse(3) and virtual_oss … … is that, in any way, food for thought for this webcamd bug? Thanks
In /usr/local/etc/rc.d/webcamd it says: # By default webcamd instances are invoked by the devd(8) system # daemon and you do not normally need to do any extra configuration # just restart the devd service. If the devd service is not enabled, # you need to add instances of "webcamd_N_flags=" which contain at # least one of the "-d", "-D", "-N", or "-S" options. If one wants to start a webcamd directly for a specific device, that device would have to be specified: service webcamd start ugen1.3 Does this help? -- Martin
Isn't webcamd supposed to be started by devd? /usr/local/etc/devd/webcamd.conf
This morning: Webcams with FreeBSD-CURRENT and an HP EliteBook 8570p : freebsd <https://old.reddit.com/r/freebsd/comments/lgpsmv/-/> tl;dr * the Microsoft webcam that certainly works (with Linux) does not work with FreeBSD at <https://webcamtests.com/> * webcamd crashed. Realistically: until I get a webcam working, again, with FreeBSD, it might be difficult for me progress this bug. Sorry!
root@mowa219-gjp4-8570p:~ # service -e /etc/rc.d/rctl /etc/rc.d/hostid /etc/rc.d/zpool /etc/rc.d/zvol /etc/rc.d/hostid_save /etc/rc.d/zfsbe /etc/rc.d/zfs /etc/rc.d/cleanvar /etc/rc.d/ip6addrctl /usr/local/etc/rc.d/vboxnet /etc/rc.d/autounmountd /etc/rc.d/mixer /etc/rc.d/devmatch /etc/rc.d/netif /etc/rc.d/devd /etc/rc.d/resolv /usr/local/etc/rc.d/sndiod /etc/rc.d/dmesg /etc/rc.d/newsyslog /etc/rc.d/os-release /etc/rc.d/gptboot /etc/rc.d/motd /etc/rc.d/virecover /etc/rc.d/cleartmp /etc/rc.d/linux /etc/rc.d/syslogd /etc/rc.d/savecore /etc/rc.d/automountd /etc/rc.d/automount /etc/rc.d/powerd /usr/local/etc/rc.d/dbus /usr/local/etc/rc.d/webcamd /etc/rc.d/ntpd /usr/local/etc/rc.d/cupsd /etc/rc.d/cron /usr/local/etc/rc.d/bsdstats /etc/rc.d/sshd /usr/local/etc/rc.d/sddm /etc/rc.d/bgfsck /etc/rc.d/sendmail root@mowa219-gjp4-8570p:~ #
Which version of webcamd are you using? Can you open the core dump with GDB from ports, and get the crashing backtrace? Try also building webcamd with DEBUG option. --HPS
On another note, daemons that discard privileges do not dump the core. We need to change the location to writable directory in /etc/sysctl.conf where we want the core to be dumped. I have set the following full course :). kern.corefile=/tmp/%N.%U.%P.%I.core The % substitution is explained in core(5) manpage.
(In reply to Hans Petter Selasky from comment #15) Thanks, I don't recall seeing a core file. If there was one, I might have removed it (sorry). I have this in my /etc/make.conf WITH_DEBUG_PORTS=webcamd – but I haven't installed from ports recently. % pkg query '%o %v %R' webcamd multimedia/webcamd 5.10.6.0_1 FreeBSD % pkg info webcamd | grep stalled Installed on : Tue Feb 9 01:06:28 2021 GMT % I'll build and install now but I might not find time to retest until later in the week, or the weekend. In the meantime, <https://old.reddit.com/r/freebsd/comments/lgpsmv/webcams_with_freebsdcurrent_and_an_hp_elitebook/gmssxev/> does the observation of bsdsisks using 100% CPU offer any clue?
(In reply to Graham Perrin from comment #17) I felt that WITH_DEBUG_PORTS had to be written like WITH_DEBUG_PORTS=multimedia/webcamd . More simply, WITH_DEBUG=yes all ports are built for debugging.
This morning, Feb 11 11:12:53 mowa219-gjp4-8570p kernel: ugen0.4: <Creative Technology Ltd. Creative WebCam Live Motion> at usbus0 Feb 11 11:12:54 mowa219-gjp4-8570p kernel: pid 8586 (webcamd), jid 0, uid 0: exited on signal 10 (core dumped) I found the dumps, % ls -hl /*.core -rw------- 1 root wheel 67M 3 Feb 06:29 /bsdisks.core -rw------- 1 root wheel 12M 11 Feb 11:12 /webcamd.core % – but nothing useful in the latter: root@mowa219-gjp4-8570p:/ # gdb attach /webcamd.core GNU gdb (GDB) 10.1 [GDB v10.1 for FreeBSD] Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-portbld-freebsd14.0". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... attach: No such file or directory. [New LWP 102249] [New LWP 107804] [New LWP 107805] [New LWP 107806] [New LWP 107807] [New LWP 107808] Core was generated by `/usr/local/sbin/webcamd -i 0 -d ugen0.4 -H -B -U webcamd -G webcamd'. Program terminated with signal SIGBUS, Bus error. #0 0x00000000005b7a90 in ?? () [Current thread is 1 (LWP 102249)] (gdb) bt #0 0x00000000005b7a90 in ?? () #1 0x0000000000000001 in ?? () #2 0x00000000000000d8 in ?? () #3 0x0000000000000000 in ?? () (gdb) q (In reply to Tatsuki Makino from comment #18) > WITH_DEBUG_PORTS=multimedia/webcamd Thanks, I updated my /etc/make.conf then rebuilt and reinstalled. ---- root@mowa219-gjp4-8570p:/ # service webcamd start Starting webcamd. root@mowa219-gjp4-8570p:/ # service webcamd status webcamd is not running. root@mowa219-gjp4-8570p:/ # – I'll restart the computer and maybe get another crash of webcamd.
Please install the GDB from ports and use that gdb instead. Repeat. Thank you! --HPS
(In reply to Hans Petter Selasky from comment #20) My apologies for this bug languishing. ---- A side note, as background: my use of cameras on FreeBSD became almost non-existent, because the primary use case is Microsoft Teams – and audio in Chromium was (for me) useless. More recently <https://forums.freebsd.org/posts/558170> there's hope of useful audio, so I'm close to regaining enthusiasm and headspace for this bug report.
I wonder if this issue is a duplicate of a bug that was fixed in webcamd recently: multimedia/webcamd: Update version to 5.13.2.8 - Fix use-before-init memory bug in UVC driver. Sorry, no PR. Regarding chrome and teams I needed to install virtual_oss and recompile chrome with ALSA backend support. Else the audio goes bad :-) --HPS