Моя веб-камера работала как очарование, пока я не выполнил простой код Python, чтобы сделать фотографию. Я выполнил его с корневым разрешением 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
снова.
Как я должен решить проблему?
После пугающего дня наконец я узнал, что должен переустановить изображение Linux. Таким образом, я запустил синаптический и переустановил linux-image-{my kernel version}-generic
и linux-image-generic
, и перезапустите компьютер. И теперь, у меня есть веб-камера!
Для моего случая я нашел, что существует названный файл uvcvideo-blacklist.conf
в /etc/modprobe.d
. Это предотвратит uvcvideo
модуль, который будет загружен автоматически при начальной загрузке. Прокомментированный единственная строка "помещает в черный список uvcvideo" в этом файле, получит uvcvideo, автоматически загруженный при запуске.