Apple 外接显示器网络摄像头无法在 Ubuntu 20.04 上运行

Apple 外接显示器网络摄像头无法在 Ubuntu 20.04 上运行

我目前无法检测到 Apple Thunderbolt 显示器上的网络摄像头。我的设置如下:

软件:Ubuntu 20.04,内核为 5.4.0-52-generic。

硬件:联想 X1 carbon gen 7、Apple thunderbolt 3 至 thunderbolt 2 适配器、Apple thunderbolt 显示器(带网络摄像头)

在启动连接了 Apple 显示器的笔记本电脑时,我只能看到笔记本电脑的集成网络摄像头,而看不到外接显示器上的网络摄像头。终端命令v4l2-ctl --list-devices输出:

Integrated Camera: Integrated C (usb-0000:00:14.0-8):
    /dev/video0
    /dev/video1

但是,如果我从笔记本电脑上物理断开/重新连接我的雷电 3,并重复该命令v4l2-ctl --list-devices,我会看到输出:

Integrated Camera: Integrated C (usb-0000:00:14.0-8):
    /dev/video0
    /dev/video1

FaceTime HD Camera (Display): F (usb-0000:32:00.2-1.5):
    /dev/video2
    /dev/video3

因此,我的 Apple 显示器网络摄像头现已被检测到,并可与 Skype 等应用程序配合使用。我通过以下命令查看了每个网络摄像头使用的驱动程序ls -ld /sys/class/video4linux/video0/device/driver

lrwxrwxrwx 1 root root 0 Oct 31 21:10 /sys/class/video4linux/video1/device/driver -> ../../../../../../bus/usb/drivers/uvcvideo

ls -ld /sys/class/video4linux/video2/device/driver

lrwxrwxrwx 1 root root 0 Oct 31 21:52 /sys/class/video4linux/video2/device/driver -> ../../../../../../../../../../../../../../bus/usb/drivers/uvcvideo

所以看起来它们都在使用 uvcvideo 驱动程序。我尝试通过以下方式删除并添加 uvcvideo 驱动程序:modprobe -r uvcvideo && modprobe uvcvideo但没有成功。我还从这里安装了 facetimehd 驱动程序(驱动程序安装没有错误):https://github.com/patjak/bcwc_pcie,但相同症状仍然存在。

有什么想法可以让我的系统识别我的 Apple 显示器网络摄像头,而无需物理断开/重新连接我的外部显示器?

感谢您的帮助!

更新

我运行了该命令lsusb -t并得到以下输出:

  1. 笔记本电脑启动时:
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 8: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M
  1. 物理断开外接显示器后:
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 8: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
  1. 物理重新连接我的外接显示器后:
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/7p, 480M
        |__ Port 4: Dev 5, If 2, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 4: Dev 5, If 0, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 4: Dev 5, If 3, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 5, If 1, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 5: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
        |__ Port 5: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 480M
        |__ Port 5: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 7: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 8: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M

相关内容