我的笔记本电脑配备了英特尔实感 F200 网络摄像头,该摄像头在 Fedora 上无法正常工作,当我启动网络摄像头时,输出图像是绿色的,并带有我的剪影。我在网上搜索并找到了这个图书馆https://github.com/IntelRealSense/librealsense但由于安装指南是针对 Ubuntu 的,所以我不知所措。
有一个脚本(patch-uvcvideo-fc23.sh)可以安装一些依赖项并加载 uvcvideo 模块。但即使之后网络摄像头仍然是绿色的。的输出sudo dmesg | tail -n 50
是
332.078253] Hardware name: LENOVO 80NV/Allsparks 5A, BIOS CDCN35WW 03/29/2016
[ 332.078259] 0000000000000286 0000000015ae496a ffff88006cc27bc0 ffffffff813dbcff
[ 332.078266] ffff88006cc27c10 0000000000000000 ffff88006cc27c00 ffffffff810a740b
[ 332.078274] 0000050300000246 ffff88006cc27d88 0000000000000000 0000000000000000
[ 332.078282] Call Trace:
[ 332.078296] [<ffffffff813dbcff>] dump_stack+0x63/0x84
[ 332.078302] [<ffffffff810a740b>] __warn+0xcb/0xf0
[ 332.078309] [<ffffffff810a748f>] warn_slowpath_fmt+0x5f/0x80
[ 332.078320] [<ffffffffc119186c>] ? uvc_ioctl_enum_fmt+0x9c/0xb0 [uvcvideo]
[ 332.078334] [<ffffffffc06597d4>] v4l_enum_fmt+0xe24/0x1190 [videodev]
[ 332.078346] [<ffffffffc065a3a1>] __video_do_ioctl+0x291/0x310 [videodev]
[ 332.078351] [<ffffffff81269f14>] ? mntput+0x24/0x40
[ 332.078358] [<ffffffff81258026>] ? path_openat+0x376/0x15b0
[ 332.078384] [<ffffffffc0659e60>] video_usercopy+0x320/0x5b0 [videodev]
[ 332.078400] [<ffffffffc065a110>] ? video_ioctl2+0x20/0x20 [videodev]
[ 332.078411] [<ffffffff8125a4a5>] ? do_filp_open+0xa5/0x100
[ 332.078430] [<ffffffffc065a105>] video_ioctl2+0x15/0x20 [videodev]
[ 332.078446] [<ffffffffc06556ac>] v4l2_ioctl+0xdc/0xf0 [videodev]
[ 332.078455] [<ffffffff8125d4a3>] do_vfs_ioctl+0xa3/0x5d0
[ 332.078464] [<ffffffff8125da49>] SyS_ioctl+0x79/0x90
[ 332.078476] [<ffffffff817dd3f2>] entry_SYSCALL_64_fastpath+0x1a/0xa4
[ 332.078482] ---[ end trace 84debfce61a27ff0 ]---
[ 332.078496] ------------[ cut here ]------------
[ 332.078540] WARNING: CPU: 1 PID: 1961 at drivers/media/v4l2-core/v4l2-ioctl.c:1283 v4l_enum_fmt+0xe24/0x1190 [videodev]
[ 332.078544] Unknown pixelformat 0x00000000
[ 332.078547] Modules linked in: rfcomm ccm fuse arc4 nf_conntrack_netbios_ns nf_conntrack_broadcast ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ip_set nfnetlink ebtable_nat ebtable_broute bridge ip6table_security ip6table_raw ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle iptable_security iptable_raw iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle ebtable_filter ebtables ip6table_filter ip6_tables nvidia(POE) bnep bbswitch(OE) vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel intel_rapl x86_pkg_temp_thermal snd_hda_codec ath10k_pci coretemp kvm_intel kvm uvcvideo ath10k_core snd_hda_core snd_hwdep videobuf2_vmalloc videobuf2_memops snd_seq videobuf2_v4l2 videobuf2_core mac80211 videodev
[ 332.078622] snd_seq_device media snd_pcm btusb irqbypass hci_uart btrtl crct10dif_pclmul ath snd_timer crc32_pclmul btbcm btqca cfg80211 snd btintel ghash_clmulni_intel bluetooth soundcore i2c_i801 mei_me ideapad_laptop joydev mei sparse_keymap rfkill pinctrl_sunrisepoint shpchp pinctrl_intel intel_lpss_acpi intel_lpss tpm_crb tpm_tis acpi_pad tpm nfsd auth_rpcgss nfs_acl lockd grace sunrpc vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) i915 8021q i2c_algo_bit crc32c_intel garp drm_kms_helper stp llc mrp sdhci_pci sdhci drm r8169 serio_raw mmc_core mii wmi video i2c_hid fjes [last unloaded: nvidia]
[ 332.078710] CPU: 1 PID: 1961 Comm: AudioThread Tainted: P W OE 4.6.3-300.fc24.x86_64 #1
[ 332.078714] Hardware name: LENOVO 80NV/Allsparks 5A, BIOS CDCN35WW 03/29/2016
[ 332.078717] 0000000000000286 0000000015ae496a ffff88006cc27bc0 ffffffff813dbcff
[ 332.078722] ffff88006cc27c10 0000000000000000 ffff88006cc27c00 ffffffff810a740b
[ 332.078727] 0000050300000246 ffff88006cc27d88 0000000000000000 0000000000000000
[ 332.078733] Call Trace:
[ 332.078745] [<ffffffff813dbcff>] dump_stack+0x63/0x84
[ 332.078754] [<ffffffff810a740b>] __warn+0xcb/0xf0
[ 332.078763] [<ffffffff810a748f>] warn_slowpath_fmt+0x5f/0x80
[ 332.078777] [<ffffffffc119186c>] ? uvc_ioctl_enum_fmt+0x9c/0xb0 [uvcvideo]
[ 332.078797] [<ffffffffc06597d4>] v4l_enum_fmt+0xe24/0x1190 [videodev]
[ 332.078817] [<ffffffffc065a3a1>] __video_do_ioctl+0x291/0x310 [videodev]
[ 332.078826] [<ffffffff81269f14>] ? mntput+0x24/0x40
[ 332.078834] [<ffffffff81258026>] ? path_openat+0x376/0x15b0
[ 332.078851] [<ffffffffc0659e60>] video_usercopy+0x320/0x5b0 [videodev]
[ 332.078868] [<ffffffffc065a110>] ? video_ioctl2+0x20/0x20 [videodev]
[ 332.078877] [<ffffffff8125a4a5>] ? do_filp_open+0xa5/0x100
[ 332.078895] [<ffffffffc065a105>] video_ioctl2+0x15/0x20 [videodev]
[ 332.078909] [<ffffffffc06556ac>] v4l2_ioctl+0xdc/0xf0 [videodev]
[ 332.078918] [<ffffffff8125d4a3>] do_vfs_ioctl+0xa3/0x5d0
[ 332.078926] [<ffffffff8125da49>] SyS_ioctl+0x79/0x90
[ 332.078934] [<ffffffff817dd3f2>] entry_SYSCALL_64_fastpath+0x1a/0xa4
有没有办法让网络摄像头在这个系统上工作?
答案1
不是一个解决方案,但也许这对某人有帮助。 Fedora 25 还需要以下内容才能正确编译:
dnf install numactl-devel pesign
videodev2.h 的补丁失败。打开文件 realsense-camera-formats.path,从第 152 行删除到文件末尾,添加以下内容并保存文件:
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index a0e87d1..7e00be4 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
629a630,647
> #define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
> #define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
> #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
> #define V4L2_PIX_FMT_Y8 v4l2_fourcc('Y', '8', ' ', ' ') /* Greyscale 8-bit */
> #define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* Greyscale 10-bit */
> #define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* Greyscale 12-bit */
> #define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* Greyscale 16-bit */
> #define V4L2_PIX_FMT_RAW8 v4l2_fourcc('R', 'A', 'W', '8') /* Raw data 8-bit */
> #define V4L2_PIX_FMT_RW16 v4l2_fourcc('R', 'W', '1', '6') /* Raw data 16-bit */
> #define V4L2_PIX_FMT_INVZ v4l2_fourcc('I', 'N', 'V', 'Z') /* 16 Depth */
> #define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* 24 Depth/IR 16:8 */
> #define V4L2_PIX_FMT_INVR v4l2_fourcc('I', 'N', 'V', 'R') /* 16 Depth */
> #define V4L2_PIX_FMT_INRI v4l2_fourcc('I', 'N', 'R', 'I') /* 24 Depth/IR 16:8 */
> #define V4L2_PIX_FMT_INVI v4l2_fourcc('I', 'N', 'V', 'I') /* 8 IR */
> #define V4L2_PIX_FMT_RELI v4l2_fourcc('R', 'E', 'L', 'I') /* 8 IR alternating on off illumination */
>
>
>
现在转到 librealsense 文件夹并运行scripts/patch-uvcvideo-fc23.sh
(不要在脚本文件夹中运行脚本,转到上一个目录)。
您不需要以 root 身份运行该脚本,它将根据需要使用 sudo(您的用户将需要使用 sudo)。现在应该可以编译了。奶酪对我来说仍然显示为绿色,但 xawtv 可以工作。