Troubleshooting attempts you’ve made?
Both RPi cameras v2 (imx219) and v3 (imx708) works like a charm but not Arducam B0181. System recognized them imx219 and creates devices but that’s about it.
Hi @Pupi
Thanks for the detailed post. You’ve done some excellent troubleshooting steps.
You’re right–the dmesg logs confirm that your Jetson correctly identified the IMX219 sensor on the camera. This is the expected first step.
The key difference with the B0181 model is its autofocus capability. While the standard Jetson driver can see the sensor, it doesn’t have the built-in ability to control the focus motor. For that, you need to use our dedicated Python scripts.
You can find everything you need in our GitHub repository:
Please try running the FocuserExample.py script. It is designed to initialize the camera and give you control over the autofocus. The commands should be:
Thanks for feedback. Sorry I was not clear enough. The B0181 camera doesn’t work at all. Here is output from FocuserExample
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3280 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3280 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 4
Output Stream W = 1280 H = 720
seconds to Run = 0
Frame Rate = 59.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:734 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:245 (propagating)
[ WARN:[email protected]] global cap_gstreamer.cpp:1728 open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
Exception in thread :
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/home/poopi/Projects/MIPI_Camera/Jetson/IMX219/JetsonCamera.py", line 92, in run
cv2.imshow(self.window_name, self.camera.getFrame(2000))
cv2.error: OpenCV(4.8.0) /home/ubuntu/opencv_build/opencv/modules/highgui/src/window.cpp:971: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'
Traceback (most recent call last):
File "/usr/lib/python3.10/curses/__init__.py", line 78, in wrapper
cbreak()
_curses.error: cbreak() returned ERR
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/poopi/Projects/MIPI_Camera/Jetson/IMX219/FocuserExample.py", line 193, in <module>
main()
File "/home/poopi/Projects/MIPI_Camera/Jetson/IMX219/FocuserExample.py", line 185, in main
curses.wrapper(draw_menu, camera, args.i2c_bus)
File "/usr/lib/python3.10/curses/__init__.py", line 100, in wrapper
nocbreak()
_curses.error: nocbreak() returned ERR
terminate called without an active exception
Please ignore. It seems that the sensor on my board is faulty. I replaced a B0181 board sensor with a sensor from Pi v2 camera and camera has been properly recognized.