OTA update for device tree on jetson Tx2 4Gb

I am using jetson tx2 4GB module and i want to update device tree using debian package.

I am using below link for device tree OTA update.

https://developer.ridgerun.com/wiki/index.php?title=Customize_JetPack_Installation_with_OTA_Update

but when i am adding below line in extlinux.conf

#Add the following line to extlinux.conf

FDT /boot/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb

i am getting below error message during kernel boot

Using Device Tree in place at 0000000088400000, end 0000000088440fa8
ERROR: Can’t create DT node plugin-manager

at arch/arm/mach-tegra/dt-edit.c:124/fdt_add_path()
ERROR: Can’t find/create dest DT node /chosen/plugin-manager to copy

at arch/arm/mach-tegra/dt-edit.c:208/fdt_iter_copy_node()
ERROR: DT property /chosen/nvidia,bluetooth-mac missing in source; can’t copy

at arch/arm/mach-tegra/dt-edit.c:176/fdt_iter_copy_prop()

could you please help what could be the issue.

please update on this

hello anupam.kumar,

may I know what’s your base JetPack version you’re used, are you target to OTA to the latest JetPack release?
thanks

I am using SDK 32.4.3 version and customizing it as per my device.

i am making ota package and trying to update on custom device.

hello anupam.kumar,

device tree settings were related to hardware specific configurations,
while you’re having OTA update, it’s download the default JetPack release deb files.
you may download the L4T sources package and customize device tree blob to resolve those errors.
thanks

can you please suggest the changes,i already installed the L4t source code.

what changes i have to do so that ext_linux.conf

FDT /boot/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb

adding this is giving error…after OTA update,does it pick only from this location or we can change it

hello anupam.kumar,

you may delete this line from default configuration file, to make device tree blob loads from kernel-dtb partition.
for example,
FDT /boot/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb

but when we are doing OTA upgrade using debian package for device tree…that should reflect after ota update how this will be updated then.

pleas see below link for dtb update using debian package

https://developer.ridgerun.com/wiki/index.php?title=Customize_JetPack_Installation_with_OTA_Update

hello anupam.kumar,

that’s the step in order for the new device tree to be loaded; especially you had customize board, you must need a customize device tree blob to make the booting process success.
please also check List of JetPack OTA Packages, for JetPack-4.5 packages.
thanks

I Chang,

can you answer following query,how we can update only dtb file in board.

one way is flash using -r -k kernel-dtb option and other with OTA update using debian package.

is there any other method here?

to update dtb using OTA package i am able to update the dtb file but it is not writing into emmc partition and when i am rebooting it,it is picking dtb file from emmc partition…for that they have added FDT option in extlinux_conf file…can you please help here how we can solve this.

hello anupam.kumar,

you may note that there’re two approaches to load device tree blob.
(1) loads from kernel-dtb partition, the device tree binary should be sign and encrypt;
(2) it’s Cboot feature to load device tree blob from the FDT entry, which don’t be signed and encrypted.

Hi chang,

I am using the second option but when i am trying to do it using FDT i am getting below error during kernel boot.

i am adding below line in extlinux.conf file to pick device tree at bootup

FDT /boot/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb

i am getting below error message during kernel boot

Using Device Tree in place at 0000000088400000, end 0000000088440fa8
ERROR: Can’t create DT node plugin-manager

at arch/arm/mach-tegra/dt-edit.c:124/fdt_add_path()
ERROR: Can’t find/create dest DT node /chosen/plugin-manager to copy

at arch/arm/mach-tegra/dt-edit.c:208/fdt_iter_copy_node()
ERROR: DT property /chosen/nvidia,bluetooth-mac missing in source; can’t copy

at arch/arm/mach-tegra/dt-edit.c:176/fdt_iter_copy_prop()

hello anupam.kumar,

you’re having board customization, right?
please review your device tree settings, they were related to hardware specific configurations,
thanks

yes i am using TX2 4GB custom device.

I am using below device tree
/boot/dtb/tegra186-quill-p3489-0888-a00-00-base.dtb.

do i need to add this dtb file location in jetson-tx2-4GB.conf file.

can you please specify which device tree settings i have to do and where?

hello anupam.kumar,

according to above, it apparently you’re not using correct device tree blob.
please have a try to modify FDT entry to assign correct dtb file for your customize board.
thanks

i am using correct device tree in extlinux.conf file for TX2 4GB,

FDT /boot/dtb/tegra186-quill-p3489-0888-a00-00-base.dtb.

above line i am using.

could you please help here.

hello anupam.kumar,

could you please attach the bootloader logs, may I know what’s the error messages?
thanks

dtb-debian-logs (26.5 KB)

I have attached the full logs bootloader + kernel logs.

i am seeing below error while kernel loading.

=================
Hit any key to stop autoboot: 0
Retrieving file: /boot/extlinux/extlinux_pri.conf
294 bytes read in 371 ms (0 Bytes/s)
1: primary kernel
Retrieving file: /boot/initrd
5565615 bytes read in 520 ms (10.2 MiB/s)
Retrieving file: /boot/Image
34265096 bytes read in 855 ms (38.2 MiB/s)
append: console=ttyS0,115200 androidboot.presilicon=true firmware_class.path=/etc/firmware root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 conM
Retrieving file: /boot/dtb/tegra186-quill-p3489-0888-a00-00-base.dtb
253865 bytes read in 69 ms (3.5 MiB/s)

Flattened Device Tree blob at 88400000

Booting using the fdt blob at 0x88400000
reserving fdt memory region: addr=80000000 size=10000
Using Device Tree in place at 0000000088400000, end 0000000088440fa8
ERROR: Can’t create DT node plugin-manager

at arch/arm/mach-tegra/dt-edit.c:124/fdt_add_path()
ERROR: Can’t find/create dest DT node /chosen/plugin-manager to copy

at arch/arm/mach-tegra/dt-edit.c:208/fdt_iter_copy_node()
ERROR: DT property /chosen/nvidia,bluetooth-mac missing in source; can’t copy

at arch/arm/mach-tegra/dt-edit.c:176/fdt_iter_copy_prop()

you can see the full logs in attached file.

Hi Chang,

Can you please update on this.

hello anupam.kumar,

are you having customize device tree to remove plugin-manager {} node and also chosen {}?