uvcvideo 已加载但 /dev/video0 不存在

vah*_*eza 6 kernel webcam drivers uvc

我的网络摄像头工作得非常顺利,直到我运行了一个简单的 Python 代码来拍照。我以 root 权限运行了它sudo python myapp.py。程序崩溃了。然后我就跑了sudo killall -9 python

从那时起,我失去了网络摄像头。如果我运行我的程序,我会收到此错误:VIDEOIO ERROR: V4L: can't find camera device。Cheese也找不到设备。

我用谷歌搜索我的问题,发现一些页面说我应该重新启用 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
Run Code Online (Sandbox Code Playgroud)

我还应该注意到,如果我重新启动计算机,在再次lsmod | grep uvc运行之前我什么也得不到sudo modprobe uvcvideo

我应该如何解决这个问题?

小智 2

就我而言,我发现有一个名为 的uvcvideo-blacklist.conf文件/etc/modprobe.d。它将阻止uvcvideo启动时自动加载模块。注释掉该文件中唯一的一行“blacklist uvcvideo”将使uvcvideo在启动时自动加载。


小智 1

确保您没有运行连接了 USB 设备的虚拟机。在这种情况下,您将看到 /dev/bus/usb 设备,但看不到 /dev/video 设备。