I bought 2pcs of 4G b01 nano from China and they work fine. I cloned a SD card and the card work with both boards.
However, I bought 30pcs of 4G b01 nano from Hong Kong, but none of the nano boards work with my cloned SD card.
Now, I need to proceed the plan B. I’m building another SD card just for the HK nano board.
I wonder if the nano board has different version in different district/region? How can I see the difference? Thx
And what is a proper way to clone the SD card for another nano board? Thx
Here is the serial output using my cloned SD card on a nano 4G board from Hong Kong
[0000.125] [L4T TegraBoot] (version 00.00.2018.01-l4t-80a468da)
[0000.131] Processing in cold boot mode Bootloader 2
[0000.135] A02 Bootrom Patch rev = 1023
[0000.139] Power-up reason: pmc por
[0000.142] No Battery Present
[0000.145] pmic max77620 reset reason
[0000.148] pmic max77620 NVERC : 0x40
[0000.151] RamCode = 0
[0000.154] Platform has DDR4 type RAM
[0000.157] max77620 disabling SD1 Remote Sense
[0000.161] Setting DDR voltage to 1125mv
[0000.165] Serial Number of Pmic Max77663: 0x1716ab
[0000.173] Entering ramdump check
[0000.176] Get RamDumpCarveOut = 0x0
[0000.179] RamDumpCarveOut=0x0, RamDumperFlag=0xe59ff3f8
[0000.184] Last reboot was clean, booting normally!
[0000.189] Sdram initialization is successful
[0000.193] SecureOs Carveout Base=0x00000000ff800000 Size=0x00800000
[0000.199] Lp0 Carveout Base=0x00000000ff780000 Size=0x00001000
[0000.205] BpmpFw Carveout Base=0x00000000ff700000 Size=0x00080000
[0000.211] GSC1 Carveout Base=0x00000000ff600000 Size=0x00100000
[0000.216] GSC2 Carveout Base=0x00000000ff500000 Size=0x00100000
[0000.222] GSC4 Carveout Base=0x00000000ff400000 Size=0x00100000
[0000.228] GSC5 Carveout Base=0x00000000ff300000 Size=0x00100000
[0000.234] GSC3 Carveout Base=0x000000017f300000 Size=0x00d00000
[0000.250] RamDump Carveout Base=0x00000000ff280000 Size=0x00080000
[0000.256] Platform-DebugCarveout: 0
[0000.259] Nck Carveout Base=0x00000000ff080000 Size=0x00200000
[0000.265] Non secure mode, and RB not enabled.
[0000.270] Read GPT from (4:0)
[0000.447] Csd NumOfBlocks=124735488
[0000.452] Set High speed to 1
[0000.455] Error mask set in wait for cmd complete with error 0x3 in HwSdmmcWait ForCommandComplete func at 278 line
[0000.465] Command complete wait failed with error 0x3 Interrupt 0x18001
[0000.472] Number of retries left 4
[0000.481] Using GPT Primary to query partitions
[0000.485] Read PT from (2:0)
[0000.501] Using BFS PT to query partitions
[0000.505] PT: Partition TBC NOT found !
[0000.509] Warning: Find Partition via PT Failed
[0000.513] failed to load NvTbootTbootCpu from (4:0)
[0000.517] re-load NvTbootTbootCpu from (2:0)
[0000.521] Read GPT from (4:0)
[0000.529] Using GPT Primary to query partitions
[0000.534] PT: Partition TBC NOT found !
[0000.538] Warning: Find Partition via PT Failed
[0000.542] Read GPT from (4:0)
[0000.550] Using GPT Primary to query partitions
[0000.555] PT: Partition TBC NOT found !
[0000.559] Warning: Find Partition via PT Failed
[0000.563] Error is 1
I think the first point here is make sure that board from HK is really working.
[0000.455] Error mask set in wait for cmd complete with error 0x3 in HwSdmmcWait ForCommandComplete func at 278 line
This line looks like hardware side issue which is uncertain. If every board from HK has such issue, then it is indeed issue from sd. It may have some alternative ways to debug.
I have worked on Nvidia Nano/NX over 2 years. It is confirmed today that cloned SD card CANNOT be used in another nano board sold from Hong Kong. It is ok for the board from China though. Why are they are different version in Hardware? How can I know that? Btw, even the distributor does not know.
May I know the proper way to clone the SD card?
It is Urgent!!! Thx. Or else I need to rebuild 30pcs SD cards this week. :<
For WayneWWW question, yes, the nano board from HK works when I create the image from Nvidia website and rebuild the inference and add my stuff to it last night. Took me 3 hours last night…
For linuxdev question, yes it is 4G b01 nano board. How to put a SD card in a eMMC module?
Thanks.
This is probably due to the mechanism added after jp4.5.1.
The scenario is when you use a sdcard with new jetpack to module with old bootloader, our sdcard will copy the new bootloader to the module and delete the bootlaoder on sdcard on itself.
You can try a experiment on your side to validate what I am talking about.
Prepare 2 modules, one from China and another one from HK. Let’s call these two module C and module HK.
Prepare 2 sdcard, card C and card HK. Put them to corresponding boards.
Flash two boards with sdkmanager.
Now swap the sdcard between these boards. Both devices should boot up without problem.
Do you read Chinese? I already knew what problem you have now. If you can, I can send a private message to you to explain what is happening here. This will be more clear.
But actually I already explained this in previous comment.
But I have re-built the whole SD card image on the nano board (from Hong Kong) last night.
I thought I could clone the card for another nano board from Hong Kong but it does not boot up. May I know the proper way to clone the SD card?
Thx
I have a working nano board (4.6) from Hong Kong. How can I clone the SD card for the rest of 30 nano boards?
If you say the SD card image is incomplete (without the bootloader), is it possible to put it back and create a “complete” SD card? May I know the proper way to clone the SD card? Just like raspberry pi.
So, when I put a new SD card (with 4.6 OS only) to the nvidia nano board, there is a selection of deleting QSPI, if I cancel it, do you mean my SD card will still have the bootloader and it is complete for cloning?
Anyway, I have building all SD cards from the ground up now (no cloning), this method is simple but lots of workload…
Thanks
What is your exact method to do the clone now? What command is that?
when I put a new SD card (with 4.6 OS only) to the nvidia nano board, there is a selection of deleting QSPI, if I cancel it, do you mean my SD card will still have the bootloader and it is complete for cloning?
Yes, and this card is now the pure one that you should not insert to any other board. This could only be used as the origin to create other copied cards.
Theoretically, the card from below method can work.
Prepare 2 sdcards and both flashed with pure sdcard image from NV. Label them as card A and card B.
Put card A to HK board. Boot up and delete the QSPI on the module. Card A now is incomplete.
Put card B to the same HK board as (2), do your customization on this card. And now card B should have full content that could be the original card for clone. Do not insert this card to any other jetson again. Just use it to do the clone on your other host machine.
Try the copy card on fresh jetson boards and see if they can work. Again, these cards are not able to be the origin of other copy cards.
Just so you know the SD card does not contain all of the boot content. The SD card module contains QSPI memory on it which is changed whenever the unit is flashed with JetPack/SDK Manager (the eMMC module does not have the QSPI memory). As @WayneWWW mentioned, there was a release when content before that used one version of QSPI software, while newer releases require the newer QSPI content. You cannot change QSPI from the SD card. You must flash the unit to get the correct QSPI release that your SD card expects. It isn’t a hardware difference, it is a change to QSPI boot content layout after a certain release.