uvcvideo загружен, но /dev/video0 не существует
Моя веб-камера работала как шарм, пока я не запустил простой код Python для фотографирования. Я запустил его с правами root sudo python myapp.py
, Программа вылетела. Потом я побежал sudo killall -9 python
,
С того времени я потерял свою веб-камеру. Если я запускаю свою программу, я получаю эту ошибку: VIDEOIO ERROR: V4L: can't find camera device
, Сыр не может найти устройство, а также.
Я гуглю свою проблему и нахожу на некоторых страницах сообщение о том, что мне нужно снова включить модуль uvcvideo. Я сделал это sudo modprobe -r uvcvideo && sudo modprobe uvcvideo
но проблема не решена.
Это результат некоторых моих команд:
$ lsmod | grep uvc
uvcvideo 86016 0
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_v4l2 24576 1 uvcvideo
videobuf2_core 40960 2 videobuf2_v4l2,uvcvideo
videodev 184320 3
videobuf2_core,videobuf2_v4l2,uvcvideo
media 40960 2 videodev,uvcvideo
$ sudo v4l2-ctl --list-devices
Failed to open /dev/video0: No such file or directory
Я должен также заметить, что, если я перезагружаю компьютер, я ничего не получаю от lsmod | grep uvc
пока я не бегу sudo modprobe uvcvideo
снова.
Как мне решить проблему?
2 ответа
Для моего случая я нашел файл с именем uvcvideo-blacklist.conf
в /etc/modprobe.d
, Это помешает uvcvideo
модуль загружается автоматически при загрузке. Закомментированная единственная строка "черный список uvcvideo" в этом файле будет автоматически загружать uvcvideo при запуске.
Убедитесь, что вы не используете виртуальную машину с подключенным USB-устройством. В этом случае вы увидите устройство /dev/bus/usb, но не устройство /dev/video.