Diagnostics & Support Bundles
Exporting a Bundle
# Via the daemon
facecam-ctl diagnostics
# Standalone (no daemon needed)
facecam-probe diagnostics
Bundles are saved to ~/.local/share/facecam/diagnostics/facecam-diag-<timestamp>.json.
Bundle Contents
{
"generated_at": "2026-04-04T18:54:06Z",
"system": {
"hostname": "workstation",
"kernel_version": "Linux 6.17.0-20-generic ...",
"os_release": "Ubuntu 25.10",
"ubuntu_version": "25.10",
"uptime_secs": 97518
},
"device": {
"product": "Facecam",
"firmware": {"major": 4, "minor": 9},
"serial": "FW06M1A07449",
"usb_bus": 10,
"usb_speed": "Super"
},
"daemon_status": {
"state": "streaming",
"health": "healthy",
"frames_captured": 54000,
"recovery_count": 0
},
"controls": [...],
"kernel_modules": {
"uvcvideo_loaded": true,
"uvcvideo_version": "1.1.1",
"v4l2loopback_loaded": true
},
"v4l2_devices": ["/dev/video0", "/dev/video1", "/dev/video10"],
"config_files": [...]
}
What to Include in Bug Reports
- The diagnostics JSON bundle
- Output of
facecam-probe detect --format json - Output of
facecam-probe quirks --format json dmesg | grep -i "usb\|uvc\|video"(last 50 lines)facecam-harness --json fullreport if the camera is connected
Log Files
The daemon logs to stdout/stderr in JSON format (when running via systemd):
journalctl -u facecam-daemon --since "1 hour ago" --no-pager
Log fields: timestamp, level, message, and structured key-value pairs for every event.