We have developed a carrier board for the p3767 module. It works well for the purpose, but our customer has another potential use for it that we would like to make it appropriate for. Currently using JetPack 5.1.1 but will move to 6 soon.
Unfortunately, due to the initial requested specs, we designed the board with one M.2 M key slot. However we would like to increase the storage potential of the device to host multiple drives.
We have found an M.2 adapter board with an ASMedia device ASM1166 with 6 SATA slots. Plugging this into a Jetson Orin Nano Developer kit running from an SD card image, SATA drives are recognised fine once the operating system is running.
The Nano modules we purchase from your supplier do not come fitted with an SD card socket, and we do not wish to run the OS from an SD card anyway. The solution would be to boot from one of the drives attached to the SATA adapter.
Booting with no bootable media and the SATA drive with a single partition, we see that the hard drive is recognised by the UEFI Interactive shell:
As it recognises it here, does this mean it would be able to boot from it? That is appears here means that I do not have to add a driver to the kernel image?
To flash to our board using an SSD drive we have been using :
I have switched to using a Nvidia Jetson Orin Nano 8GB as the test article, to remove any questions about hardware issues with our carrier board. Attaching the M.2 sata card as before results in the same behaviour.
I have attached the debug uart output from a failed flash attempt, as well as the dmesg file from a freshly written JetPack 5.1.1 SD image, which has the SATA drive listed as /dev/sda1
The debug uart at flash seems indicate the sata controller is being found and loaded:
[ 5.502361] tegra194-pcie 14160000.pcie: Link up
[ 5.503878] tegra194-pcie 14160000.pcie: PCI host bridge to bus 0004:00
But then later it it has:
Connection timeout: device /dev/sda is still not ready.
However I’m not sure whether this message is coming from the dev kit or is a response to a query from the flashing machine.
When you are booting into kernel, kernel has the driver to enable that PCIe- SATA adapter. lspci command in this case will tell what driver is in use.
When doing initrd flash, as its name, it is booting into initrd to do flash work. Such driver from (1) could be missing in initrd so it can load pcie device but it does not have the device driver.
You identifying that the possible cause was in the initrd of the flashing process, led me to try to flash with flash.sh which I believe does not use initrd.
With JetPack 6 I used the command:
sudo ./nvsdkmanager_flash.sh --storage sda1
with the orin nano 8GB dev kit and it flashed and booted from the SATA drive fine.
I will work now to make the necessary changes to JetPack 6 to bring up our custom board and we have a solution.