camera cannot generate the/dev/video0 device node.
why?
Did you not open any macros?
kernel log:
uart-baudrate-115200_2024-08-16_14_19_39.log (338.8 KB)
camera cannot generate the/dev/video0 device node.
why?
Did you not open any macros?
kernel log:
uart-baudrate-115200_2024-08-16_14_19_39.log (338.8 KB)
Hi,
On Orin Nano developer kit, we support RPi camera v2 imx219. If you use other camera, please check camera sensor programming guide to enable device tree and kernel driver for the camera sensor.
Do I need to enable any other macros besides the device tree and driver of the camera itself?
For example, do the following two places have an impact?
1,
[ 8.933539] platform 13e00000.host1x:nvcsi@15a00000: Fixing up cyclic dependency with 2-0014
[ 8.933554] platform 13e00000.host1x:nvcsi@15a00000: Fixing up cyclic dependency with tegra-capture-vi
[ 8.933568] platform 13e00000.host1x:nvcsi@15a00000: Fixing up cyclic dependency with 2-0013
2,
[ 9.531336] tegra-ivc-bus bc00000.rtcpu:ivc-bus:echo@0: ivc channel driver missing
[ 9.531341] tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@1: ivc channel driver missing
[ 9.531344] tegra-ivc-bus bc00000.rtcpu:ivc-bus:dbg@2: ivc channel driver missing
[ 9.531347] tegra-ivc-bus bc00000.rtcpu:ivc-bus:ivccontrol@3: ivc channel driver missing
[ 9.531349] tegra-ivc-bus bc00000.rtcpu:ivc-bus:ivccapture@4: ivc channel driver missing
[ 9.531351] tegra-ivc-bus bc00000.rtcpu:ivc-bus:diag@5: ivc channel driver missing
[ 9.531355] tegra-hsp b950000.tegra-hsp: Try increasing MBOX_TX_QUEUE_LEN
[ 9.531359] tegra-hsp b950000.tegra-hsp: Try increasing MBOX_TX_QUEUE_LEN
[ 9.531361] tegra-hsp b950000.tegra-hsp: Try increasing MBOX_TX_QUEUE_LEN
is gmsl camera
hardware/nvidia/t23x/nv-public/overlay/tegra234-p3737-0000+p3701-0000-dynamic.dts
Modify this file, compile it, and place it in the JetPack_6.0_Linux_JETSON-AGX_RIN_TARGETS/Linux_for_Tegra/kernel/dtb/directory. Just flash it?
hello 305248199,
may I also confirm the camera connections you’ve used. were they 2-lane or 4-lane config?
besides, is it a customization carrier board?
FYI, p3768 (Orin Nano DevKit carrier board) can work with 4-lane camera only on Cam0 slot,
we’re not support CSI-B in 4-lane config because of CSI clock limitations.
This is a customized carrier board!
is 4-lane config.
hello 305248199,
you may check developer guide… Verifying the V4L2 Sensor Driver.
cannot generate the /dev/video0 device node.
hello 305248199,
as you can see of “tegra234-p3737-0000+p3701-0000-dynamic.dts” file, it’s also include main camera device tree, “tegra234-p3737-camera-modules.dtsi”,
since it’s your customize board, you may review the DT port bindings, please check you’ve enable your camera nodes correctly.
please see-also reference drivers, and Release Notes (r36.3) for [4.2. Device Registration] section to create a device tree overlay.
There is a camera node that has been opened, and the kernel has been configured according to the “Sensor Software Driver Programming” document as CONFIG_MEDIA_SUPPORT=y (which is already CONFIG_MEDIA_SUPPORT=m), and the entire module driver under/usr/lib/modules/5.10.120-tegra/has been replaced. However, there is no device node that generates/dev/video0
hello 305248199,
it’s incorrect since JP-6.0 is now moving to the Kernel version 5.15 supported in the rel-36 release version.
please refer to Kernel Adaptation — NVIDIA Jetson Linux Developer Guide 1 documentation
Sorry, I made a mistake in typing 5.10.120-tegra above. It should be:
5.15.136-tegra
Excuse me?
The camera node and device tree are:
fragment-camera-module@0 {
target-path = “/”;
overlay {
Or still:
/ {
Down there?
There are also:
/ {
bus@0 {
Down there?
Please help me check if there are any issues with this device tree
tegra234-p3737-0000+p3701-0004-nv_csys.txt (335.6 KB)
The camera uses an imx390
please also share your booting logs before digging into your device tree, thanks
kernel log:
uart-baudrate-115200_2024-08-19_15_38_56.log (224.5 KB)
hello 305248199,
it looks you did not configure dtbo correctly for loading camera driver.
please refer to Release Notes (r36.3) for [4.2. Device Registration] section to create a device tree overlay.
I supplemented:
imx390_a@1b {
status = “okay”;
};
imx390_b@1c {
status = “okay”;
};
The problem still persists,
device tree attachment
tegra234-p3737-0000+p3701-0004-nv_csys.txt (340.0 KB)
kernel log:
uart-baudrate-115200_2024-08-20_10_28_52.log (250.5 KB)
hello 305248199,
you may try disabling below to change the default settings (to load IMX219) and avoid the later include dtbo to overwrite your settings.
for instance, OVERLAY_DTB_FILE+=",tegra234-p3768-0000+p3767-0000-dynamic.dtbo";
please also check the sysnode to confirm you’ve dtbo applied correctly
for instance,
here’s IMX219’s DTBO, it’ll alter the /proc/device-tree/cam_i2cmux/i2c@0/status
to configure it as okay
.
/ {
fragment-camera-imx219@0 {
target-path = "/";
__overlay__ {
bus@0 {
cam_i2cmux{
status = "okay";
i2c@0 {
status = "okay";
so,
it looks like below if loading IMX219’s DTBO.
# cat /proc/device-tree/cam_i2cmux/i2c@0/status
okay