Can't boot draonboard410c of Debian 16.09 due to the voltage of L11=0

Hi all,

I use the same SD card to install sd-img, I found that Debian 16.06 is OK, but 16.09 is NG.
And I check the SD clock, the clock is 50MHz in 16.06, 200MHz in 16.09
If the SD card can’t boot, the voltage of L11=0
SD card information : SDHC UHS-I

How can I resolve it?

there is a major change in the SD installer done in 16.09. Starting with 16.09 we are using recent kernel for the installer, until then we were still using the same kernel since board launch (based on the original 4.0 branch).

What you describe looks like a bug in the 16.09 kernel. any chance you can provide UART boot log?

the log, please refer to the link:
https://drive.google.com/open?id=0B312WrH549WWUTR4Xy1uaGNmck0

Hi ndec,

How can I get the kernel source code of “bootloader_sd_linux” from http://builds.96boards.org/snapshots/dragonboard410c/linaro/rescue/latest/
the link is not found : https://git.linaro.org/landing-teams/working/qualcomm/lk.git/shortlog/refs/heads/release/LA.BR.1.2.7-03810-8x16.0+sdboot

hmm. right, the link is broken… but the branch is there.

https://git.linaro.org/landing-teams/working/qualcomm/lk.git/log/?h=release/LA.BR.1.2.7-03810-8x16.0%2Bsdboot

we will need to change how the links are done. if you can open a bug on bugs.96boards.org so that we don’t forget to fix it, that would be nice

Please next time, try to send console log as plain text (pastebin?).

clearly from the log the SD card is not being detected. so there is a bug with UHS-I card in this specific kernel build…

we are currently testing a new kernel, based on 4.9 , since we switched away from our 4.4 branch. Do you think you could try this build: http://builds.96boards.org/snapshots/dragonboard410c/linaro/debian/205/ with the same SD card and tell us the status?

I will do testing on my side as well, but not before b/o April (i am traveling next week).

thanks

I try #205, and the result is still NG, the same as Debian 16.09.

Here is what I trying:
Step1. Modify kernel img of the solution: SD card mount issue in Linaro - #7 by pradeep
Step2. Build a SD img with the same SD card
Step3. Plug in SD card to boot, but it is NG. (L11=0v)
Step4. Adding Independent power supply 3.3v for L11, and boot from SD card successfully
Step5. Unplugged SD card, remove Independnt power supply 3.3v for L11, and then dragonboard power on successfully
Step6. Plug in SD card now, and OS can detect it.

If I didn’t do Step1, Step6 will be NG.
Why I set “l11” regulator “always-on” for regulator in device tree, it can be OK after power on mode, but still NG when booting from SD card?

ok, thanks for your help

based on your report , it looks like a bug. i am not sure yet where (LK or kernel), and that needs investigation. can you please report the issue here https://bugs.96boards.org/enter_bug.cgi?product=Dragonboard%20410c. We will look into that for next release.

Hi ndec,

Thanks for your reply.
This bug occurs on our trial run board, not all of them having this issue.
Could you please provide me a testing LK or kernel that the voltage of L11 always on?

hi,

sorry, i am not sure i understand. On which board do you see this issue? On DB410c? What are the ‘trial run board’ you are referring to?

I am sorry for confused you, this issue is occurred on our designing board, by Qualcomm® Snapdragon™ 410 Processor APQ8016

Hi @anon91830841,

Sorry that I’m not familiar with Debian Kernel side.
But I’m also interested about it.
It seems Miles tried to set L11 regulator to “always-on” in dtsi, and it seems L11 only always on after power on.
But it seems in SD card boot mode, L11 didn’t provide the power. (L11 didn’t power on)
I am not sure whether it may need to modify SD installer or other side…
Do you know how could we keep L11 regulator always on when using installing SD card to flash the image?

Thanks.

Best regards,
Johnny

hi @gkb-miles

sorry about delay, but I am travelling these days…

Ok, so it looks like the regulator config is different on your board, compared to DB410c… And the problem is that our binary images only support db410c. It probably worked before ‘by accident’ and we moved to a newer kernel the regulator that you relied on is no longer turned on.

I still haven’t been able to try on DB410c myself, have you tried? what’s the behavior on db410c?

If we start having board level difference between DB410c and their derived boards (like yours), this opens a new set of issues that we are going to have to deal with… which starts with device tree management. I suppose that you might be reusing the device tree from db410c on your own hardware, or do you have your own?

Based on the board differences, we might end with different DTB for each board. If we need more than just DTB differences, and need actual kernel patch, we will need to decide how we proceed with them. Mostly on a case by case basis.

hi @dodoamuro

the SD installer is a Linux application. When the board boots from SD card, the bootloader (first stage and LK) are loaded from SD card, and then LK will load the boot image (with the kernel and device tree) from SD card as well. Then the kernel boots from there. Finally the kernel will mount the root fs from a block device on the SD card.

We made mostly 2 changes in the last release of the SD installer:

  • the kernel was upgraded from 4.0 based branch to 4.4
  • the installer used to be a Qt5 application loaded from the initramfs, and now it is loaded from rootfs on SD card

So until last release the kernel would never try to mount the SD card, that’s why there was no issue in fact…

Hi @anon91830841,

So it seems that if we want to power on the L11 at early beginning when boots from SD card, we may need to modify the bootloader (first stage and LK)?
But it seems that bootloader is not open source for us, so it means that we cannot achieve it?
If I have anything wrong or misunderstand, please just correct me~

Thanks.

Best regards,
Johnny