VIM3L: booloader fail: DDR training error

It might be possible for me to make the card and then upload the resulting files, if they’re not too big. You would need to format an SD card to fat32 if I recall.
I think I tried to do this before, I recall it being successful. Your choice.:slightly_smiling_face:
If so, I can check it tonight.
Update: @khilman So far I have not had luck with this. I will let you know if that changes.

If you have the time to create an SD image, I would be glad to try.

In order for it to be a bootable image, it needs to be a raw image (with partitions already created) and that I can directly write (e.g. using ‘dd’ on linux)


It will be a couple of hours until I get to the tech, will check then.

@khilman Please point out the image you want me to use.

1 Like

OK! krescue rebuilded with the latest DDR timing. plz download image again!

2019-12-04 06:32

1 Like

That boots fine on my VIM3L. Thanks!

@hyphop Oops, I spoke too soon. It booted fine the first time, but on the next reboots, I see DDR training failures, and then resets. Boot log here:

It seems to be kind of random. If I do multiple hard reboots, it will occasionally boot to u-boot and then into the rescue kernel, but most of the time it fails DDR training and resets multiple times.

plz download check again (rebuild from 2019-12-05 21:56 )

Hi @khilman
Can you help to take a hi-res photo and post here, we want to check which DDR model is used on your board.

Sorry for the trouble.

BTW, we will ship you some new VIM3L simultaneously, check your email for the details.

Good day!

HI @Gouwa,

Here’s a photo of the DDR.


@hyphop with your new rescue image, I still have the same issues.
Here’s a boot log where you can see the training errors:

Hello @khilman

DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jul 17 2019 13:54:20

The u-boot in the eMMC is broken, seems you have flash other firmware to the VIM3L which doesn’t support the VIM3L LPDDR4 (the correct DDR driver_vesion should be LPDDR4_PHY_V_0_1_18 on our GitHub), so that you can’t boot well.

In this situation, you will also can’t boot from the SD card, so that you can’t use the krescure, for the boot sequence you will always boot from eMMC first, so it will always load the borken u-boot from eMMC.
So you have to reflash the eMMC via MASKROM mode.


YES! i have check your last logs again! broken uboot start from emmc its looped and cant stard from SD

last krescue must have boot string aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_18 build time: Jul 31 2019 19:17:53

plz clear emmc at first as say @numbqq

You’re right. I thought I had erased eMMC, but it appears not. Thanks.

I’m now not able to get the board into MASKROM mode. The TST approach from the wiki doesn’t work. On the serial console, I see that it causes the “boot times” counter to reset to zero, but otherwise keeps loping.

I also tried the MRegister mode, but it’s not clear from the wiki what the “two pads of the M register” are. I see a single test-point labeled M, which based on the VIM3 schematics (I hope they are the same as VIM3L for this part) looks like TP7, connected to GND. Based on that, I connect R84 to TP7 and this seems to disable the eMMC.

However, this does not seem to enable USB boot for the MASKROM as expected. Rather, it continues to keep booting from the eMMC, but fails to load FIPs from eMMC.

Looking at the initial string SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:D;RCY:0;USB:0;EMMC:0;READ:0;0.0;CHK:0; it seems like the MASKROM is not detecting a USB connection (even though USB-C is conntected to host PC)

The contacts can be seen in this image…

Yes, I figured it out from the image + schematics, but the wiki is still pretty unclear.
Also, even with that short, it still doesn’t enter USB mode in the MASKROM.

I’m not entirely sure how I finally achieved a USB connection when testing mainline u-boot things on a VIM3 last week (and saw exactly the same issue when I built u-boot with the wrong FIP binaries) but I think I achieved this by holding the reset button, powering on the board, then releasing the reset button. I also find the white PSU that came with VIM3/VIM3L harder to connect to a board in a case than the older PSU from a VIM1/VIM2 (the connector isn’t as long) so I swapped PSU and cables. I’m not sure that had any impact tho! … in the end I randomly and repetedly pressed buttons and applied power until I got the “something connected” sound in a Win10 VM and I was able to reflash using the Amlogic burning tool.

yes write before about this

It seems to be kind of random. If I do multiple hard reboots, it will occasionally boot to u-boot and then into the rescue kernel

if krescue booted ones plz run next command from terminal

mmc_erase fast - this command remove all bootloaders from emmc

after what u can easy boot from sd

Now that I realized emmc is not completely erased, I was hoping to do that, but now it’s not really random anymore. It never tries to boots from SD.

Sorry to necro an old thread, but I’ve been trying to figure out all the intricacies of u-boot on VIM3L so that I can get my system configured to boot Armbian off of EMMC, and I believe I may be experiencing this problem.

I ordered a pair of VIM3L very early, so they are likely from this early batch, and I am seeing a DDR training failure in u-boot when I try to boot off of EMMC using the u-boot from krescue. Krescue boots fine, but when I select the option to install u-boot and try to boot off of EMMC it fails.

As another point of reference, I can install and boot into Android from EMMC, but then I can’t get the board to boot off of sdcard to install Armbian using that u-boot.

What is the easiest way to get a u-boot that is proper for this board?

Edit: One more possible issue when booting: It looks like it reads a /boot.cmd off of the EMMC (mmc2), and then says “Card did not respond to voltage select!”. Then it scans for USB devices and falls back to trying to net boot.

Edit2: When booting from sdcard it gets the same DDR training error, but then reads the /boot.cmd from the sdcard and proceeds to boot. I’m not sure if that’s good or bad. :slightly_smiling_face:

if krescue can start !
plz try to install for example coreelec to emmc this installation which have already propef uboot for next load other OS from SD / USB

GOODLUCK plz write me about any results !