Active index file is /mnt/external/flash.idx
Number of lines is 17
max_index=16
writing item=1, 9:0:primary_gpt, 512, 19968, gpt_primary_9_0.bin, 16896, fixed--0, 9013c87e9a58533ea2a0d6fbda66797b9582e0e0
Error: Could not stat device /dev/nvme0n1 - No such file or directory.
Flash failure
Cleaning up…
Board log:
[ 18.860357] LUN: removable file: (no medium)
[ 18.861551] LUN: removable file: (no medium)
[ 18.862684] LUN: removable file: (no medium)
[ 18.863843] LUN: removable file: (no medium)
Connection timeout: device /dev/nvme0n1 is still not ready.
[ 18.866426] rndis0: HOST MAC 92:c2:d4:ec:29:fa
[ 18.866536] rndis0: MAC 22:a2:e9:75:91:ed
I don’t know; maybe it’s just some compatibility issue with the second NVMe drive you are using.
Also, are you sure you are using sda1? It should have been nvme0n1p1.
Try flashing and booting from a USB drive, and keep the problematic NVMe drive plugged in;
if it does not get detected under full a Linux system, then there’s little we can do.
But it is necessary to flash image via carrier board.
I’ve noticed, that NVMe memory, which is flashed successfully, has version 1.3.
And NVMe, which is failed, has version 1.4.
So, what is the way to flash NVMe version 1.4 via carrier board?
Maybe, needs modification of flash script?
No.
I have carrier board p3766.
I can flash image to NVMe storage version 1.3 via this carrier board.
I can’t flash image to NVMe storage version 1.4 via this carrier board.
About your question. I can flash image to NVMe storage version 1.4 only manually, refer to the section of To set up a flash drive manually for booting, as DaveYYY mentioned.
But we want to create our own carrier board, and NVMe storage version 1.4 will be build-in. And we will not have possibility to flash storage manually.
So I have questions: did you try to flash image to NVMe storage version 1.4 via carrier board? Is it possible?
We don’t have any NVMe drives with version 1.4 for testing, so there’s little we can help.
However, maybe you should first clarify that this is really about NVMe 1.3/1.4, but not a compatibility issue of the very NVMe drive you are using.
Maybe it’s just some compatibility issue.
We cannot test all kinds of NVMe drives available on the market so we cannot guarantee that every single one would work.
You are comparing the detection result on kernel 4.9/rel-32 with kernel 5.10/rel-35, which is meaningless.
Please at least find a device running 35.4.1 and validate that if the NVMe drive is being detected in that scenario.
First of all, I’ve flashed this Release to Xavier NX CPU, attached to a reference carrier board (P3509-0000). OS booted from eMMC. And I serially inserted two types of NVMe drive.
Kioxia.
Western Digital.
Both drives are worked.
There are two logs of lspci command. kioxia_pci.txt (4.9 KB) WD_pci.txt (4.5 KB)
My conclusion: kernel, and its drivers are working correctly with both types of NVMe storages.
Next step. I try to flash Orin NX CPU, attached to P3767 carrier board.
Command from developer guide:
The first drive is Kioxia.
Flashing is successful.
There are two logs: from HOST side and target side. kioxia_host.log (310.6 KB) kioxia_target.log (186.0 KB)
The second drive is WD.
Flashing is failed.
There are two logs: from HOST side and target side. WD_host.log (277.3 KB) WD_target.log (100.4 KB)
As I understood from kernel log, there is a problem with PCI recognition:
Kioxia:
3502 [ 8.062644] tegra194-pcie 14160000.pcie: Link up
3503 [ 8.068434] tegra194-pcie 14160000.pcie: PCI host bridge to bus 0004:00
WD:
1776 [ 6.702160] tegra194-pcie 14160000.pcie: Phy link never came up
1777 [ 6.702390] tegra194-pcie 14160000.pcie: PCI host bridge to bus 0004:00
How is it possible, considering that these both drives worked in Xavier NX CPU with the same kernel version? Can it be some hardware incompatibility on Nvidia carrier board with Western Digital drive? How to debug this issue?