Jump to content

Orange Pi PC+ will not boot Armbian


phillc54

Recommended Posts

Hi All,

 

I am having no luck getting my OP PC+ to boot the Armbian_5.20_Orangepipcplus_Debian_jessie_3.4.112_desktop.img.

 

I have followed https://docs.armbian.com/User-Guide_Getting-Started and after writing to the sd card then trying to boot the monitor remains blank, both lights on the lan socket stay on and the green light stays on.

 

I have tried two sd cards, both of which I have tested with f3write and f3read.

 

I have been able to boot with both sd cards using the OrangePI_Jessie_Xfce.img from https://mega.nz/#F!wh8l2BjK!OBep3nMldBletvNNwkH2Jg

 

I have noticed that this Jessie image puts a boot partition plus the linux partition on the sd card and the Armbian image only puts a linux partition on the sd card. (I don't know if that has any bearing on the problem or not)

 

Hopefully someone can tell me where I am going wrong.

 

Cheers, Phill  :)

 
Link to comment
Share on other sites

Some boards have troubles with early uboot init but this I can only guess since for that I would need to see u-boot console log. There are two things what you can do from here: attach a serial console and see what's going on - where it stops and second: try image from "Night release", which has many imprevements -> https://www.armbian.com/orange-pi-pc-plus

Link to comment
Share on other sites

With Armbian_5.20_Orangepipcplus_Debian_jessie_3.4.112_desktop.img the console gives:

 
U-Boot SPL 2016.09-armbian (Sep 15 2016 - 07:28:57)
DRAM: 1024 MiB
Trying to boot from MMC1
MMC: no card present
spl: mmc init failed with error: -123
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
 
I then download Armbian_5.24.161219_Orangepipcplus_Ubuntu_xenial_3.4.113.img and the console gives:
 
U-Boot SPL 2016.11-armbian (Dec 18 2016 - 11:59:56)
DRAM: 1024 MiB
Trying to boot from MMC1
MMC: no card present
spl: mmc init failed with error: -123
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
Link to comment
Share on other sites

Also got a OPiPC+, so far everything works ok here.

 

Did you notice the "MMC: no card present"?

 

There might be an issue in the SD card used, or in the SD receptor itself (broken pins?)

You could have an inspection in the SD receptor hardware for any damage or contacts issue and of course try to use a very good SD..

Link to comment
Share on other sites

Success...

 

I found https://forum.armbian.com/index.php/topic/2706-armbian-with-orangepi-pc-plus-on-emmc/

and followed the instructions ( thank you Hugo Cardozo ):

 

put OrangePI_Jessie_Xfce.img.xz from https://mega.nz/#F!wh8l2BjK!OBep3nMldBletvNNwkH2Jg on a SD card

 

put Legacy 3.4.112 Jessie desktop from https://www.armbian.com/orange-pi-pc-plus/ on a USB stick

 

put SD card and USB stick in OPI-PC+

 

boot OPI-PC+

 

login from serial console

 

dd Armbian image from USB stick to eMMC

 

shutdown OPI-PC+

 

remove SD card and USB stick

 

boot OPI-PC+ and it goes through the standard boot procedure...

Link to comment
Share on other sites

I got 4 of orange pi pc plus boards, and I am having exactly the same problem with only 1 of these boards.

And phillc54's solution fixed the problem. But I wonder what's the cause of the problem...

That means you tried also nightly builds in that faulty board?

Link to comment
Share on other sites

Some boards have troubles with early uboot init but this I can only guess since for that I would need to see u-boot console log. There are two things what you can do from here: attach a serial console and see what's going on - where it stops and second: try image from "Night release", which has many imprevements -> https://www.armbian.com/orange-pi-pc-plus

How do I generate this uboot log -> "since for that I would need to see u-boot console log." 

 

I'm grabbing nightly now, so maybe it's auto-enabled.

Link to comment
Share on other sites

No luck:

Armbian_5.26.170226_Orangepipcplus_Ubuntu_xenial_dev_4.10.0.img / Armbian_5.26.170226_Orangepipcplus_Ubuntu_xenial_dev_4.10.0.7z
U-Boot SPL 2017.01-armbian (Feb 25 2017 - 04:11:39)
DRAM: 1024 MiB
Trying to boot from MMC1MMC: no card present
spl: mmc init failed with error: -123
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
 
FYI these same SD cards boot fine on other OPiPC+ boards.
Link to comment
Share on other sites

Trying to boot from MMC1MMC: no card present

