Pcie error on d02

Our TX2 module has always used the development board designed by ourselves(Interact with K7 FPGA through PCIe). Due to the large amount, we have always used the mirror system to brush the machine(system is R28.1).now,We have purchased a new batch of TX2 modules with the number of D02,When using the mirror brush, it will fail,The version of the mirror system is R28.1.

Later, I learned about the documentsPCN206440,I used r28.2.1 to re mirror the system with the overlay,it can brush successfully.but the modification of PCIe mapping by the original system kernel is not mirrored in the new module.
The R28.1 kernel is modified as follows:

After this batch of D02 modules are burned, PCIe reads data incorrectly.This folder will be deleted after the previous module is burned, but the current(D02 )module does not.

    Why can the same image system change the kernel in the previous modules by brushing, but the new batch of D02 is not.

You mean that only added the PCN206440 overlay for R28.2.1 onto your R28.1 baseline SW? Or fully migrated your SW to R28.2.1 to add the PCN206440 overlay?

I don’t think what you are talking about is related to the module. It is more like the method you always use to update kernel/device tree is not supported in rel-28.2.

Both releases are actually too old here. What is the your method to update the device tree?

fully migrated your SW to R28.2.1 to add the PCN206440 overlay

The original version is to recompile after modifying the device tree file.
Mass burning is By creating the image file (system.img)of the original version.By command:sudo ./flash.sh -r jetson-tx2 mmcblk0p1


Please put the device tree into Linux_for_Tegra/kernel/dtb so that it will take effect…

This method has been there for quite long… The device tree is read from partition but not rootfs.

In the original version,I replaced the DTB file generated by compilation in the original path

What is your exact question now? The dtb still not takes effect?

If so, could you check dmesg to see if the dtb is really updated?

Thanks for your reply!
I mean, we have made a system image that disables IOMMU, but after burning this system image into the new D02 tx2 module, we find that IOMMU is not disabled.

You modified A but you put B to the board… of course it will not take effect.

A is device tree. B is system image. These two are different…

oh,I seem to understand.

The. Img file I mirrored will not affect the DTB file of the device tree, will it?

sudo ./flash.sh -r -k APP -G tx2.img jetson-tx2 mmcblk0p1
I always thought this command could mirror the kernel, device tree and system。

“APP” 這個partition裡面只有rootfs.
Jetson的開機流程中kernel預設是從rootfs裡面讀的. 所以你這裡的步驟"kernel"是會被更新的
但是device tree是從別的partition (kernel-dtb)讀的. 所以你這裡只燒APP partition是不會對device tree有影響的…

你之前能動的話大概代表28.1的時候可能device tree還是從rootfs讀的. 但是這已經改掉很久了… rel-28.1是快5年前的release了…

APP partition only has rootfs.
The boot flow of jetson by default reads the kernel from rootfs. So what you did here will update “kernel”
However, device tree by default is read from another partition (kernel-dtb), so what you are doing now would not affect device tree…

If your previous try on rel-28.1 would work, it probably means the dtb was read from rootfs at that time. But this has been changed for quite long time… rel-28.1 is a release that has been out for 5 years…

thank you!
Now, do I just need to replace the original DTB folder with the current 28.2.1 and burn it?

Yes… please try.

Thanks again!

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