最后更新:我在没有启动操作系统的情况下运行了一些硬件测试,似乎这是一个纯粹的硬件问题(一些内部连接可能断开了),因此这个问题现在是关闭
每当我启动cheese
(或类似程序)时,网络摄像头上的灯就会亮,但没有发回任何图像。
我的硬件是 Dell Inspiron 14-3442,软件是 Kubuntu 20.04
以下是一些命令的输出:
lsusb
Bus 001 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 004: ID 8087:07dc Intel Corp.
Bus 001 Device 003: ID 0c45:670b Microdia
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 24ae:2010 RAPOO Rapoo 2.4G Wireless Device
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我猜想那0c45:670b
是相机,但似乎自 2.x 时代以来内核就已经支持它了。
详细输出 ( lsusb -v
)这里
dmesg | grep usb
这篇文章有点长,所以我把它贴出来这里
如果需要更多信息,请询问我。
更新 #1 lspci
::
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
06:00.0 Network controller: Intel Corporation Wireless 3160 (rev 83)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 07)
08:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev a1)
更新 #2:我搜索了谷歌告诉我的几乎所有驱动程序数据库,没有一个包括我的型号。但这是一台 2018 年的笔记本电脑,不是那么古老,那么为什么我找不到任何事物关于它?
更新 #3:dmesg | grep -i video
[ 0.138785] ACPI: Added _OSI(Linux-Dell-Video)
[ 0.319659] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[ 0.951453] videodev: Linux video capture interface: v2.00
[ 1.068811] ACPI: Video Device [PEGP] (multi-head: yes rom: yes post: no)
[ 1.069045] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:08/LNXVIDEO:00/input/input7
[ 1.116118] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 1.116337] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input13
[ 6.009940] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD (0c45:670b)
[ 6.064805] usbcore: registered new interface driver uvcvideo
[ 6.064806] USB Video Class driver (1.1.1)
答案1
许多设备访问问题可以通过组成员身份变更来解决。
具体来说,如果ls -l
显示组权限(第二个“ rwx
”三元组)为“ rw
”(例如“ -rw-rw----
”),那么将自己添加到拥有该设备的组将授予rw
访问权限。
就是这样:
device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)
这允许您成为可以使用该设备的组的成员rw
,但还有一个步骤。
要使所有进程成为新组的成员,请注销并登录。组成员资格是按时设置的login
。
要在新组中创建单个进程(用于测试,在注销/登录之前):
newgrp $(stat -c "%G" $device)
或者,只需键入组名。请参阅man newgrp
。