Webcam - Logitech C922 - question

Dave Cottlehuber dch at skunkwerks.at
Wed Mar 17 23:57:53 UTC 2021


On Wed, 17 Mar 2021, at 19:45, Bob Melson wrote:
> Has anybody out there successfully installed a Logitech C922 webcam?
> 
> I've managed to install to the point where the device is recognized by 
> pwview, and have, I think, gotten the mic (/dev/dsp3) and speaker 
> (/dev/dsp2) correctly installed/activated/recognized.  Problem is that I 
> see no video with jitsi or zoom or with the VA's telemed system - all 3 
> just work on my clever phone, but not from my freebsd desktop.  At this 
> point, I'm also not sure of mic and speaker, but they could be failing 
> because of the video failure.
> 
> If anybody out there has successfully installed either a C920 or C922 
> and has video, mic and sound working, I'd appreciate it if you could 
> post a how-to of just how you managed the trick.  I don't do frustration 
> well and need a wise head's guidance.
> 
> Thanks in advance,
> Bob Melson

hi Bob

dmesg will help (see mine below). I've got a c920 here. if you want to go through this together (maybe over irc or something) reply back privately to organise.

I don't see yours here https://wiki.freebsd.org/WebcamCompat what does dmesg report?

I have the the following, on 13.0 & 14.0-CURRENT but I'm pretty sure this will be fine on 12.2 as well without changes.

# packages

multimedia/webcamd
multimedia/pwcview
multimedia/v4l-utils
multimedia/v4l_compat (mine works without this, but its in my notes)

** no pulseaudio, sndio daemons running**

# rc.conf
kld_list="${kld_list} cuse"
webcamd_enable=YES
webcamd_user=dch
webcamd_group=webcamd
webcamd_0_flags="-N vendor-0x046d-HD-Pro-Webcam-C920 -S 7A9C9A7F"

I probably added myself to groups video operator & webcamd as well.

also, consider using firefox, the audio & mic detection works better; chrome doesn't handle this as neatly when you have multiple audio devices. in about:config for firefox, I have:

media.cubeb.backend=oss


dmesg will help.

# dmesg | grep -i webcam
[150339] ugen0.7: <vendor 0x046d HD Pro Webcam C920> at usbus0
[150339] uaudio1: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, addr 10> on usbus0

# sysctl hw.snd.verbose=2
# cat /dev/sndstat
FreeBSD Audio Driver (64bit 2009061500/amd64)
Installed devices:

####### USB speakers ######
pcm0: <USB audio> at ? kld snd_uaudio (1p:4v/0r:0v) default
	snddev flags=0x2e3<SIMPLEX,AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
	[pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010/0x00201000, flags 0x00002100, 0x00000006
	interrupts 417074, underruns 0, feed 417073, ready 0 [b:6144/3072/2|bs:4096/2048/2]
	channel flags=0x2100<BUSY,HAS_VCHAN>
	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 -> 0x00201000) -> {hardware}
	pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 48000, fmt 0x00201000/0x00200010, flags 0x10000000, 0x00000023
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:16384/2048/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00201000) -> feeder_format(0x00201000 -> 0x00200010) -> feeder_volume(0x00200010) -> {hardware}
	pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp1]: spd 8000/48000, fmt 0x00100008/0x00200010, flags 0x10000000, 0x0000006b
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:512/64/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00100008) -> feeder_format(0x00100008 -> 0x00100010) -> feeder_rate(0x00100010 q:1 8000 -> 48000) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}
	pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp2]: spd 48000, fmt 0x00201000/0x00200010, flags 0x10000000, 0x00000023
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:16384/2048/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00201000) -> feeder_format(0x00201000 -> 0x00200010) -> feeder_volume(0x00200010) -> {hardware}
	pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp3]: spd 48000, fmt 0x00100010/0x00200010, flags 0x10000000, 0x00000061
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:4096/512/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00100010) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}

####### webcam record #######

pcm1: <USB audio> at ? kld snd_uaudio (0p:0v/1r:2v)
	snddev flags=0x2e3<SIMPLEX,AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
	[pcm1:record:dsp1.r0]: spd 32000, fmt 0x00200010, flags 0x00002100, 0x00000005
	interrupts 417065, overruns 0, feed 834130, hfree 2048, sfree 2048 [b:2048/1024/2|bs:2048/1024/2]
	channel flags=0x2100<BUSY,HAS_VCHAN>
	{hardware} -> feeder_root(0x00200010) -> feeder_mixer(0x00200010) -> {userland}
	pcm1:record:dsp1.r0[pcm1:virtual:dsp1.vr0]: spd 48000/32000, fmt 0x00201000/0x00200010, flags 0x10000000, 0x0000002b
	interrupts 0, overruns 0, feed 0, hfree 0, sfree 65536 [b:0/0/0|bs:65536/512/128]
	channel flags=0x10000000<VIRTUAL>
	{hardware} -> feeder_root(0x00200010) -> feeder_format(0x00200010 -> 0x00201000) -> feeder_volume(0x00201000) -> feeder_rate(0x00201000 q:1 32000 -> 48000) -> {userland}
	pcm1:record:dsp1.r0[pcm1:virtual:dsp1.vr1]: spd 8000/32000, fmt 0x00100008/0x00200010, flags 0x10000000, 0x0000006b
	interrupts 0, overruns 0, feed 0, hfree 0, sfree 2048 [b:0/0/0|bs:2048/16/128]
	channel flags=0x10000000<VIRTUAL>
	{hardware} -> feeder_root(0x00200010) -> feeder_matrix(2.0 -> 1.0) -> feeder_volume(0x00100010) -> feeder_rate(0x00100010 q:1 32000 -> 8000) -> feeder_format(0x00100010 -> 0x00100008) -> {userland}

https://lists.freebsd.org/pipermail/freebsd-multimedia/2020-March/020164.html has some excellent resources & tips as well.

for testing, 

https://mozilla.github.io/webrtc-landing/gum_test.html
https://janus.conf.meetecho.com/echotest.html
https://test.webrtc.org/
A+
Dave


More information about the freebsd-questions mailing list