IMX185 Camera not showing up under /dev/video with Jetpack 3.1

I’ve tried a Leopard Imaging JETSON-KIT-IMX185 on two different Jetson TX2’s that were flashed with Jetpack 3.1, but neither of them work. There isn’t anything under /dev/video, and I don’t see anything related to the IMX185 under dmesg.

The TX2 kits both work fine with the OV5693, but not the IMX185.

Any hints on how to troubleshoot this.

I have been in contact with Leopard Imaging, and my setup matches exactly what they have that works as far as I can tell.

I looked in the DTB, but I didn’t see anything obvious.

Both sides of the cables look good, and are inserted all the way. The board from Leopard imaging is seated all the way, and in the correct spot.

My understanding is Jetpack 3.1/R28.1 should work by default with the IMX185.
leopard_185.txt (63.3 KB)
BootMessages_IMX185.txt (90.6 KB)
BootMessages_OV5693.txt (86 KB)
i2c_detect.txt (4.61 KB)
DTB-Extracted.zip (85.9 KB)

hello jason.mecham,

yes, Jetpack 3.1/R28.1 should work by default with the IMX185.
could you please share the whole kernel message during kernel initialize.
you’re able to upload the attachment by edit your comment, using the pin icon at top-right to upload the attachment.

moreover, is your Jetson board connected to any other device?
if yes, please keep only imx185 sensor board connected and try again.
thanks

I have two different Jetson TX2’s that I’ve tried the camera on.

One of them uses an SSD as the rootfs, and the other one doesn’t have anything attached to it.

Neither of them show the camera under /dev/video

I’ve also tried multiple IMX185 camera’s, and multiple MIPI adapter boards so it’s definitely not a hardware issue.

FYI - I’ve attached the kernel message on the original post, but it seems to be stuck on "[SCANNING… PLEASE WAIT].

hello s4wrxttcs1,

there’s no sensor probing message shown at your kernel logs.
seems like the same issue as below, could you please take a try to replace the cboot.bin.
thanks

https://devtalk.nvidia.com/default/topic/1019986/jetson-tx1/getting-errors-in-using-onboard-camera-jetpack-3-1-/post/5203796/#5203796

Is the cboot.bin that’s attached within that thread valid for the TX2?

If so is the following valid for the TX2?

sudo ./flash.sh -r -k EBT jetson-tx2 mmcblk0p1

I don’t really understand this issue because the kit camera (OV5693) works fine on both units.

hello s4wrxttcs1,

do you have chance to capture the bootloader message via serial port?

I’ve attached two log files to the first message.

The two log files consist of the entire serial output from boot up to power off. One of the files is for the OV5693 which works, and the other is the IMX185 that doesn’t work.

The Jetson TX2 doesn’t have anything else attached to it aside from a small hub for the keyboard/mouse, and a small SSD for the rootfs.

hello s4wrxttcs1,

i’ve check the serial logs.
could you please share the revision number of the adaptation board and imx185 sensor module.
also, could you please using i2c tools to ack your imx185 devices?
thanks

The adaption board is revision 1.2
The IMX185 Sensor Module is V1.1

I’ll post the i2c tool output as soon as I remember how to do it. It’s been awhile since I tested it, but that is something I should have tried.

I’ve attached the i2cdetect log to the first message. This is with the IMX185 attached on J1 of the adapter board.

I used i2cdetect on each I2C bus (0 through 8). I’m not sure which one the sensor is on or which address the IMX185 uses.

If I remove the IMX185 plus the adapter board then I don’t get any devices detected on bus 2.

With the IMX185 Sensor and the Adapter board there was a response from address 0x54 and address 0x70.

hello s4wrxttcs1,

could you please have a try to disable the plugin manager?
share the kernel change as below, you should rebuild and update the DTB partition to make it active.
thanks

index 7c4ed93..a356612 100644
--- a/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts
+++ b/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts
@@ -24,7 +24,8 @@
 #include <t18x-common-modules/tegra186-super-module-e2614-p2597-1000-a00.dtsi>
 #include <t18x-common-plugin-manager/tegra186-quill-display-plugin-manager.dtsi>
 #include <t18x-common-prod/tegra186-priv-quill-p3310-1000-a00-prod.dtsi>
-#include <t18x-common-plugin-manager/tegra186-quill-camera-plugin-manager.dtsi>
+//#include <t18x-common-plugin-manager/tegra186-quill-camera-plugin-manager.dtsi>
+#include <t18x-common-modules/tegra186-camera-li-mipi-adpt-a00.dtsi>

I’ll try to make the kernel changes.

What’s the best way to rebuild and update the DTB after I make the changes?

I tried compiling the kernel using the following guide with the slight modification of the make script to compile the device tree as well. Before the make script I modified the tegra186-quill-p3310-1000-a00-00-base.dts file to make the changes.

http://www.jetsonhacks.com/2017/07/31/build-kernel-ttyacm-module-nvidia-jetson-tx2/

After compiling the kernel, and the device tree I copied them over to /boot on the MMC. But, I’m not seeing anything different.

