timvideos / HDMI2USB-fx2-firmware

HDMI2USB firmware for the Cypress FX2 found on the Digilent Atlys and Numato Opsis boards.
24 stars 11 forks source link

UVC non compliance - GET_DEF(PROBE) not supported #9

Open mithro opened 7 years ago

mithro commented 7 years ago

From @mithro on January 10, 2016 6:14

From @CarlFK on March 31, 2015 22:45

so that v4l2-compliance doesn't error:

$ v4l2-compliance -d /dev/video1

    fail: v4l2-test-controls.cpp(513): g_ext_ctrls worked even when no controls are present
test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL

And we don't get the note in dmesg:

[ 5188.310191] usb 2-1.3: new high-speed USB device number 7 using ehci-pci
[ 5188.403409] usb 2-1.3: New USB device found, idVendor=1d50, idProduct=60b7
[ 5188.403417] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5188.403422] usb 2-1.3: Product: HDMI2USB
[ 5188.403425] usb 2-1.3: Manufacturer: JANI
[ 5188.403900] uvcvideo: Found UVC 1.00 device HDMI2USB (1d50:60b7)
[ 5188.404196] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.

https://github.com/timvideos/HDMI2USB/blob/master/cypress/uvc.c#L94

             // case UVC_GET_DEF:
             // FIXME: Missing this case causes the following errors
             // uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.

Copied from original issue: timvideos/HDMI2USB-jahanzeb-firmware#120

Copied from original issue: timvideos/HDMI2USB-litex-firmware#148

mithro commented 7 years ago

Work to fix this problem has been done in following branch -> https://github.com/mithro/HDMI2USB-misoc-firmware/commits/fx2-refactor

It required quite a lot of rewriting the FX2 firmware.

This is also surprisingly complicated see comments at https://github.com/mithro/HDMI2USB-misoc-firmware/blob/fx2-refactor/firmware/fx2/uvc.c#L773