This may happen if microSD slot card detection switch is broken (I have the same issue on my Pine64 - I can make it boot by pushing the card to the side when powering on, but I'll probably disable card detect switch or replace the microSD socket in the future). This can be worked around by recompiling the u-boot and changing kernel configuration (fex or DT).

Link to comment
Share on other sites

This may happen if microSD slot card detection switch is broken (I have the same issue on my Pine64 - I can make it boot by pushing the card to the side when powering on, but I'll probably disable card detect switch or replace the microSD socket in the future). This can be worked around by recompiling the u-boot and changing kernel configuration (fex or DT).

 

Aha.   So in short, the Lubuntu/Rasbian distro uboots don't reference the SD card detect h.switch.  But Armbian does (which sounds like a technically good thing to do)

 

I'm curious, is there a benefit to checking the switch?

 

Or is it better to perhaps do what they do which is I'm guessing... read and check for success/fail?

Link to comment
Share on other sites

Aha.   So in short, the Lubuntu/Rasbian distro uboots don't reference the SD card detect h.switch.  But Armbian does (which sounds like a technically good thing to do)

If Lubuntu and Raspbian use legacy u-boot then most probably it ignores card detect switch (i.e. legacy u-boot on Pine64 still boots fine)

 

I'm curious, is there a benefit to checking the switch?

In u-boot and SPL for sunxi devices - no, in kernel - maybe, but card presence can still be detected by polling. But this is a question of describing hardware configuration regardless of its usefullness, so if there is a CD switch of "correct" polarity, it is assumed to work.

Link to comment
Share on other sites

If Lubuntu and Raspbian use legacy u-boot then most probably it ignores card detect switch (i.e. legacy u-boot on Pine64 still boots fine)

 

In u-boot and SPL for sunxi devices - no, in kernel - maybe, but card presence can still be detected by polling. But this is a question of describing hardware configuration regardless of its usefullness, so if there is a CD switch of "correct" polarity, it is assumed to work.

 

Thanks for the info.  I temporarily grounded out pin 9 of the SD card slot (pin nearest edge of card slot) and uboot was able to complete.

 

However, since it was hand-held, the kernel later hung at:

...

Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.

...

Begin: Running /scripts/local-block ... done.

Begin: Running /scripts/local-block ... done.

done.

Gave up waiting for root device.  Common problems:

 - Boot args (cat /proc/cmdline)

   - Check rootdelay= (did the system wait long enough?)

   - Check root= (did the system wait for the right device?)

 - Missing modules (cat /proc/modules; ls /dev)

ALERT!  UUID=928bf014-2cec-480f-98f2-ae0af0e9a28b does not exist.  Dropping to a shell!

Rebooting automatically due to panic= boot argument

[   67.957787] reboot: Restarting system

 

So holding CD down a bit longer it later hangs at:

...

         Starting Update UTMP about System Runlevel Changes...

[  OK  ] Started Update UTMP about System Runlevel Changes.

 

So I said okay what the heck, let's at least get nand copy going before letting go of CD.  So I held CD low until the % progress bar started going and things seem to be progressing along.

 

Thanks all for the clues.  Perhaps in later uboots we can choose to ignore CD... but I think that's a decision best left to the people more closely involved as this is clearly a hardware problem (which happens often enough for OPiPC+ aparrently).  Huh... perhaps a more forgiving uboot just for OPiPC+? Bad idea? dunno.

Link to comment
Share on other sites

 Interestingly enough, hard wiring SD CD to ground and having no SD card will generate constant errors.  Right now, it's a bad idea :P

 

You will get constant errors

 


orangepipcplus login: [   21.186031] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 8, RTO !!
[   21.199645] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
[   21.209426] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
[   21.219214] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
[   21.228940] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
[   21.238730] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 1, RTO !!
[   22.385924] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 8, RTO !!
[   22.396793] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
[   22.404493] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
[   22.412190] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
[   22.419900] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!
Link to comment
Share on other sites

 

 Interestingly enough, hard wiring SD CD to ground and having no SD card will generate constant errors.  Right now, it's a bad idea :P

 

You will get constant errors

 

orangepipcplus login: [   21.186031] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 8, RTO !!

[   21.199645] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

[   21.209426] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

[   21.219214] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

[   21.228940] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

[   21.238730] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 1, RTO !!

[   22.385924] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 8, RTO !!

[   22.396793] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

[   22.404493] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

[   22.412190] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

[   22.419900] sunxi-mmc 1c0f000.mmc: smc 0 err, cmd 55, RTO !!

You have to change SD detection mode for the kernel (fex or DT) to avoid this issue.

Link to comment
Share on other sites

23 minutes ago, Vincent Liet said:

Can you give me the option for this mode? Where can I find it in the kernel?

For the mainline u-boot you have to recompile it with

CONFIG_MMC0_CD_PIN=""

added to the config file (or set via menuconfig)

 

For the legacy kernel you have to change "sdc_detmode" in the fex file for your board (kernel code and some FEX files should have comments about possible values for this option)

 

For the mainline kernel you have to remove "cd-gpios" property and add "non-removable" or "broken-cd" properties to the mmc0 node - check Documentation/devicetree/bindings/mmc/mmc.txt in the kernel source for the details.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines