내 노트북에는 Fedora에서 제대로 작동하지 않는 Intel RealSense F200 웹캠이 장착되어 있습니다. 웹캠을 시작하면 출력 이미지가 내 실루엣과 함께 녹색으로 표시됩니다. 온라인에서 검색해서 이 도서관을 찾았어요https://github.com/IntelRealSense/librealsense그런데 설치 가이드가 우분투용이라 당황스럽네요.
일부 종속성을 설치하고 uvcvideo 모듈을 로드하는 스크립트(patch-uvcvideo-fc23.sh)가 있습니다. 하지만 그 후에도 웹캠은 여전히 녹색입니다. 의 출력은 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
(scripts 폴더의 스크립트를 실행하지 말고 이전 디렉터리로 이동).
이 스크립트를 루트로 실행할 필요는 없으며 필요에 따라 sudo를 사용합니다(사용자는 sudo를 사용해야 함). 이제 컴파일되어야 합니다. 치즈는 여전히 녹색으로 보이지만 xawtv는 작동합니다.