I came across the following issue/bug while working on Orin NX Jetpack 6.1 L4T 36.4.3 related to USB speed testing across diff models of SSDs ( Transcend, Samsung, Sandisk, etc…)
When following the below link for flashing the default rootfs for flashing, we found that all the models of SSDs provide required USB 3.2 speed using dd command.
where as while following the below link of kernel customization for flashing:
which includes kernel code compilation, we observer the write speed drops during testing of USB 3.2 for somevendors SSDs like transcend and sandisk. where as it works for Samsung 3.2 SSD.
We feel this is due to the diff in the packages in the default rootfs and kernel customization.
Pls could you clarify this and if it possible could you fix this issue in next release jetpack 6.x release.
*** Please note that this reply is generated by LLM automatically ***
The issue you’re experiencing with USB speed testing across different models of SSDs on Jetson Orin NX with Jetpack 6.1 and L4T 36.4.3 seems to be related to the flashing process and kernel customization.
When you follow the Quick Start guide for flashing the default rootfs, all models of SSDs (Transcend, Samsung, Sandisk, etc.) provide the required USB 3.2 speed using the dd command. However, when you follow the Kernel Customization guide, which includes kernel code compilation, you observe a drop in write speed during testing of USB 3.2 for some vendors’ SSDs like Transcend and Sandisk, while it works for Samsung 3.2 SSD.
This discrepancy suggests that the issue might be related to the kernel customization process, which could be affecting the USB speed. Here are a few potential reasons:
Kernel configuration: When you customize the kernel, you might be changing the configuration options that affect the USB speed. Make sure that you’re not disabling any USB-related features or modules that are required for optimal performance.
Driver issues: The kernel customization process might be using different drivers or versions of drivers that are not optimized for the specific SSD models. Check if the drivers used in the default rootfs are different from the ones used in the customized kernel.
Firmware issues: Firmware issues with the SSDs or the USB controller might be causing the speed drop. Ensure that the firmware is up-to-date and compatible with the Jetson Orin NX.
Hardware limitations: It’s possible that the Jetson Orin NX has hardware limitations that affect the USB speed when using certain SSD models. Check the specifications of the Jetson Orin NX and the SSDs to see if there are any limitations.
To troubleshoot the issue, you can try the following:
Compare kernel configurations: Compare the kernel configuration options used in the default rootfs with the ones used in the customized kernel. Look for any differences that might be affecting the USB speed.
Use a different kernel version: Try using a different kernel version to see if the issue persists. This can help determine if the issue is specific to the kernel version or the customization process.
Test with different SSD models: Test the USB speed with different SSD models to see if the issue is specific to certain models or vendors.
Check firmware versions: Ensure that the firmware is up-to-date and compatible with the Jetson Orin NX.
By comparing the kernel configurations, testing with different SSD models, and checking firmware versions, you should be able to identify the root cause of the issue and find a solution to resolve the USB speed drop.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
Actually this seems to be the issue. I request NVIDIA to update there kernel modules package with the updates latest USB drivers so things work as with default rootfs for all USB based SSDs of different model.
Because If I skip the kernel build steps in the kernel customization and only update the device tree dtb update steps for my customized board for eeprom=0, I observe that USB speed test works fine on all USB SSDs.
There is no customization that we did in the kernel config.
Only the EEPROM size setting to 0 was updated under the DTB section.
If I skip the steps in Building the Jetson Linux Kernel and Building the NVIDIA Out-of-Tree Modules section and flash the unit( customized carrier board) , USB speed test works fine for all branded SSDs.
But, If I perform the steps provided in the section Building the Jetson Linux Kernel and Building the NVIDIA Out-of-Tree Modules then there is speed drop for some model SSDs ( Trasncend, sandisk) during the USB speed test using dd command.
Sorry. Now that we have found the fix and we installed the working version on our units and using them. We dont have not working version now to flash and take the benchmark tool snapshot.
Earlier we observed during testing that even in the benchmark tool the speed was less for not working case.
To conclude, my overall observation is as below:
In the default rootfs installation as per this link
, the USB drivers provided are working fine. it works fine for all models USB based SSDs.
where as,
where as if you follow the Kernel customization link:
and when we download the kernel drivers source and do the build and flash, the issue happens.
@WayneWWW
Kindly request you to please fix this issue in the upcoming Jatpack 6.x release.
It can be duplicated on Evaluation kit by following the 2 diff flashing procedures.
Thanks,
We dont have that setup now.
But We have observed the speed was less even in benchmark also for many SSDs ( Sandisk, Transcend ), if you flash the kernel source/out of tree modules.
Try duplicating on the orin NX evaluation kit and you will agree yourself.
Hi,
Do you have kernel source code matching the Jetpack version? We have validated the steps in kernel customization and the self built kernel is identical to default kernel in Jetpack. Would like ton confirm you don’t have mismatch in kernel version.
We will set up developer kit(Orin NX module + Orin Nano carrier baord) with r36.4.4 to check this.
Because we followed the steps provided in the nvidia website:
a) Also one more issue I observed during this process was, manual download method, does not provide us all the source/data we needin the .tar file. Only the $ ./source_sync.sh -k -t will download all the data.
b) One more issue observed during the DTB build was , the dtc compiler and one more compiler in another folder were missing, when I downloaded the source using the script recently. However last year this issue was not there. Later i copied dtc file manually from my old sources downloaded last year.
Even i observed the same. That the image size is same for default kernel image and the one build through kernel sources.