uvcvideo 전용 블랙리스트 USB 장치 [닫기]

uvcvideo 전용 블랙리스트 USB 장치 [닫기]

저는 Gentoo를 실행하는 작은 ODROID에서 여러 개의 USB 장치를 사용하고 있습니다:

> uname
3.10.80

> lsusb
Bus 001 Device 005: ID 1b71:0056 Fushicai
Bus 001 Device 004: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
Bus 001 Device 003: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU     802.11a/b/g/n/ac WLAN Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

"Fushicai"는 이 하드웨어와 커널에서 실행되는 것으로 입증된 소형 USB 웹캠입니다. 일부 독점 소프트웨어는 "RTL2832U DVB-T"를 사용하여 항공 무선 통신을 디코딩합니다.

불행하게도 uvcvideo는 "RTL2832U DVB-T"를 잠그고 "Fushicai" 장치를 무시합니다. uvcvideo 블랙리스트 및 화이트리스트와 같은 다른 방식으로 이를 수행하도록 uvcvideo를 구성하는 방법이 있습니까?


dmesg다른 USB 장치가 연결되지 않은 상태에서 카메라를 연결한 후의 출력은 다음과 같습니다 .

[   54.790233] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[   55.043458] uvcvideo: Found UVC 1.00 device <unnamed> (0000:0000)
[   55.043470] ------------[ cut here ]------------
[   55.043486] WARNING: at drivers/media/media-device.c:375 media_device_register+0x64/0xd8()
[   55.043491] Modules linked in: snd_usbmidi_lib uvcvideo(+) snd_rawmidi snd_seq_device videobuf2_vmalloc nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables nf_conntrack_ipv6 nf_defrag_ipv6 xt_conntrack nf_conntrack ip6table_filter ip6_tables w1_gpio wire aml_gpio
[   55.043537] CPU: 3 PID: 2135 Comm: systemd-udevd Not tainted 3.10.80-odroidc1 #16
[   55.043566] [<c0014e64>] (unwind_backtrace+0x0/0xec) from [<c0011ea0>] (show_stack+0x10/0x14)
[   55.043581] [<c0011ea0>] (show_stack+0x10/0x14) from [<c002d848>] (warn_slowpath_common+0x54/0x6c)
[   55.043593] [<c002d848>] (warn_slowpath_common+0x54/0x6c) from [<c002d8fc>] (warn_slowpath_null+0x1c/0x24)
[   55.043605] [<c002d8fc>] (warn_slowpath_null+0x1c/0x24) from [<c0313708>] (media_device_register+0x64/0xd8)
[   55.043639] [<c0313708>] (media_device_register+0x64/0xd8) from [<bf07afe4>] (uvc_probe+0x4c4/0xd70 [uvcvideo])
[   55.043792] [<bf07afe4>] (uvc_probe+0x4c4/0xd70 [uvcvideo]) from [<c02dacc0>] (usb_probe_interface+0x16c/0x244)
[   55.043823] [<c02dacc0>] (usb_probe_interface+0x16c/0x244) from [<c028adfc>] (driver_probe_device+0xd4/0x21c)
[   55.043836] [<c028adfc>] (driver_probe_device+0xd4/0x21c) from [<c028aff0>] (__driver_attach+0x68/0x8c)
[   55.043851] [<c028aff0>] (__driver_attach+0x68/0x8c) from [<c02892b0>] (bus_for_each_dev+0x4c/0xa4)
[   55.043864] [<c02892b0>] (bus_for_each_dev+0x4c/0xa4) from [<c028a4e8>] (bus_add_driver+0xd0/0x258)
[   55.043877] [<c028a4e8>] (bus_add_driver+0xd0/0x258) from [<c028b60c>] (driver_register+0xa8/0x140)
[   55.043888] [<c028b60c>] (driver_register+0xa8/0x140) from [<c02d99bc>] (usb_register_driver+0x70/0x128)
[   55.043913] [<c02d99bc>] (usb_register_driver+0x70/0x128) from [<bf08c020>] (uvc_init+0x20/0x4c [uvcvideo])
[   55.043947] [<bf08c020>] (uvc_init+0x20/0x4c [uvcvideo]) from [<c0008544>] (do_one_initcall+0xa0/0x148)
[   55.043964] [<c0008544>] (do_one_initcall+0xa0/0x148) from [<c0082854>] (load_module+0xbbc/0xf78)
[   55.043978] [<c0082854>] (load_module+0xbbc/0xf78) from [<c0082d54>] (SyS_finit_module+0x60/0x70)
[   55.043991] [<c0082d54>] (SyS_finit_module+0x60/0x70) from [<c000e000>] (ret_fast_syscall+0x0/0x38)
[   55.043998] ---[ end trace e93c02068fb3ea25 ]---
[   55.044391] usbcore: registered new interface driver uvcvideo
[   55.044401] USB Video Class driver (1.1.1)
[   55.076760] 3:3:1: cannot get freq at ep 0x84
[   55.094503] usbcore: registered new interface driver snd-usb-audio

나중에 로드되는 내용은 다음과 같습니다.

Module                  Size  Used by
snd_usb_audio         121616  0
snd_hwdep               5819  1 snd_usb_audio
snd_usbmidi_lib        17238  1 snd_usb_audio
uvcvideo               70500  0
snd_rawmidi            19419  1 snd_usbmidi_lib
snd_seq_device          5968  1 snd_rawmidi
videobuf2_vmalloc       2747  1 uvcvideo
nf_conntrack_ipv4      13630  1
nf_defrag_ipv4          1310  1 nf_conntrack_ipv4
iptable_filter          1540  1
ip_tables              11650  1 iptable_filter
nf_conntrack_ipv6       8123  1
nf_defrag_ipv6         14338  1 nf_conntrack_ipv6
xt_conntrack            2899  2
nf_conntrack           81773  3 xt_conntrack,nf_conntrack_ipv4,nf_conntrack_ipv6
ip6table_filter         1489  1
ip6_tables             11914  1 ip6table_filter
w1_gpio                 3326  0
wire                   20699  1 w1_gpio
aml_gpio                7825  0

답변1

Fuji 접시를 처리 할 수 없습니다 uvcvideo. 경고가 생성되고 dmesgUSB( )를 통해 올바르게 통신할 수 없습니다 3:3:1: cannot get freq at ep 0x84. 이것은 uvcvideo의 버그이거나 Fushicai에 약간 다른 프로토콜이 필요하거나(드라이버의 "이상한" 수정 필요) Fushicai에 완전히 다른 프로토콜이 필요합니다(즉, 누군가 이에 대한 드라이버를 작성해야 함).

아카이브오류 보고서개발자에게 문의하여 uvcvideo수행 방법을 알고 있는지 확인하세요.

답변2

결과적으로 그것은 initramfs깨졌습니다. 모든 것을 처음부터 다시 구축하는 것이 성공했습니다.

관련 정보