Flash TK1 failed. NvError 0x8

Hello everyone,
We have a customized TK1 board. And an error occurred when flashing a new operating system on this board. The log is as following.

susan@susan:~/TK1/Linux_for_Tegra$ sudo ./flash.sh pcp_64g_s924m mmcblk0p1
[sudo] password for susan: 
copying bctfile(/home/susan/TK1/Linux_for_Tegra/bootloader/ardbeg/BCT/TK1_PM375_JETSON_TK1_PCP_ddr3_256Mx16x4_K4W4G1646E-BC1A_924MHz.cfg)... done.
copying bootloader(/home/susan/TK1/Linux_for_Tegra/bootloader/ardbeg/u-boot.bin)... done.
	populating kernel to rootfs... done.
	populating jetson-tk1_extlinux.conf.emmc to rootfs... done.
done.
Making system.img... 
	populating rootfs from /home/susan/TK1/Linux_for_Tegra/rootfs ... done.
	Sync'ing system.img ... done.
	Converting RAW image to Sparse image... 

---- Raw to Sparse Image Converter v1.0 ----------------------------
  0: RAW:     4243456(   1036 blks) ==>          28:4243468
  1: SKP:       20480(      5 blks) ==>     4243496:20492
  2: RAW:        4096(      1 blks) ==>     4243508:4108
  ......
2785: SKP:        4096(      1 blks) ==>  3171144360:4108
2786: RAW:      208896(     51 blks) ==>  3171144372:208908
2787: SKP:  2007257088( 490053 blks) ==>  3171353280:2007257100
2788: RAW:        4096(      1 blks) ==>  3171353292:4108
2789: SKP:       57344(     14 blks) ==>  3171357400:57356
2790: RAW:        4096(      1 blks) ==>  3171357412:4108
2791: SKP:  2095955968( 511708 blks) ==>  3171361520:2095955980
-- Total: -----------------------------------------------------------
2792 CHUNK 60078080000(14667500 blks) ==>  3171361532(774250 blks)

done.
system.img built successfully. 
copying dtbfile(/home/susan/TK1/Linux_for_Tegra/kernel/dtb/tegra124-jetson_tk1-pm375-000-c00-00.dtb)... done.
copying cfgfile(/home/susan/TK1/Linux_for_Tegra/bootloader/ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg) to flash.cfg... done.
creating gpt(ppt.img)... 

*** GPT Parameters ***
Device Sector Size ------- 512
device size -------------- 62547558400
bootpart size ------------ 8388608
userpart size ------------ 62539169792
Erase Block Size --------- 2097152
FS Buffer size ----------- 4096
Partition Config file ---- flash.cfg
Visible partition flag --- GP1
Primary GPT output ------- PPT->ppt.img
Secondary GPT output ----- GPT->gpt.img
Target device name ------- none

*** PARTITION LAYOUT(20 partitions) ***
[     BCT] BH            0        16383       8.0MiB 
[     PPT] UH            0         4095       2.0MiB ppt.img
[      PT] UH         4096         8191       2.0MiB 
[     EBT] UH         8192        16383       4.0MiB u-boot.bin
[     LNX] UH        16384        49151      16.0MiB 
[     SOS] UH        49152        61439       6.0MiB 
[     NVC] UH        61440        65535       2.0MiB 
[     MPB] UH        65536        77823       6.0MiB 
[     MBP] UH        77824        90111       6.0MiB 
[     GP1] UH        90112        94207       2.0MiB 
[     APP] UV        94208    117434207   57294.9MiB system.img
[     DTB] UV    117434208    117442399       4.0MiB tegra124-jetson_tk1-pm375-000-c00-00.dtb
[     EFI] UV    117442400    117573471      64.0MiB 
[     USP] UV    117573472    117581663       4.0MiB 
[     TP1] UV    117581664    117589855       4.0MiB 
[     TP2] UV    117589856    117598047       4.0MiB 
[     TP3] UV    117598048    117606239       4.0MiB 
[     WB0] UV    117606240    117610335       2.0MiB 
[     UDA] UV    117610336    122142719    2213.1MiB 
[     GPT] UH    122142720    122146815       2.0MiB gpt.img
copying flasher(/home/susan/TK1/Linux_for_Tegra/bootloader/ardbeg/fastboot.bin)... done.
Existing flashapp(/home/susan/TK1/Linux_for_Tegra/bootloader/nvflash) reused.
*** Flashing target device started. ***
./nvflash  --bct TK1_PM375_JETSON_TK1_PCP_ddr3_256Mx16x4_K4W4G1646E-BC1A_924MHz.cfg --setbct --configfile flash.cfg  --create --bl fastboot.bin --odmdata 0x6309C000 --go
Nvflash 4.13.0000 started
BR_CID: 0x340010017410b1031800000005068340
rcm version 0X400001
Skipping BoardID read at miniloader level
usb read error (71): Protocol error
unable to retrieve platform info  NvError 0x8
Failed flashing ardbeg.

We did not see the same error on another board with the same hardware. I would like to know where the hardware is broken? RAM or SOC?!

That is a USB error, so it could be host side, cable, or Jetson side. In the case of a custom carrier board I would see if the module can be flashed from another carrier, e.g., from the dev kit. If the module works from the dev kit, then perhaps the recovery mode has a wiring issue on the custom carrier board.

If we were just talking about loss of USB on a running Jetson which otherwise flashed ok, then I’d think it would be a device tree issue. However, recovery mode should not depend on much of anything, including device tree; and so if the module works on another carrier board, then I would be suspicious of the carrier board design itself.

On the other hand there are a lot of cases of hardware on laptops and cheap charger cables causing a similar issue. Signal quality may be ok for a short time, but if the design of the USB traces are marginal, then any sustained data transfer might fail.

Can you say more about the hardware which did work? Are you saying this module worked on another carrier board? Or that other copies of this carrier board worked (it sounds like you have more than one of this carrier board, but I am uncertain if perhaps you mean other carrier board designs), while this copy (this specific carrier board) did not?