Issues configuring OV9281-B0225

Trying to use the OV9281-B0225 Rev. B (1MP OV9281 Mono Global Shutter MIPI Camera Module with M12 Mount lens for Raspberry Pi - Arducam) with Pi Zero 2W and RasPi OS lite over SSH. Running into setup problems while following Arducam setup guide, ls /dev/video0 confirms the camera is connected but trying to capture with the camera through V4L2 throws errors UNTIL libcamera-still is run (must be done after each reboot).

  1. Where did you get the camera module(s)?
    Uctronics

  2. Model number of the product(s).
    OV9281-B0225

  3. What hardware/platform were you working on?
    RPI Zero 2W and 4B

  4. Instructions you have followed. (link/manual/etc.)
    Wiki install instructions on Arducam website (OV9281 1MP Global Shutter Camera for Raspberry Pi - Arducam)

  5. Problems you were having.
    Module is detected (ls /dev/video0), but camera doesn’t respond to capture using V4L2 UNLESS libcamera-still is run first. Capture only works when quantization=full range in V4L2 format video capture; this parameter cannot be set through the terminal directly. When trying “v4l2-ctl --stream-mmap --stream-count=-1 -d /dev/video0 --stream-to=/dev/null” returns “VIDIOC_STREAMON returned -1 (Invalid argument)”

  6. The dmesg log from your hardware.
    Best way to attach?

  7. Troubleshooting attempts you’ve made.
    New ribbon cable, new Pi (changed from Zero 2W to Pi4B), new micro sd card, reformat/reinstall all software with fresh OS, tried both Pi OS full and lite, tried another camera (I ordered 2). See 5) for other steps.

  8. What help do you need?
    Need assistance configuring camera for capture without running libcamera-still. Suggestions for processing Y10P format data in python is also appreciated, thank you!

@ralsutd

You need to set config.txt

dtoverlay=ov9281,media-contoller=0

Much appreciated, thank you! Already had dtoverlay=ov9281 added but not media-controller=0. Now works as expected.