Jump to content

Shutdown operation doesn't power Orange Pi down


Recommended Posts


I have two Orange PI +2E machines. The first one I got was a while ago so it's running a 3.4.113 kernel (16.04), the more recent one I purchased is running 4.19.13 kernel (18.04) - both are Ubuntu Armbian. I've noticed when I use the "shutdown now" command on the older pi, the board actually powers off but when I use the same command on the newer kernel board, it never powers down. The newer board appears to stop all services and eventually report that the system is halted but it remains in that state. Is there a way to enable it to power off after a "shutdown now" is issued? I'm wondering if this is a kernel difference but it may be something else completely.




Link to comment
Share on other sites

  • Igor changed the title to Shutdown operation doesn't power Orange Pi down
  • Igor pinned this topic
1 minute ago, SpikeyGG said:

removed from the newer kernel?

Support for those chips in a modern kernel were mostly written from scratch. Due to incompatibility with a modern kernel and due to bad code quality ... which would never been accepted to the mainline kernel in a first place.

Link to comment
Share on other sites

On 12/12/2019 at 5:12 PM, wsian said:

Seems that kernel 5.3 solve this problem.

I wonder how it does that.

AFAICT, boards like Orange Pi PC Plus do not have any power management unit (e.g., something like AXP209).

Also, I do not see any PSCI support for shutdown.

No GPIO shutdown either.

There does not seem to be a syscon poweroff method too.

I looked at various drivers under drivers/reset and beyond and I could not find anything that would be compatible with Orange Pi H3-based boards.


So, I am very curious what mechanism Linux or Armbian uses for powering off on those boards .

Link to comment
Share on other sites

Yes, I am seeing the same with Armbian 20.05.4 Focal (Linux 5.4.45-sunxi).


At this point I think that the closest to soft poweroff would be some sort of custom firmware indeed.

The firmware would put a system into a deepest sleep state possible.

If it's ever woken up then it would reset the system.


I see some code in linux-sunxi repo that does something like that.

It looks like it copies some special code to a special address in SRAM (?).

Probably that code gets run to handle a wake-up or something like that.

I cannot find that code in the modern linux kernel.

Link to comment
Share on other sites

  • Igor unpinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines