I managed to set up the pipeline (media-ctl) as per instructions on the github readme and successfully retrieved the image from the camera using the v4l2 library.
Problems start to occur when I want to change the control parameters on the camera. Manual exposure and autofocus to be specific. I am setting these parameters using
ioctl(fd, VIDIOC_S_CTRL, &ctrl) call, where ctrl id for exposure is
V4L2_CID_EXPOSURE_AUTO and ctrl val is
V4L2_EXPOSURE_MANUAL , whereas for autofocus I use id
V4L2_CID_FOCUS_AUTO and value
0 . Both request fail, receiving -1 from ioctl. I also tried to set these parameters with
v4l2-ctl tool, but when running the command
v4l2-ctl -d /dev/video0 -c exposure_auto=0 I received
unknown control 'exposure_auto' . When listing the controls with
v4l2-ctl -d /dev/video0 --list-ctrls I get an empty response even though the query itself is successful (
VIDIOC_QUERYCAP: ok ).
Linaro linux version is 4.14.53, v4l utils version is 1.16. I’m using this ov5640.
Any suggestions what can I do?