V4L2 exposes the property but OpenCV cannot access it

using a Logitech C922 and need to disable auto exposure, I have tried several recommendations found in here, like writing 0, 1, 3, even 0.25 and 0.75, I am trying in 2 host, on my MacBook Pro and in a beagle bone Black, on MacOs it tries to write the property but when reading it back it always returns 0, however in BeagleBone it returns -1 and returns an error VIDEOIO ERROR: V4L2: getting property #21 is not supported (CAP_PROP_AUTO_EXPOSURE resolves to 21)

when querying camera data using V4L2 I get the following:

debian@beaglebone:~$ v4l2-ctl --list-ctrls -d 0
                     brightness (int)    : min=0 max=255 step=1 default=128 value=128
                       contrast (int)    : min=0 max=255 step=1 default=128 value=128
                     saturation (int)    : min=0 max=255 step=1 default=128 value=128
 white_balance_temperature_auto (bool)   : default=1 value=1
                           gain (int)    : min=0 max=255 step=1 default=0 value=0
           power_line_frequency (menu)   : min=0 max=2 default=2 value=2
      white_balance_temperature (int)    : min=2000 max=6500 step=1 default=4000 value=4000 flags=inactive
                      sharpness (int)    : min=0 max=255 step=1 default=128 value=128
         backlight_compensation (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto (menu)   : min=0 max=3 default=3 value=3
              exposure_absolute (int)    : min=3 max=2047 step=1 default=250 value=250 flags=inactive
         exposure_auto_priority (bool)   : default=0 value=1
                   pan_absolute (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                  tilt_absolute (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                 focus_absolute (int)    : min=0 max=250 step=5 default=0 value=0 flags=inactive
                     focus_auto (bool)   : default=1 value=1
                  zoom_absolute (int)    : min=100 max=500 step=1 default=100 value=100

So the property exist and its there but for some reason OpenCV cannot access it, I have OpenCV 4.7

yes, this might require digging into OpenCV’s source and adding a bit of code for this property.

undeclared crosspost: