Hey everyone, I’m running into a weird issue with my Arducam AR0234 xISP Global Shutter Camera on a Jetson Orin Nano with Jetpack 6.2.
Basically, I cannot reliably get frames from the camera. Sometimes it works, but it’s super intermittent. I noticed that if I enable low_latency_mode first, it seems to work a bit more often — but still not consistent.
The really strange part: if I enable trigger mode, the image completely freezes or goes solid green. Like the whole frame just gets stuck.
Other Arducam Jetvariety cameras I have work totally fine with the same driver setup, so I don’t think it’s a general system issue. Any ideas what might be going on here?
For reference, this is the Arducam Global Shutter Camera Module with onboard ISP, 2.3MP, the one designed for Jetson Orin Nano/NX.
Thanks for the detailed report. Based on what you’re describing — intermittent frame capture, the green image when trigger mode is enabled, and general instability — this looks like a MIPI CSI-2 lane synchronization or ISP data path issue.
Here’s what I think is happening:
The AR0234 xISP camera (the one with the onboard ISP) requires a proper 4-lane MIPI CSI-2 driver with correct ISP initialization. Unlike the other Jetvariety cameras, this model specifically needs the arducam_4lane driver and its matching device tree overlay. If you’re using a 2-lane driver or the generic Jetvariety driver, you’ll see exactly the kind of unreliable behavior you’re describing.
The AR0234 xISP does NOT support external trigger mode. Even if the parameter shows up as controllable in v4l2, enabling it will cause unexpected behavior — including the green stuck frame you’re seeing.
So the path forward is: install the correct 4-lane driver and do not enable trigger mode. Can you confirm which driver you currently have installed?
Ah, that makes a lot of sense. I just checked — I do have a 2-lane driver installed from a previous setup. That explains why it works sometimes but is flaky.
I’ll go ahead and install the 4-lane driver and report back. Can you point me to the right installation steps?
Follow the “Driver Installation” section carefully. Make sure you’re selecting the 4-lane option, not the 2-lane one. Once installed, reboot the system.
After the reboot, test by capturing frames without touching any trigger mode settings. Just a basic stream or capture — don’t enable trigger at all. Let me know what you get.
Okay, I followed the instructions and got the 4-lane driver installed. After a reboot, I’m happy to report that I can now get frames reliably — the image comes through properly every time. That’s a big improvement.
However, I’m still puzzled about the trigger mode. The camera physically has exposed pins on the board, and when I run v4l2-ctl -l, trigger mode shows up as a controllable parameter. So it seems like it should be available. But when I try to enable it, same problem — image goes green and freezes.
On a related note — I’m actually looking for exposure control capabilities, and I’ve tried the ov9281 and ov2311 Jetvariety cameras before, but those rely on a software ISP and only give basic exposure control. Is there any Arducam mono camera with an onboard ISP that can do proper exposure control? The onboard ISP on the AR0234 is what attracted me to this module in the first place.
Glad the 4-lane driver sorted out the basic frame capture. On the trigger mode — I need to be clear about this: the AR0234 and the AR0234 xISP variants do not support external hardware trigger mode, regardless of what pins are exposed on the board or what parameters appear in v4l2-ctl. The parameter showing up is likely a driver-level artifact, but the ISP firmware does not implement trigger functionality. Enabling it will always cause the green stuck frame. There’s no workaround for this on this particular module.
As for your exposure control needs — the ov9281 and ov2311 Jetvariety cameras are actually your best options here, even though they use a software ISP. You can control exposure dynamically through v4l2-ctl while streaming. Here’s the approach:
First, check what exposure controls are available:
v4l2-ctl -d 0 -l
Then, while the camera is actively streaming, adjust exposure on the fly:
One important gotcha: the exposure value resets to its default every time the camera stream is started. So you can’t pre-configure it — you need to set it dynamically after the stream is already running. If you try to set it before streaming, it’ll just get overwritten.
So to summarize: the AR0234 xISP gives you the onboard ISP but no trigger support. For exposure control in a global shutter setup, the ov9281 or ov2311 with dynamic v4l2-ctl adjustment is the way to go.