waiting for bootloader to initialize ERROR

Hi. We have designed a custom board with
Nvidia CPU: CD570M-A1
RAM: Hynix H5TC4G63AFR

I edit the jetson-tk1.conf file for using a 8GB nand and uncomment BOARDID.
When I try to flash the firmware I get this logs

taras@Pentagon-M:~/Jetson/flash_capella/Linux_for_Tegra$ sudo ./flash.sh -r -L bootloader/ardbeg/u-boot.bin jetson-tk1 mmcblk0p1
copying bctfile(/home/taras/Jetson/flash_capella/Linux_for_Tegra/bootloader/ardbeg/BCT/PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg)... done.
copying bootloader(/home/taras/Jetson/flash_capella/Linux_for_Tegra/bootloader/ardbeg/u-boot.bin)... done.
	populating kernel to rootfs... done.
	populating jetson-tk1_extlinux.conf.emmc to rootfs... done.
Reusing existing system.img... 
copying dtbfile(/home/taras/Jetson/flash_capella/Linux_for_Tegra/kernel/dtb/tegra124-jetson_tk1-pm375-000-c00-00.dtb)... done.
copying cfgfile(/home/taras/Jetson/flash_capella/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 -------------- 7883194368
bootpart size ------------ 8388608
userpart size ------------ 7874805760
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     14057471    6818.0MiB system.img
[     DTB] UV     14057472     14065663       4.0MiB tegra124-jetson_tk1-pm375-000-c00-00.dtb
[     EFI] UV     14065664     14196735      64.0MiB 
[     USP] UV     14196736     14204927       4.0MiB 
[     TP1] UV     14204928     14213119       4.0MiB 
[     TP2] UV     14213120     14221311       4.0MiB 
[     TP3] UV     14221312     14229503       4.0MiB 
[     WB0] UV     14229504     14233599       2.0MiB 
[     UDA] UV     14233600     15376383     558.0MiB 
[     GPT] UH     15376384     15380479       2.0MiB gpt.img
copying flasher(/home/taras/Jetson/flash_capella/Linux_for_Tegra/bootloader/ardbeg/fastboot.bin)... done.
Existing flashapp(/home/taras/Jetson/flash_capella/Linux_for_Tegra/bootloader/nvflash) reused.
*** Flashing target device started. ***
./nvflash --boardid 0x177 0x00 0x03 --bct PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg --setbct --configfile flash.cfg  --create --bl fastboot.bin --odmdata 0x4009C000 --go
Nvflash 4.13.0000 started
BR_CID: 0x340010017408f042040000000ffe0580
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
   chip name: unknown
   chip id: 0x40 major: 1 minor: 1
   chip sku: 0x0
   chip uid: 0x000000017408f042040000000ffe0580
   macrovision: disabled
   hdcp: disabled
   jtag: disabled
   sbk burned: false
   board id: 0
   warranty fuse: 0
   dk burned: false
   boot device: emmc
   operating mode: 3
   device config strap: 0
   device config fuse: 0
   sdram config strap: 0

RCM communication completed
auxInfo->NCTBoardInfo->proc_board_id is 375
auxInfo->NCTBoardInfo->proc_sku is 0
auxInfo->NCTBoardInfo->proc_fab is 3
BCT sent successfully
sending file: tegra124-jetson_tk1-pm375-000-c00-00.dtb
- 59661/59661 bytes sent
tegra124-jetson_tk1-pm375-000-c00-00.dtb sent successfully
odm data: 0x4009c000
downloading bootloader -- load address: 0x83d88000 entry point: 0x83d88000
sending file: fastboot.bin
- 594363/594363 bytes sent
fastboot.bin sent successfully
waiting for bootloader to initialize
usb read error (71): Protocol error
bootloader failed NvError 0x0
command failure/warning: bootloader download failed 
Failed flashing ardbeg.

So the last message is “waiting for bootloader to initialize” further nothings happened, until a press a reset button. I receive this
“usb read error (71): Protocol error
bootloader failed NvError 0x0
command failure/warning: bootloader download failed
Failed flashing ardbeg.”
Also, I receive a debug message from serial debug port

Hot to correct flash my custom board?? What settings I need to modify for flash it correct?

Not sure it helps, just a clue:

usb read error (71): Protocol error

seems to be the first error.
May you try with another (shortest as possible) cable ?
Another issue could be if you are using VMware as host.
Do you have a PC booting with Ubuntu 14.04 ?

This message appears after I press the RESET button.
The host PC booted on Ubuntu 14.04 natively

A USB HUB could also be an issue…but in this case powered/unpowered HUB would not be relevant. Is there a HUB between which could be removed?

I just noticed something else. This is definitely a USB issue, and you said this is a native Ubuntu host…but I see PuTTY. Is this purely for serial console? And if so, does PuTTY have any way to set up as “read only” to be sure that no characters will get sent by accident? I just wanted to make sure this was not some kind of odd mix of serial port and flash interfering with each other.

There are no USB-hubs connected to host-PC. Only a regular connection from my board to host-PC.
For debugging I use a Chinese dongle based on FT232RL chip. I have just tried disconnect the “Receive” pin from my board. Nothing changed((
PuTTY only for serial console.
These issues have placed even without a serial cable connected.
How can I check an eMMC flash memory without flashed u-boot? Maby I have not worked flash memory.
I checked three boards and all three have this issue

The FT232RL UART should be fine. So far as checking eMMC goes, have you tried cloning? I don’t know the differences on your board, but this should be the same versus a Jetson. See this, note what happens if you clone either the partition table or the root (APP) partition:

Yes, I already try Clone the board, but for this option need to be installed u-boot.

I’m unsure about the need for U-Boot for clone. Some of the wording and options for clone are not what they sound like. As an example, during flash with U-Boot you will see references to fastboot.bin…fastboot.bin runs during flash to boot some of the hardware, but is not installed. Can you say more about how or why clone is failing without U-Boot?

For cloning, I read this article http://elinux.org/Jetson/Cloning
When I run this “./nvflash --getpartitiontable table --bl ardbeg/fastboot.bin --go”
In the debug serial console, I receive the same error like I described earlier. And the same error appears in terminal.
I’m using a compiled binary u-boot.bin from L4T package. But on Jetson TK1 installed CD580M-A1 CPU. On my board CD570M-A1. What the difference between this two CPU?
Yesterday I flesh my Jetson board and guys from repair workshop physically swap the flash memory from Jetson to my board. So now I have the flashed flash with installed software. When I turn on my board in debug serial console I receive this message
“U-Boot SPL 2014.10-rc2g3127977 (Jun 07 2016 - 21:00:01)”
And that’s it, nothing more. Any suggestions?

I do not know the difference between those CPUs…probably clocking limits differ.

I can only guess that there is environment setup for U-Boot which is missing, e.g., something which reads extlinux.conf might be missing.

Hi Leon11t,

Have you found the cause and resolved this problem?
Any result can be shared?


Hi kayccc. For now, I don’t have sucesful results. The guys from repair workshop swap the RAM chips and flash memory from Jetson to my board, but it doesn’t take effect. So now we will make backward procedure. Changing RAM, flash, CPU from my board on Jetson PCB. This allows us to exclude wrong software configuration settings.

Update about our issues. So issues easier as I expect. We forgot to connect a few power supply line to Tegra CPU. AVDD_PLLX