Ubuntu 22.04.4 LTS(Predator PHN16-71)上未检测到网络摄像头

Ubuntu 22.04.4 LTS(Predator PHN16-71)上未检测到网络摄像头

我遇到了一个问题,我的 Predator PHN16-71 笔记本电脑上的 Ubuntu 22.04.4 LTS 无法识别我的内置网络摄像头。有趣的是,网络摄像头在 Windows 上正常运行,这表明存在特定于 Ubuntu 的软件或驱动程序问题。

系统详细信息:

  • 笔记本电脑型号:Predator PHN16-71
  • Ubuntu 版本:22.04.4 LTS(Jammy Jellyfish)
  • 内核版本:6.5.0-21-generic

问题描述:

系统未检测到网络摄像头;类似应用程序guvcview报告“未找到视频设备(/dev/video0)”,并且在检查目录时没有列出 /dev/video 设备。

尝试的故障排除步骤:

  • Ran lsusb,显示网络摄像头为“Quanta Computer, Inc. ACER HD User Facing”,表明系统至少在 USB 级别识别网络摄像头硬件。
  • 尝试手动加载uvcvideo模块但无法解决问题。
  • 检查dmesg | grep uvcvideo(在前面的故障排除步骤中)表明初始化设备失败,但我不确定如何处理此信息。

问题:

  1. 此内核版本(6.5.0-21-generic)和网络摄像头(特别是我的 Predator 笔记本电脑中的网络摄像头)是否存在已知的兼容性问题?
  2. 我可以采取哪些其他步骤来排除故障并解决 Ubuntu 上的网络摄像头检测问题?
  3. 这可能与缺少的驱动程序或固件有关吗?如果是,我该如何验证并修复这个问题?

我非常感激任何指导、建议或见解,因为我依靠网络摄像头来完成一些日常任务,并且不愿意为了此功能切换回 Windows。

答案1

请尝试在以下位置找到的 Bash 脚本 https://github.com/Giuliano69/uvc_driver-for-Quanta-HD-User-Facing-0x0408-​​0x4035-

它是为 Aspire Nitro5 创建的,但应该独立于硬件。它将下载并安装编译所需的系统工具和修补文件。

论坛上有讨论 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2000947

我正在积极使用它的版本 Linux Astra2A 6.5.0-18-generic #18~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 7 11:40:03 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

请在启动板上报告任何故障,以便其他用户可以帮助您,或者您可以分享您的解决方案。

巴西雷亚尔

答案2

该“Quanta Computer, Inc. ACER HD User Facing”驱动程序尚未包含在主内核中,但是它作为补丁使用

# You can't use HWE 6.5:
# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2000947/comments/124
sudo apt install linux-generic build-essential
sudo apt purge linux-image-generic-hwe-22.04
sudo apt autopurge
reboot

# From https://gist.github.com/aRmanNM/722eed098a35fa70b22063518a48c46f
git clone --depth 1 --branch v5.15 https://github.com/torvalds/linux.git
cd linux/drivers/media/usb/uvc
sed -i '/static const struct usb_device_id uvc_ids/a\
    /* Quanta ACER HD User Facing */\
    { .match_flags  = USB_DEVICE_ID_MATCH_DEVICE\
            | USB_DEVICE_ID_MATCH_INT_INFO,\
      .idVendor = 0x0408,\
      .idProduct = 0x4033,\
      .bInterfaceClass = USB_CLASS_VIDEO,\
      .bInterfaceSubClass = 1,\
      .bInterfaceProtocol = UVC_PC_PROTOCOL_15,\
      .driver_info = (kernel_ulong_t) &(const struct uvc_device_info ) { .uvc_version = 0x010a, } },' uvc_driver.c
make -j -C /lib/modules/5.15.0-97-generic/build M=$PWD modules

# rename uvcvideo.ko to uvcvideo.ko.xz if required
name=uvcvideo.ko
target=/lib/modules/5.15.0-97-generic/kernel/drivers/media/usb/uvc/"$name"
sudo dpkg-divert --divert "$x".bak "$x"
sudo cp "$name" "$target"
sudo update-initramfs -u

sudo rmmod uvcvideo
sudo modprobe uvcvideo

根据您的设备,您可能需要将 4033 更改为 4035。

相关内容