Solved T480 Webcam not working

I reinstalled FreeBSD 12.1-RELEASE on my ThinkPad T480 and updated it to p10. In my saved configuration files, I copied my rc.conf to the new devices, loaded cuse and webcamd, everything looked fine until I loaded GNOME Cheese, which did not recognize the current devices. I fiddled with the rc.conf adding and removing the video and IR cameras, but nothing would work. After multiple reboots it would not work.

My current rc.conf section about this is this:
Code:
webcamd_enable="YES"
webcamd_0_flags="-d ugen0.3"
webcamd_1_flags="-d ugen0.2"
And still does not work. I also have cuse_load=“YES” in my /boot/loader.conf.

How would I get the webcam working?
 
Same issue here on my T480. Had it working in the past. Not sure what changed.

With cuse loaded (eg: sudo sysrc kld_list+=cuse + reboot, or sudo kldload cuse) and webcamd enabled in rc.conf ( sudo service webcamd enable) I am unable to start webcamd by means of the service command:

Code:
% sudo service webcamd start
Starting webcamd.

% sudo service webcamd status
webcamd is not running.

However when I run sudo webcamd -l I do get a list of available devices:

Code:
Available device(s):
webcamd [-d ugen0.1] -N 0x8086-XHCI-root-HUB -S unknown -M 0
webcamd [-d ugen0.6] -N Azurewave-Integrated-Camera -S 0001 -M 0
webcamd [-d ugen0.7] -N Generic-USB3-0-CRW -S 20120501030900000 -M 0
webcamd [-d ugen0.2] -N vendor-0x0451-product-0x8442 -S FE0400893CF6 -M 0
webcamd [-d ugen0.3] -N Logitech-USB-Receiver -S unknown -M 0
webcamd [-d ugen0.4] -N HID-Keyboard-HID-Keyboard -S unknown -M 0
webcamd [-d ugen0.5] -N vendor-0x0451-product-0x82ff -S FE0400893CF6 -M 0
Show webcamd usage:
webcamd -h

When I then run sudo webcamd -N Azurewave-Integrated-Camera things suddenly work:

Code:
webcamd 78577 - - Attached to ugen0.6[0]
webcamd 78577 - - Creating /dev/video0
webcamd 78577 - - Creating /dev/video1

as can be confirmed by running pwcview

So I tried setting webcamd_flags as follows:

Code:
sudo sysrc webcamd_flags="-N Azurewave-Integrated-Camera"                                                                                                   [130]
webcamd_flags:  -> -N Azurewave-Integrated-Camera

Alas, webcamd still won't start by means of sudo service webcamd start
 
When I then run sudo webcamd -N Azurewave-Integrated-Camera things suddenly work:

Your description coincides with the description in a bug report. Starting webcamd(8) from command line resolves the issue:
There is also a workaround mentioned by disabling HAL. More in the bug Description.

Apparently hald(8) is to blame here. Comment 4 linking to the bug report:
 
There is also a workaround mentioned by disabling HAL. More in the bug Description.

That did the trick. Though sudo service hald stop and sudo service hald disable were not enough. It took a reboot after disabling hald from webcamd to work again. Thank you for your suggestion!!

Note to self: look at the open issues first ;-)
 
.... however that does not seem to be the whole story.

After a reboot webcamd runs just fine. However if I try to restart it, it won't come back up, as demonstrated by:

Code:
% sudo service webcamd status
webcamd is running as pid 16618.

% sudo service webcamd restart
Stopping webcamd.
Waiting for PIDs: 16618
Starting webcamd.

% sudo service webcamd status
webcamd is not running.
 
Top