I did try doing the following command if they need to be written specifically to the DTB area.

sudo dd if=tegra186-quill-p3310-1000-c03-00-base.dtb of=/dev/mmcblk0p15

I also tried running the following on the host after replacing the tegra186-quill-p3310-1000-c03-00-base.dtb file on the host with the one from above.

sudo ./flash -r -k kernel-dtb jetson-tx2 mmcblk0p1

But, that neither of those seemed to change anything so I suspect I’m doing something wrong in create the DTB file.

On the original email I’ve attached the .dts (that has been converted from the DTB) for both tegra186-quill-p3310-1000-c03-00-base.dtb, and tegra186-quill-p3310-1000-a00-00-base.dtb.

hello s4wrxttcs1,

is this still an issue?
please refer to [R28.1 Development Guide]-> [Kernel Customization] for creating the DTB file.
thanks

I’m having this same issue using a Leopard Imaging IMX377 camera (i.e. its not showing up in the /dev/video). Same revisions, ADPT Rev 1.2 and Sensor Rev 1.1. R28.1 package. Here’s the output of my kernel message. Any help would be greatly appreciated.

klog.txt (86.9 KB)

hello jstromsoe,

i would suggest to file a new forum issue since this topic is talking about IMX185.
by checking the kernel messages in your attachment, there are lots of i2c no acknowledge failures.
could you please review your drivers, and filing a new topic with proper titles if there’s further issue.
thanks

I actually figured out that in the instructions I was given there was a very vague step that when clarified by Leopard made the installation happen just fine. My comment can be ignored for all intents and purposes.

Hello, guys!
I’have trying to get IMX185-MIPI v1.1 + LI-JTX1-MIPI-ADPT v1.2 working on TX2 under R28.1.
I have followed Leopard Imaging instructions (https://www.dropbox.com/s/f76hdi9u8kxed78/IMX185_R28.1_TX2_CB_20170919.txt?dl=0) but camera is not enabled (not shown as /dev/video0).

i2cdetect shows the following:
nvidia@tegra-ubuntu:~$ sudo i2cdetect -y -r 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- UU – -- – -- – -- – -- – -- –
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- 54 – -- – -- – -- – -- – -- –
60: – -- – -- – -- – -- – -- – -- – -- – --
70: UU – -- – -- – -- –

Here @s4wrxttcs1 has slightly different result comparing with @s4wrxttcs1’s i2detect output. I have UU instead of 70. If I pull the board + camera out, the i2cdetect shows empty table

dmesg shown the following:
[ 2.814897] imx185 30-001a: [IMX185]: probing v4l2 sensor at addr 0x1a.
[ 2.814986] imx185 30-001a: camera_common_parse_sensor_mode: mode 1920 x 1080:
[ 2.814992] imx185 30-001a: camera_common_parse_sensor_mode: line_length = 2200, pixel_clock = 74250000
[ 2.814997] imx185 30-001a: camera_common_parse_sensor_mode: mode 1920 x 1080:
[ 2.815002] imx185 30-001a: camera_common_parse_sensor_mode: line_length = 2200, pixel_clock = 74250000
[ 2.815007] imx185 30-001a: camera_common_parse_sensor_mode: mode 1920 x 1080:
[ 2.815011] imx185 30-001a: camera_common_parse_sensor_mode: line_length = 2200, pixel_clock = 148500000
[ 2.815017] imx185 30-001a: camera_common_parse_sensor_mode: mode 1920 x 1080:
[ 2.815020] imx185 30-001a: camera_common_parse_sensor_mode: line_length = 2200, pixel_clock = 148500000
[ 2.815027] imx185 30-001a: camera_common_parse_sensor_mode: mode 1920 x 1080:
[ 2.815031] imx185 30-001a: camera_common_parse_sensor_mode: line_length = 2200, pixel_clock = 74250000
[ 2.815037] imx185 30-001a: camera_common_parse_sensor_mode: mode 1280 x 720:
[ 2.815041] imx185 30-001a: camera_common_parse_sensor_mode: line_length = 825, pixel_clock = 74250000
[ 2.805725] tegra-i2c 3180000.i2c: no acknowledge from address 0x1a
[ 2.816639] imx185_fuse_id_setup: can not read fuse id
[ 2.816642] imx185 30-001a: Error -22 reading fuse id data
[ 2.816680] imx185: probe of 30-001a failed with error -22

I have failed camera probing due to error: “imx185_fuse_id_setup: can not read fuse id”
Seems like the situation is similar to @s4wrxttcs1, or maybe I have some hardware issues? Although the camera board, camera and I-PEX cable are brand new.

How to debug the problem? Where to dig?
I will be very grateful for the help

hello afanasjev,

you may disable plugin-manager support,
please refer to [NVIDIA Tegra Linux Driver Package]-> [Development Guide]-> [Sensor Driver Programming Guide] for more details about plugin-manager.
please also check [V4L2 Sensor Driver Development Tutorial] from tutorials page about how to disable plugin-manager.
thanks