Troubleshooting
Camera Not Detected
Symptom: facecam-probe detect shows no devices.
- Check
lsusb | grep 0fd9— if nothing, the camera isn't powered - Try a different USB port and cable
- Check
dmesg | tail -20for USB errors - Verify the port is USB 3.0:
lsusb -t
USB 2.0 Fallback (PID 0x0077)
Symptom: facecam-probe detect shows USB2 FALLBACK — NOT FUNCTIONAL.
The camera is on a USB 2.0 port or using a USB 2.0 cable.
- Try a different cable — this is the #1 cause
- Move to a blue USB-A port or USB-C/Thunderbolt port
- Avoid USB hubs — connect directly to the motherboard
Black Screen in Applications
Symptom: Camera detected but apps show black video.
- Check format:
v4l2-ctl -d /dev/video0 --get-fmt-video - If using the daemon, verify v4l2loopback is loaded:
ls /dev/video10 - Check daemon status:
facecam-ctl status - Try
facecam-visualto verify the camera produces frames
EBUSY or Device Locked
Symptom: "Device or resource busy" when opening the camera.
Another process has the device open. The open/close lockup quirk may also be triggered.
- Check:
fuser /dev/video0 - Kill the holding process or use the daemon (which owns the device exclusively)
- Force reset:
facecam-ctl resetorfacecam-probewith--devicepointing to the correct node
No v4l2loopback Device
Symptom: /dev/video10 doesn't exist.
sudo modprobe v4l2loopback video_nr=10 card_label="Facecam Normalized" exclusive_caps=1
ls /dev/video10
If modprobe fails, install the DKMS package:
sudo apt-get install v4l2loopback-dkms
Chrome Can't See the Camera
Symptom: Chrome/Chromium doesn't list the camera.
- Use the v4l2loopback virtual camera, not the direct device
- Verify
exclusive_caps=1is set:cat /sys/module/v4l2loopback/parameters/exclusive_caps - The daemon must be actively streaming before Chrome will detect the device
- Try
chrome://settings/content/camerato check permissions
Daemon Enters Failed State
Symptom: facecam-ctl status shows state: failed.
The daemon exhausted its recovery attempts.
facecam-ctl reset # Try a USB reset
facecam-ctl restart # Restart the pipeline
# Or restart the whole service
sudo systemctl restart facecam-daemon
Check logs for the root cause:
journalctl -u facecam-daemon --since "5 min ago"
Poor Frame Rate
Symptom: FPS below expected, stuttering.
- Check USB bandwidth:
facecam-probe topology— verify SuperSpeed - Use MJPEG mode to reduce bandwidth:
facecam-visual --mjpeg - Avoid sharing the USB controller with other devices
- Check CPU usage — UYVY-to-RGB conversion at 1080p60 needs moderate CPU