我遇到了一个问题,我的 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
(在前面的故障排除步骤中)表明初始化设备失败,但我不确定如何处理此信息。
问题:
- 此内核版本(6.5.0-21-generic)和网络摄像头(特别是我的 Predator 笔记本电脑中的网络摄像头)是否存在已知的兼容性问题?
- 我可以采取哪些其他步骤来排除故障并解决 Ubuntu 上的网络摄像头检测问题?
- 这可能与缺少的驱动程序或固件有关吗?如果是,我该如何验证并修复这个问题?
我非常感激任何指导、建议或见解,因为我依靠网络摄像头来完成一些日常任务,并且不愿意为了此功能切换回 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。