我首先在 StackOverflow 上发布了这个问题。我得到了提示,将其发布在这里并提供更多信息。所以这是更新后的问题。
原始问题:
我尝试将 USB 网络摄像头直接连接到运行 Linux 的计算机。但是网络摄像头没有被检测到。如果我运行 lsusb,只会显示“Linux Foundation root hub”而没有设备。为了测试,我将一个有 4 个端口的被动 USB 集线器连接到我的计算机,并将网络摄像头连接到集线器。令人惊讶的是,网络摄像头显示在 lsusb 中。
为什么我的电脑只能通过被动 USB 集线器检测网络摄像头,而不能直接检测?两者的区别在哪里?如何修复此问题?
附加信息:
它是一个 USB 2.0 集线器,连接了 USB 2.0 网络摄像头。
当网络摄像头通过集线器连接到计算机时,lsusb 输出:
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 046d:082b Logitech, Inc.
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
当网络摄像头直接连接到计算机时 lsusb 输出:
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
当网络摄像头直接连接到计算机时,dmesg 不会显示任何特殊内容。
附加信息#2:
如果我将网络摄像头直接连接到计算机,它会保持稳定。但如果我通过被动 USB 集线器连接网络摄像头,计算机就会关闭(显然是因为它会在一瞬间消耗太多电量)。但计算机再次启动后,它会显示我的网络摄像头。
“计算机”是 Next Thing Co. 的一款芯片,只有一个 USB 端口。我通过 ssh 终端无头控制它。
亲切的问候