NVIDIA Jetson Linux 35.4.1 Customization failure

I’m not sure if that means the guide answered your questions or not. If it is a question of finding where the source of that file is during flash, then typically I would suggest flashing on command line (or with the script) and logging it. Any command line can have this appended to it to get a log:
2>&1 | tee logname.txt

Both flash and compile of device tree during a kernel build can be logged. Either will indicate the file name you are interested in (in the case of flash, this is where the file must be for it to get used; in the latter case of where to patch in the kernel, then the kernel build should show you where the original file is from. If you know the exact driver symbol which is enabled during kernel configuration, then it might be easier for finding what to patch because it leads to the exact directory of that source code.

If it is a question of which file within the kernel source, then I would start with some clues in the file name. The kernel configuration symbol for the driver is a better start, but if you don’t know the exact symbol, consider how the name is derived for “tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi”:

  • tegra234 is for the SoC.
  • mb1 and bct are boot stages, so boot content probably reads this.
  • The more interesting part is that names like p3701 are for either a model of module or a model of carrier board. If you go to a “Linux_for_Tegra/” directory, you will find that the boot targets all have a file name in the format of “jetson...something...conf”. As an example, there is a “jetson-agx-orin-devkit.conf” file (thus there is a flash target jetson-agx-orin-devkit). However, this is just an alias for the real file. The actual file this symbolic link points at is “p3737-0000+p3701-0000.conf”. The two “p37xx” names specify a module and a carrier board.
  • If you look in the flash target .conf file, in the above example, it names that this is for a T234, which is the Soc.
  • That same file further includes another conf file, along with some overlays. When you flash that target on command line you can expect to see logs of each of those file names. This includes where the file is from. The include file also includes some device tree content (sometimes for combining content). If and only if you are looking for where the file has to be replaced (not patched), then flashing once with a log will tell you where that file is based on that target. If you are instead looking for where the kernel .dtsi file is, then logging the build of the device tree should show this.

Hi. I found he file to be changed for RMDII ethernet - it is tegra234-ethernet-3737-0000.dtsi in ~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/source/hardware/nvidia/platform/t23x/concord/kernel-dts/cvb.
I changed ethernet@6810000 phy-mode = “10gbase-r” to ethernet@2310000 phy-mode = “rgmii-id” as described in Jetson AGX Orin Platform Adaptation and Bring-Up — Jetson Linux Developer Guide documentation.
Built the kernel and flash to Orin evaluation board.
After reset the board I don’t see wireless connection option neither wired connection options in menu - no ethernet options at all.
What shall be done to enable ethernet?

I don’t know the specific device tree changes, but I will suggest someone else can answer what is needed if you post the export of the running failed device tree with changes. You can get this via (you might need to “sudo apt-get install device-tree-compiler”):
dtc -I fs -O dts -o extracted.dts /proc/device-tree

Basically, a “before and after” is useful. Mention which exact change you made to reach the extracted dts.

The device tree compiler does not include a preprocessor. Therefor creating a dtb file is a 2 stage process. I personally copied some folders around and build the dtb file like this:
1.
cpp -nostdinc -undef -x assembler-with-cpp -DLINUX_VERSION=510 -I /home/user/projects-5/dtb3/dtb ./tegra234-p3767-0000-p3509-a02.dts ./tegra234-p3767-0000-p3509-a02.dtsr

dtc -I dts -O dtb ./tegra234-p3767-0000-p3509-a02.dtsr -o ./tegra234-p3767-0000-p3509-a02.dtb

the included folder dtb looks like this
audio
cvb
cvm
dt-bindings
dt-common
Makefile
optee-dts
overlays
panels
t234-common-cvb
t234-common-cvm
t234-common-modules
tegra234-dcb-p3767-0000-dp.dtsi
tegra234-dcb-p3767-0000-hdmi.dtsi
tegra234-p3767-0000-as-p3767-0001-p3509-a02.dts
tegra234-p3767-0000-as-p3767-0001-p3768-0000-a0.dts
tegra234-p3767-0000-as-p3767-0003-p3509-a02.dts
tegra234-p3767-0000-as-p3767-0003-p3768-0000-a0.dts
tegra234-p3767-0000-as-p3767-0004-p3509-a02.dts
tegra234-p3767-0000-as-p3767-0004-p3768-0000-a0.dts
tegra234-p3767-0000-common-hdr40.dtsi
tegra234-p3767-0000-p3509-a02-adafruit-sph0645lm4h.dts
tegra234-p3767-0000-p3509-a02-adafruit-uda1334a.dts
tegra234-p3767-0000-p3509-a02-csi.dts
tegra234-p3767-0000-p3509-a02.dtb
tegra234-p3767-0000-p3509-a02.dts
tegra234-p3767-0000-p3509-a02.dtsr
tegra234-p3767-0000-p3509-a02-fe-pi-audio.dts
tegra234-p3767-0000-p3509-a02-hdr40.dts
tegra234-p3767-0000-p3509-a02-m2ke.dts
tegra234-p3767-0000-p3509-a02-respeaker-4-mic-array.dts
tegra234-p3767-0000-p3509-a02-respeaker-4-mic-lin-array.dts
tegra234-p3767-0000-p3768-0000-a0.dts
tegra234-p3767-0000-p3768-0000-csi.dts
tegra234-p3767-0001-p3509-a02.dts
tegra234-p3767-0001-p3768-0000-a0.dts
tegra234-p3767-0003-p3509-a02.dts
tegra234-p3767-0003-p3768-0000-a0.dts
tegra234-p3767-0004-p3509-a02.dts
tegra234-p3767-0004-p3768-0000-a0.dts
tegra234-p3767-camera-imx219-dual.dts
tegra234-p3767-camera-imx477-dual.dts
tegra234-p3767-camera-imx477-imx219.dts
tegra234-p3767-camera-p3768-imx219-dual.dts
tegra234-p3767-camera-p3768-imx477-dual-4lane.dts
tegra234-p3767-camera-p3768-imx477-dual.dts
tegra234-p3767-camera-p3768-imx477-imx219.dts
tegra234-p3767-overlay.dts
tegra234-p3768-overlay.dts
tegra234-soc

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.