Hi,
Upon Device Tree (DT) modification and compilation the file was copied to a host and flashed successfully but when I tried to verify whether the DT is actually flashed I found that some fields which were expected to be modifed where not.
I am flashing the tegra186-quill-p3310-1000-c03-00-base.dtb file, which was positioned in the directory
it looks correct commands to update device tree partition.
however, please see /boot/extlinux/extlinux.conf, it’ll load device tree via file system if you’re having FDT entry there.
thanks
please confirm kernel messages to check you’ve update the device tree blob correctly.
for example, $ dmesg | grep DTS it shows the absolute path of your dtb binary, it shows the path of your local host machine if you building that by yourself.
in addition, $ dmesg | grep " DTB Build time" it could indicate the building time of this binary file.
Now I do not understand why the host indicated that the dtb file was successfully flashed - I’m 100% sure that the correct file (correct path) was utilized (encrypted, converted, etc.) on the host - **tegra186-quill-p3310-1000-c03-00-base.dtb
A file of the flashing log:flashing from host.txt (21.5 KB)
by checking file path and build time isn’t quite efficient if you’d disassembler/resemble the binary.
you should look into disassembler file, there’re dtsfilename and dtbbuildtime, what’s parse by kernel side.
may I also know what’s your commands to disassembler/resemble the binary?
for your reference,
to disassembler the dtb file into text file ,$ dtc -I dtb -O dts -o temp.dts tegra.dtb
to convert the DTS into a new DTB, $ dtc -I dts -O dtb -o output.dtb temp.dts
I disassamble the file-system DT per Flashing device tree from L4T 32.5.1, while a dtb file per your note.
Assemble/compile the device tree is applied in the kernel directory on the system (NOT host)
make dtbs
I am sure that my assembly is correct as I’ve diassembled the file both on the system and on the host (just to make sure that the correct file was copied to the correct directory on the host).
following are the fields that you asked, which were taken from the disassembled file:
there’s CBoot functionality to load device tree blob via file system.
so, could you please have another way to load your disassembler/resemble binary on the target,
you should modify /boot/extlinux/extlinux.conf and add FDT entry to point to your new dtb file.
here’s documentation for your reference, check CBoot session for details.
thanks
I have to reopen the issue, it looks like once I run
sudo apt-get install upgrade
The new installation which, actually, takes a long time evenually brings up a system which denies the flahisng to take affect. In preiovius tries just before installing a fresh installation via the SDK I’ve applied the upgrade just before trying to flash a DT. This got me to the conclusion that something in the upgrade affects the flashing process.
Again, after upgrading and rebooting, the host claims that the flash is OK but the actual DT in /proc/device-tree is not identical to the flashed dtb file just flashed.
BTW, I’ve tried to add the FDT to the /boot/extlinux/extlinux.conf file pointing to the dtb file and looked like it is loaded(the terminal displayed that it is ‘FDTing’) but after stating that the kernel is starting (in the terminal) the system got stucked.
I left the dtb file in the /boot directory and remove the FDT line, and then “my” dtb file was loaded. Moreover, I can see it affects on system behaviour. Is this the correct way from now on to “flash” device tree?
To sum up the above:
with FDT (in extlinux.conf file)- system get stucked
flashing after upgrading - does not load the flashed dtb file.
copying a dtb file to /boot directory seemed to work but after upgrading it does not work anymore.
for your reference.
there’s JetPack-4.5.1 known bug related to FDT selection, please check Topic 180197, #14 for the backgrounds.
we’ve include the fixes to JetPack-4.6, and please moving to the latest release if possible.
thanks
would like to confirm what’s going-on after you upgrade the system.
may I know which version does sudo apt-get install upgrade moving your packages to?
could you please check the details logs and gather them for reference.
thanks
could you please have a try to update the u-boot binary with the attachment, i.e. Topic180197_Jun17_u-boot.zip (268.2 KB)
please perform partition update to flash kernel partition to update uboot binary.
for example, $ sudo ./flash.sh -r -k kernel jetson-tx2 mmcblk0p1
once you overwrite the uboot binary, please put your TX2 enter forced-recovery mode, and please execute that flash commands on your host machine to perform partition update.
you should also see the build time has update from the uboot logs if you’ve update it correctly.
thanks
Though I’ve applied the flahing command I could not fin any indication for utilizing the u-boot.bin file, is it OK?
another puzzeling thing is the fact that when I looked in the terminal loog for the Model I found that the unit’s model is: NVIDIA P3636-0001 where did it come from? I was using NVidia tools and have configured nothing specifical…