# No Camera Available IMX477 Arducam on Xaviernx

**URL:** <https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819>\
**Category:** Jetson Xavier NX\
**Tags:** camera\
**Created:** [June 21, 2025, 10:32am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819 "2025-06-21T10:32:54Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [June 21, 2025, 10:32am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/1 "2025-06-21T10:32:54Z")

</div>

@ShaneCCC I am using XavierNX Emmc module with jetpack version 5.1.5 with Arducam IMX477 Camera. When I try to stream it shows “No Camera Available”.

I modilfied the dtb file and flashed the SOM. Have a look to my dtb file attached below. And kinldy help me to solve this issue.  
[tegra194-p3668-0001-p3509-0000.txt](https://forums.developer.nvidia.com/uploads/short-url/iwqbkRVBIcsnTL7dXNDck5tFMkd.txt) (401.9 KB)

Here is the pipeline i used for streaming:  
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! “video/x-raw(memory:NVMM),width=1920,height=1080,framerate=60/1,format=NV12” ! nvvidconv ! nvv4l2h264enc bitrate=2000000 control-rate=1 ! h264parse ! rtph264pay ! queue ! udpsink host=192.168.55.100 port=4000 sync=false

Terminal output:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! “video/x-raw(memory:NVMM),width=1920,height=1080,framerate=60/1,format=NV12” ! nvvidconv ! nvv4l2h264enc bitrate=2000000 control-rate=1 ! h264parse ! rtph264pay ! queue ! udpsink host=192.168.55.100 port=4000 sync=false  
Setting pipeline to PAUSED …  
Opening in BLOCKING MODE  
Pipeline is live and does not need PREROLL …  
Setting pipeline to PLAYING …  
New clock: GstSystemClock  
Error generated. /dvs/git/dirty/git-master\_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:780 No cameras available  
Redistribute latency…  
NvMMLiteOpen : Block : BlockType = 4  
===== NvVideo: NVENC =====  
NvMMLiteBlockCreate : Block : BlockType = 4  
Got EOS from element “pipeline0”.  
Execution ended after 0:00:00.027053739  
Setting pipeline to NULL …  
Freeing pipeline …

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![ShaneCCC](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/shaneccc/32/14043_2.png) [@ShaneCCC](https://forums.developer.nvidia.com/u/ShaneCCC)\
**Post date:** [June 22, 2025, 4:08pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/2 "2025-06-22T16:08:05Z")

</div>

Check the devname = “imx477 9-001a” in tegra-camera-platform{} is match query by v4l2-ctl --all

---

<div class="post-metadata">

**Author:** ![ShaneCCC](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/shaneccc/32/14043_2.png) [@ShaneCCC](https://forums.developer.nvidia.com/u/ShaneCCC)\
**Post date:** [June 23, 2025, 11:47am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/4 "2025-06-23T11:47:27Z")

</div>

The name should be “imx477 \*-001a” instead of below.

> [@Sunim\_1](#):
>
> Card type : vi-output, 13e10000.host1x:nvcs

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [June 23, 2025, 11:59am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/5 "2025-06-23T11:59:27Z")

</div>

How can I ensure the IMX477 driver is loaded or triggered properly?

### Current Status:

- I2C device `0x1a` **is visible** on bus 9 (`i2cdetect -y -r 9` confirms).
- DT node is correctly at `/proc/device-tree/cam_i2cmux/i2c@0/rbpcv3_imx477_a@1a`.
- DTB `devname = "imx477 9-001a"` is correctly set.
- Kernel logs (`dmesg | grep imx477`) show **no probe or registration messages**.

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [June 24, 2025, 1:02pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/7 "2025-06-24T13:02:23Z")

</div>

Kinldy have a look once to my device tree file I shared and let me know the areas where I need to make any changes required.

Thanks.

---

<div class="post-metadata">

**Author:** ![proventusnova](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/proventusnova/32/423584_2.png) [@proventusnova](https://forums.developer.nvidia.com/u/proventusnova)\
**Post date:** [June 24, 2025, 3:46pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/8 "2025-06-24T15:46:40Z")

</div>

Hello @Sunim_1,

How is everything going?

Would it be possible for you to share the output of the following command?

```auto
dmesg | grep imx

```

Notice we are groping only imx instead of imx477 hoping that maybe a different driver is loading.

best regards,  
Andrew  
Embedded Software Engineer at ProventusNova

> **[Go From Broken Jetson Builds to Production-Ready AI](https://proventusnova.com/get-expert-nvidia-jetson-support/)**
>
> We fix real NVIDIA Jetson issues: Board bringup, driver development, CUDA errors, flashing failures, containers, and performance bottlenecks. Hands-on engineering support for teams shipping hardware.

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [June 25, 2025, 5:26am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/9 "2025-06-25T05:26:15Z")

</div>

Here is the updated terminal output:

i2cdetect -l  
i2c-3 i2c 3190000.i2c I2C adapter  
i2c-10 i2c i2c-2-mux (chan\_id 1) I2C adapter  
i2c-1 i2c c240000.i2c I2C adapter  
i2c-101 i2c 15210000.display I2C adapter  
i2c-8 i2c 31e0000.i2c I2C adapter  
i2c-6 i2c 31c0000.i2c I2C adapter  
i2c-4 i2c Tegra BPMP I2C adapter I2C adapter  
i2c-11 i2c i2c-2-mux (chan\_id 2) I2C adapter  
i2c-2 i2c 3180000.i2c I2C adapter  
i2c-0 i2c 3160000.i2c I2C adapter  
i2c-9 i2c i2c-2-mux (chan\_id 0) I2C adapter  
i2c-7 i2c c250000.i2c I2C adapter  
i2c-5 i2c 31b0000.i2c I2C adapter  
i2c-12 i2c i2c-2-mux (chan\_id 3) I2C adapter

cat /sys/class/video4linux/video\*/name  
vi-output, imx477 9-001a  
vi-output, imx477 10-001a  
vi-output, imx477 11-001a  
vi-output, imx477 12-001a

ls /dev/video\*  
/dev/video0 /dev/video1 /dev/video2 /dev/video3

sudo dmesg | grep imx

[11.531452] imx477 9-001a: tegracam sensor driver:imx477\_v2.0.6  
[11.836724] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx477 9-001a bound  
[11.841049] imx477 10-001a: tegracam sensor driver:imx477\_v2.0.6  
[12.143029] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx477 10-001a bound  
[12.144909] imx477 11-001a: tegracam sensor driver:imx477\_v2.0.6  
[12.445696] imx477 11-001a: imx477\_board\_setup: invalid sensor model id: 77  
[12.446554] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx477 11-001a bound  
[12.454621] imx477 12-001a: tegracam sensor driver:imx477\_v2.0.6  
[12.755430] imx477 12-001a: imx477\_board\_setup: invalid sensor model id: 77  
[12.762919] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx477 12-001a bound

I have connected 4 cameras having same sensor imx477 arducam out of which two is working now but rest two cameras is not streaming.

Kinldy help me to debug this issue.  
I have attahced the terminal output for help.

Also I have shared my dtb file. Kinldy have a look and help me with some additional changes required.  
[my\_dtb.txt](https://forums.developer.nvidia.com/uploads/short-url/3ZOqAqjUTDDyoeO4k9y4Jeb7Rka.txt) (388.4 KB)

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![proventusnova](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/proventusnova/32/423584_2.png) [@proventusnova](https://forums.developer.nvidia.com/u/proventusnova)\
**Post date:** [June 25, 2025, 1:49pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/10 "2025-06-25T13:49:09Z")

</div>

Hello @Sunim_1,

Great to hear you managed to get 2 cameras working.

One aspect that catches my eye from the output logs you shared is that sensors on buses 11 and 12 show the following error message:

```auto
imx477 11-001a: imx477_board_setup: invalid sensor model id: 77

```

and

```auto
 imx477 12-001a: imx477_board_setup: invalid sensor model id: 77

```

Which means that the driver is probing the sensor, is being able to interact with it through i2c, it reads the sensor model id from the sensor register table, then it compares the model id agains an expected value, but the value that the sensor returned seems to not match what is expected.

Are you sure you are using 4 of the exact same camera modules?

I would suggest you add some debug messages into the camera driver code so you can print the model id from all sensors and see what the 2 sensors that are working properly show.

best regards,  
Andrew  
Embedded Software Engineer at ProventusNova

> **[Go From Broken Jetson Builds to Production-Ready AI](https://proventusnova.com/get-expert-nvidia-jetson-support/)**
>
> We fix real NVIDIA Jetson issues: Board bringup, driver development, CUDA errors, flashing failures, containers, and performance bottlenecks. Hands-on engineering support for teams shipping hardware.

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [June 26, 2025, 5:41am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/11 "2025-06-26T05:41:57Z")

</div>

I hope you’re doing well. I wanted to clarify my current hardware and test setup to avoid any confusion.

🔹 **Objective** :  
I am testing **4 IMX477 cameras** , connected to **different CSI ports** , on our **custom carrier board** designed for Jetson Xavier NX.

🔹 **Current Status** :

- I am **not using any I2C multiplexer (MUX)** in this test.
- All cameras are connected directly to **separate CSI lanes** and **separate I2C buses**.
- I am **enabling only one camera at a time** in the device tree (by setting the correct `status = "okay"` and others to `"disabled"`).
- The goal is to **validate each camera independently** , before moving to simultaneous multi-camera operation.

---

<div class="post-metadata">

**Author:** ![proventusnova](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/proventusnova/32/423584_2.png) [@proventusnova](https://forums.developer.nvidia.com/u/proventusnova)\
**Post date:** [June 26, 2025, 1:33pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/12 "2025-06-26T13:33:41Z")

</div>

Hello @Sunim_1,

Thanks for the clarification.

Just so we can better understand the current status.

1. Have you been able to verify 1 camera at the time successfully ?

2. If you are experiencing issues with some of the cameras, how would you describe them?

3. What exact problem is currently blocking you?

best regards,  
Andrew  
Embedded Software Engineer at ProventusNova

> **[Go From Broken Jetson Builds to Production-Ready AI](https://proventusnova.com/get-expert-nvidia-jetson-support/)**
>
> We fix real NVIDIA Jetson issues: Board bringup, driver development, CUDA errors, flashing failures, containers, and performance bottlenecks. Hands-on engineering support for teams shipping hardware.

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [July 1, 2025, 11:39am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/13 "2025-07-01T11:39:37Z")

</div>

1. Issue Description (Multi-Camera)

I’ve connected four IMX477 cameras, each to its own CSI port:

```
CSI-A → working

CSI-C → working

CSI-E → connected but returns invalid sensor model id: 77

CSI-G → connected but returns invalid sensor model id: 77

```

i2cdetect confirms that all 4 sensors respond at address 0x1a, and the drivers bind to them, but cameras on CSI-E and CSI-G fail at model ID read.

Logs:

imx477 11-001a: imx477\_board\_setup: invalid sensor model id: 77  
imx477 12-001a: imx477\_board\_setup: invalid sensor model id: 77

1. Current Blocking Issue

The issue seems to occur only on CSI-E and CSI-G. I suspect it could be related to:

```
CSI interface configuration (e.g., lane swizzling, wrong tegra_sinterface)

Power/reset sequencing

Mux channel mapping or delay

Physical routing on the custom carrier board (currently under verification).

```

I’ve reviewed the DTS configuration and noticed that my current cam\_i2cmux uses only one GPIO in the mux-gpios entry:

cam\_i2cmux {  
compatible = “i2c-mux-gpio”;  
mux-gpios = \<0x0d 0x13 0x00\>; // Only 1 GPIO line  
…  
};

Given that I am trying to use 4 I2C channels (i2c@0 to i2c@3) to support 4 camera modules, I suspect that using only one GPIO for mux selection may be insufficient (since 1 GPIO can only select 2 states).

Could this be the root cause for why cameras on i2c@2 and i2c@3 fail to probe correctly with invalid sensor model id: 77?

### **Help Needed**

Could you please help me validate:

1. Are additional CSI port configurations needed for CSI-E and CSI-G in Xavier NX?
2. Is there anything specific I should modify in the DTS for these ports?
3. Is `lane_polarity` needed for CSI-E/G in custom boards?
4. Any known limitations or debug recommendations for 4-camera IMX477 setups?

---

<div class="post-metadata">

**Author:** ![proventusnova](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/proventusnova/32/423584_2.png) [@proventusnova](https://forums.developer.nvidia.com/u/proventusnova)\
**Post date:** [July 1, 2025, 2:52pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/14 "2025-07-01T14:52:16Z")

</div>

Hello @Sunim_1,

I would say the answer to all your questions from 1 through 3, would be that it depends on your custom carrier board design. Since all the device tree does is describing your HW to the firmware running on the board so that it can interact with all the devices successfully.

We would suggest you run the following tests:

1. Interchange the cameras working on CSi-A and CSI-C with the ones on CSI-E and CSI-G just so you can verify is not the modules. We would not expect this to be the issue, but is always good to rule out possible causes.

2. Try interacting with the camera modules through i2c-tools manually. For instance, you can try reading the Model Id with `i2cget`. This will allow you to debug i2c configuration without having to debug the whole DTB at once.

At this time, your biggest issue is i2c communication with 2 of the 4 sensors, therefore, focusing on CSI configuration might not be necessary for now. You need to focus on i2c, the i2cmux config and start by trying to read the registers from the camera modules with manual commands.

Out of experience we know this is a difficult issue to solve, however, with the HW and its documentation it should be a matter of isolating the correct part of the system to debug and focusing on one small part of the problem at the time.

Please keep us posted and don’t hesitate to reach out if you require further assistance.

best regards,  
Andrew  
Embedded Software Engineer at ProventusNova

> **[Go From Broken Jetson Builds to Production-Ready AI](https://proventusnova.com/get-expert-nvidia-jetson-support/)**
>
> We fix real NVIDIA Jetson issues: Board bringup, driver development, CUDA errors, flashing failures, containers, and performance bottlenecks. Hands-on engineering support for teams shipping hardware.

---

<div class="post-metadata">

**Author:** ![ShaneCCC](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/shaneccc/32/14043_2.png) [@ShaneCCC](https://forums.developer.nvidia.com/u/ShaneCCC)\
**Post date:** [July 1, 2025, 3:51pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/15 "2025-07-01T15:51:57Z")

</div>

One GPIO only able support two i2c slave device.  
You may need two GPIO for GPIO mux or use i2c mux chip to extend your i2c slave devices.

[https://www.kernel.org/doc/Documentation/devicetree/bindings/mux/gpio-mux.txt](https://www.kernel.org/doc/Documentation/devicetree/bindings/mux/gpio-mux.txt)

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [July 2, 2025, 12:40pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/16 "2025-07-02T12:40:40Z")

</div>

@ShaneCCC @proventusnova Platform: Jetson Xavier NX (JetPack 5.1.5)  
Camera: Sony IMX477 x4  
I2C Mux: GPIO-based mux using i2c-mux-gpio (2 GPIOs)  
Device Tree: mux-gpios = \<0x0d 0x13 0x00 0x0d 0x14 0x00\>; with i2c-parent = \<0x2b7\>;  
✅ What’s Working:

```
All 4 camera nodes are properly defined in the DTS under 4 mux channels.

I2C communication works; confirmed using manual read:

```

sudo i2cget -y 11 0x1a 0x16 # → 0x04  
sudo i2cget -y 11 0x1a 0x17 # → 0x77  
sudo i2cget -y 12 0x1a 0x16 # → 0x04  
sudo i2cget -y 12 0x1a 0x17 # → 0x77

GPIOs for the mux show proper export and direction:

```
gpio-320 (PCC.03 |mux) out hi
gpio-321 (PCC.04 |mux) out hi

```

❌ What’s Failing:

```
Cameras on i2c@2 and i2c@3 (i.e., mux channels 2 and 3) return:

imx477 11-001a: imx477_board_setup: invalid sensor model id: 77
imx477 12-001a: imx477_board_setup: invalid sensor model id: 77

```

📌 Tried Fixes Based on Previous Feedback:

```
Added a second mux GPIO.

Verified sensor ID manually after unbinding driver — both return correct ID 0x0477.

Added i2c-mux-idle-disconnect; in DTS under cam_i2cmux.

Added nvidia,probe-delay-ms = <100>; to each sensor node.

```

Request for Help:

Even though I2C access is successful and both failing cameras return valid sensor IDs when accessed manually, the kernel driver fails during probe with invalid sensor model id: 77.

Can you help identify:

```
Why the driver probe fails despite valid manual reads?

Whether any additional timing, synchronization, or mux GPIO toggling behavior must be handled manually?

Any known limitations of i2c-mux-gpio with imx477 on Xavier NX?

```

I have shared my dts file here. Review once.

[dts\_file.txt](https://forums.developer.nvidia.com/uploads/short-url/93mMPffk6CrsgB2Q149LzPZEE26.txt) (388.8 KB)

---

<div class="post-metadata">

**Author:** ![proventusnova](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/proventusnova/32/423584_2.png) [@proventusnova](https://forums.developer.nvidia.com/u/proventusnova)\
**Post date:** [July 2, 2025, 1:36pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/17 "2025-07-02T13:36:20Z")

</div>

Hello @Sunim_1,

Thanks for all the details you provided, they are very helpful.

Quick question.

What is the result from manually reading Model ID from the 2 sensors that do work?

best regards,  
Andrew  
Embedded Software Engineer at ProventusNova

> **[Go From Broken Jetson Builds to Production-Ready AI](https://proventusnova.com/get-expert-nvidia-jetson-support/)**
>
> We fix real NVIDIA Jetson issues: Board bringup, driver development, CUDA errors, flashing failures, containers, and performance bottlenecks. Hands-on engineering support for teams shipping hardware.

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [July 2, 2025, 1:52pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/18 "2025-07-02T13:52:20Z")

</div>

sudo i2cget -y 11 0x1a 0x16

0x04

sudo i2cget -y 11 0x1a 0x17

0x77

sudo i2cget -y 12 0x1a 0x16

0x04

sudo i2cget -y 12 0x1a 0x17

0x77

All 4 sensor gives the result as above.

---

<div class="post-metadata">

**Author:** ![proventusnova](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/proventusnova/32/423584_2.png) [@proventusnova](https://forums.developer.nvidia.com/u/proventusnova)\
**Post date:** [July 2, 2025, 2:12pm UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/19 "2025-07-02T14:12:14Z")

</div>

Thanks.

Hmmm yeah, that is interesting.  
Because is the same Sensor ID on all camera modules.

Do you happen to have the camera driver source code handy? I would like to take a look at where that error is being printed so we can better understand what is it that the driver wants and what it is actually getting.

best regards,  
Andrew  
Embedded Software Engineer at ProventusNova

> **[Go From Broken Jetson Builds to Production-Ready AI](https://proventusnova.com/get-expert-nvidia-jetson-support/)**
>
> We fix real NVIDIA Jetson issues: Board bringup, driver development, CUDA errors, flashing failures, containers, and performance bottlenecks. Hands-on engineering support for teams shipping hardware.

---

<div class="post-metadata">

**Author:** ![ShaneCCC](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/shaneccc/32/14043_2.png) [@ShaneCCC](https://forums.developer.nvidia.com/u/ShaneCCC)\
**Post date:** [July 3, 2025, 5:26am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/20 "2025-07-03T05:26:27Z")

</div>

You should print those checking in kernel driver to root out why show the invalid id.

---

<div class="post-metadata">

**Author:** ![Sunim\_1](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Sunim\_1](https://forums.developer.nvidia.com/u/Sunim_1)\
**Post date:** [July 3, 2025, 5:43am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/21 "2025-07-03T05:43:04Z")

</div>

@proventusnova @ShaneCCC  
Following up on our discussion — I found the IMX477 driver at:

kernel/nvidia/drivers/media/i2c/nv\_imx477.c

In the imx477\_board\_setup() function, the error is coming from the model ID probe:

err = imx477\_read\_reg(s\_data, IMX477\_MODEL\_ID\_ADDR\_MSB, &reg\_val[0]);  
err = imx477\_read\_reg(s\_data, IMX477\_MODEL\_ID\_ADDR\_LSB, &reg\_val[1]);

if (!((reg\_val[0] == 0x00) && reg\_val[1] == 0x00))  
dev\_err(dev, “%s: invalid sensor model id: %x%x\n”, **func** , reg\_val[0], reg\_val[1]);

What I’ve Observed:

```
I’m using 4 IMX477 sensors via I2C mux.

All devices are detected: /dev/video0 to /dev/video3.

Two cameras (channels 0 & 1) are working fine.

Two others (channels 2 & 3) report invalid sensor model ID (0x0477), even though I confirmed via i2cget:

```

# For channel 2 (i2c-11)

sudo i2cget -y 11 0x1a 0x16 =\> 0x04  
sudo i2cget -y 11 0x1a 0x17 =\> 0x77

# For channel 3 (i2c-12)

sudo i2cget -y 12 0x1a 0x16 =\> 0x04  
sudo i2cget -y 12 0x1a 0x17 =\> 0x77

So the correct sensor ID 0x0477 is present, but the driver still reports:

imx477\_board\_setup: invalid sensor model id: 477

My Question:

```
It seems the current driver is checking for 0x0000 as the valid sensor ID. Is this expected?

Shouldn’t the driver be checking for 0x0477 instead?

Can you confirm what the correct expected sensor ID is, and whether I need to patch this check in nv_imx477.c?

```

---

<div class="post-metadata">

**Author:** ![ShaneCCC](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/shaneccc/32/14043_2.png) [@ShaneCCC](https://forums.developer.nvidia.com/u/ShaneCCC)\
**Post date:** [July 3, 2025, 6:12am UTC](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819/22 "2025-07-03T06:12:54Z")

</div>

This checking is weird. Could you print the reg\_val[0-1]

> [@Sunim\_1](#):
>
> if (!((reg\_val[0] == 0x00) && reg\_val[1] == 0x00))  
> dev\_err(dev, “%s: invalid sensor model id: %x%x\n”, **func** , reg\_val[0], reg\_val[1]);

[Next page](https://forums.developer.nvidia.com/t/no-camera-available-imx477-arducam-on-xaviernx/336819.md?page=2)
