Tegracam imx477 not working

I have followed setting in Kernel:

< > IMX185 camera sensor support                                                                                                    
<*> IMX477 camera sensor support                                                                                                    
< > IMX219 camera sensor support                                                                                                    
< > IMX268 camera sensor support                                                                                                    
< > IMX274 camera sensor support                                                                                                    
< > IMX318 camera sensor support                                                                                                    
<*> LC898212 focuser support                                                                                                        
< > OV5693 camera sensor support                                                                                                    
< > OmniVision OV9281 camera sensor support                                                                                         
< > OmniVision OV10823 camera sensor support                                                                                        
<*> OmniVision OV23850 sensor support                                                                                               
<*> nxp PCA9570 I2C IO Expander                                                                                                     
<M> Toshiba TC358840 decoder                                                                                                        
<*> Lontium LTX6911UXC HDMI to CSI bridge                                                                                           
<*> MAX9295 Serializer I2C IO Expander                                                                                              
<*> MAX9296 Deserializer I2C IO Expander                                                                                            
<*>   IMX390 camera sensor support

after installing that kernel image on jetson nano and set up with “sudo /opt/nvidia/jetson-io/jetson-io.py”, I get :

wlad@ubuntu:~$ dmesg | grep imx477
[    1.299503] imx477 7-001a: tegracam sensor driver:imx477_v2.0.6
[    1.599854] imx477 7-001a: imx477_board_setup: error during i2c read probe (-121)
[    1.607444] imx477 7-001a: board setup failed
[    1.612033] imx477: probe of 7-001a failed with error -121
[    1.612363] imx477 8-001a: tegracam sensor driver:imx477_v2.0.6
[    1.912701] imx477 8-001a: imx477_board_setup: error during i2c read probe (-121)
[    1.920310] imx477 8-001a: board setup failed
[    1.924769] imx477: probe of 8-001a failed with error -121

CAM0_PWDN and CAM1_PWDN are set to low regarding gpio-file.

my camera interface is as followed:

Can it be, that all 2 connected cams are defect?

hello waldemar.friesen,

Nano series by default detect IMX219 as camera sensor.
it looks the configuration is done by using Jetson-IO, and kernel messages is now try to detect IMX477.

may I know which JetPack release you’re using? in addition, which IMX477 camera module you’re working with?

Hello JerryChang,

I’m working with JetPack 4.6.2 and Kernel from r32_release_v7.1. On my all 4 cameras is printed “UC-698 (Rev.3)” and on carton is printed B0251.

After switching to new board the issue is still there.

is it the camera module from Arducam?
for example, https://www.arducam.com/product/arducam-high-quality-camera-for-jetson-nano-and-xavier-nx-12mp-m12-mount/

yes, it is the same string like yours.

hello waldemar.friesen,

according to the instructions, this should works with L4T R32.4.4.
please check L4T R32.4.4 archive | NVIDIA Developer and also Release Automatic installation script · ArduCAM/MIPI_Camera · GitHub to verify this camera sensor.
you may contact with sensor vendor for the supports with the latest JetPack release image.

thanks for the answer,

the sdkmanager with JetPack 4.4.1 should be in versions 1.0 or 1.1 of sdkmanager. This versions are not loadable because I can not log in. I have checked out all deb files.

can JetPack 4.4.1 still work with sdkmanager ?

hello waldemar.friesen,

no, I cannot download JetPack 4.4.1 as I’m using SDKManager with version
JetPack 4.4.1 is one old release version, you may try access JetPack SDK 4.4.1 archive | NVIDIA Developer to download the SD Card image.

Is there differences between development (A02) and production (B01) CoM regarding Camera-Interfaces?

hello waldemar.friesen,

camera interface, they’re same.
one thing you should note is that Jetson-IO doesn’t support with production modules. (i.e. with internal eMMC)

so you mean, that I can use on my custom board both versions (B01 and A02) for proper camera function. is it sure?

I have found and read followed Article: Jetson Nano B01 vs A02: Differences between the Old and New Developer Kit - Arducam

Hello Jerry Chang,

could I get the pinmux spreadsheet file with correct setting for above camera interface from you?

I have tried to change the pin but the setting is gray outed - is it okay?

could it be possible with that setting to get working camera, despite greyed out ?

hello waldemar.friesen,

the difference (B01 and A02) is newer version of carrier board to have addition camera slot.
may I know why you’re toggle the pin settings of CAM1_PWDN and CAM2_PWDN?
you should check reference driver, these two were used by camera driver as reset-gpio,
for example,
#define CAM1_PWDN TEGRA_GPIO(S, 7)
#define CAM2_PWDN TEGRA_GPIO(T, 0)

        cam_i2cmux {
                compatible = "i2c-mux-gpio";
                i2c@0 {
                        rbpcv3_imx477_a@1a {
                                reset-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
                i2c@1 {
                        rbpcv3_imx477_e@1a {
                                reset-gpios = <&gpio CAM2_PWDN GPIO_ACTIVE_HIGH>;

I thought that this would change the settings of the module pins to CAM1_* and CAM2_*. Is that wrong?

what others besides reset-gpio are involved?

Checking of reference driver only with de-compiling of dev tree possible, I think.

hello waldemar.friesen,

you may access Jetson Linux R32.7.2 Release Page | NVIDIA Developer to download [L4T Driver Package (BSP) Sources] for reference.

it is done already.

In which file should I look inside?

hello waldemar.friesen,

actually, Raspberry Pi v3, IMX477 is by default supported on Nano DevKit.
please check below two device tree sources,