Я пробую новую веб-камеру на рабочей станции, к которой до сих пор не было подключено устройств видеозахвата. Это должно быть plug-and-play, но ни одна из программ не может найти камеру после подключения.
Сначала я проверил, идентифицирует ли само ядро камеру:
$ лсусб
[...]
Шина 001 Устройство 007: ID 046d:082d Веб-камера Logitech, Inc. HD Pro C920
[...]
Итак, камера есть, она должна быть программной. Проверка подключенных устройств с видео для Linux дает еще одну подсказку:
$ v4l2-ctl --список-устройств
Не удается открыть устройство /dev/video0, выход.
Похоже, модуль ядра был отключен, поэтому я попытался запустить его:
$ sudo modprobe v4l2loopback
modprobe: FATAL: модуль v4l2loopback не найден в каталоге /lib/modules/5.4.0-81-generic
Странно, модуль даже не установился. Затем я вытащил его из пакетов и попробовал еще раз:
$ sudo aptitude установить v4l2loopback-dkms
[...]
$ sudo modprobe v4l2loopback
modprobe: ОШИБКА: не удалось вставить «v4l2loopback»: неизвестный символ в модуле или неизвестный параметр (см. dmesg)
И вот что я нашел среди сообщений:
$ dmesg
[...]
[1271004.074955] v4l2loopback: Неизвестный символ video_ioctl2 (ошибка -2)
[1271004.075027] v4l2loopback: неизвестный символ v4l2_ctrl_handler_init_class (ошибка -2)
[1271004.075105] v4l2loopback: Неизвестный символ video_devdata (ошибка -2)
[1271004.075167] v4l2loopback: неизвестный символ v4l2_ctrl_new_custom (ошибка -2)
[1271004.075221] v4l2loopback: Неизвестный символ video_unregister_device (ошибка -2)
[1271004.075276] v4l2loopback: Неизвестный символ video_device_alloc (ошибка -2)
[1271004.075336] v4l2loopback: неизвестный символ v4l2_device_register (ошибка -2)
[1271004.075410] v4l2loopback: неизвестный символ __video_register_device (ошибка -2)
[1271004.075463] v4l2loopback: неизвестный символ v4l2_ctrl_handler_free (ошибка -2)
[1271004.075513] v4l2loopback: неизвестный символ v4l2_device_unregister (ошибка -2)
[1271004.075562] v4l2loopback: неизвестный символ video_device_release (ошибка -2)
Я считаю, что это означает, что некоторые программные зависимости отсутствуют. Но какой? Есть обсуждение на GitHub в контексте облака, но решение слишком общее (установите все доступные дополнительные модули пакета).