Arducam IMX477 cameras not working on Jetson Nano - "Inappropriate ioctl for device" error

Hey everyone, I’m stuck trying to get 2 Arducam IMX477 cameras running on my Jetson Nano Developer Kit. I’ve installed the drivers following the Arducam Native Camera Quick Start Guide, but every time I try to run the ‘arducam displayer’ example it fails with an ‘Inappropriate ioctl for device’ error. Has anyone run into this before?

Sorry you’re hitting this. To narrow it down, can you share a bit more about your environment? Which Jetson board and L4T version you’re on, how many cameras are connected, and which guide you used to install the drivers?

Sure. I’m on a Jetson Nano Developer Kit with 2x Arducam IMX477 cameras connected. Drivers were installed according to the Arducam Native Camera Quick Start Guide (Quick-Start-Guide - Arducam Wiki). I also dug around and found a forum post about similar issues (IMX477 is not recognized on Jetson nano - #14 by Edward), and I used the script from that post to generate a bug report. I’ve attached it here so you can take a look: arducam-bug-report.txt

Thanks, the bug report helped. I can see what’s happening now. The arducam_displayer.py script is designed for the jetvariety series modules, so it isn’t compatible with the IMX477 camera modules. That incompatibility is exactly what triggers the ‘Inappropriate ioctl for device’ error. To access the IMX477 cameras, don’t use arducam_displayer.py. Instead, follow the dedicated IMX477 driver guide for Jetson here: MIPI_Camera/Jetson/IMX477/driver at master · ArduCAM/MIPI_Camera · GitHub

Just wanted to follow up - I followed the IMX477 driver guide and managed to capture a video with the camera, so it’s working now. Just to make sure I understand the reply correctly: arducam_displayer.py is designed for jetvariety series modules and is not compatible with the IMX477 camera modules, and for the IMX477 I should use the guide at MIPI_Camera/Jetson/IMX477/driver at master · ArduCAM/MIPI_Camera · GitHub. Is that right?

Exactly right. To summarize: arducam_displayer.py is only for the jetvariety series modules and must not be used with the IMX477 camera modules - that’s what caused the ‘Inappropriate ioctl for device’ error. For the IMX477, use the dedicated IMX477 driver guide at MIPI_Camera/Jetson/IMX477/driver at master · ArduCAM/MIPI_Camera · GitHub. Glad to hear the video capture confirmed the camera is working.