BeagleBone Black with PM (Power Management) functionality available in current release image?

The documentation is kernel documentation:

This is also mentioned at other pages like these, but not limited to:

I also tried quoting mem in single and double quotes, but no success.
Another strange thing is that i expect when i read the dmesg, i should see:

[    2.127075] **Trying to load am335x-pm-firmware.bin (60 secs timeout)**
[    2.137084] **Copied the M3 firmware to UMEM**

However, this is not shown in my log.. What can i do to make it load this file?

Kind regards,



> *However, this is not shown in my log.. What can i do to make it load
> this file?

I misunderstood your question....

It seems that acpid is not running on the BBB

upowerd is running
upower --monitor-detail might show something

The firmware is built into the kernel:
root@beaglebone:~# gunzip -c /proc/config.gz |grep am3

I don't see that file on the bbb so it's compiled into the kernel.

To answer yur question it seems that angstrom doesn't have acpi

ACPI is an x86 only concept, it does not exist on ARM. What you need
is lmsensors which supports the sensors directly rather than relying on
BIOS (of which ACPI is part).


I am getting a similar error on Angstrom for the Beaglebone vA6. Is it a dead end? Or is a work around possible?

Has anyone tried a different OS? Ubuntu? Fedora? Android?

I did some research on the internet and found the following things:

  • The PM functionality shown in the examples is based on the Arago/TI Linux SDK. This used kernel is 3.2 and board support is limited to the AM335X EVM or the Beaglebone.
    Trying booting this kernel will result in an error (CONFIG_DEBUG_LL=y) that the device tree platform is not supported.
    Beaglebone black comes with 3.8.13 shipped (my A5B version). BBB support is available in the SDK. This SDK is planned for release in june (see post)

  • The AM33X-C3 (Power management firmware/loader) has a different method of initializing when used on 3.8 kernels. On 3.2 kernels, this firmware/loader is embedded into the kernel image.
    on 3.8 kernels, some kind of init script must be executed in /etc/init.d/
    This is stated in this patch:

This way, the firmware is present on the rootfs, and loaded into the M3 core by accessing the sysfs driver.
On my rootfs, this 44d00000.wkup_m3 is not present. I will try to add it to my device tree file boneblack.dts.

To summarize, i see two options for me:

  • Wait for the SDK and have am33X-C3 working out of the box
  • Alter device tree file, get the firmware loader working, and upload the M3 firmware into the UMEM.

Are there any suggestions on the second approach?

Kind regards,


I don’t think it’s a “must”. Firmware on disk or in the kernel is your
choice. That is to say if you want it built into the kernel you can
or you can load it from disk. Just as an example a 3.2 kernel can
load firmware from disk or have it built in. 3.8 can do the same.
Built-ins can make devices available sooner during boot.

Thanks for replying :wink: I am familiar with kernel configurations as built-in or module. However the following was stated by Anders Darander:

But, the SDK will have no support for HDMI.


Resources. Not a lack of expertise.


Hi Mathijs van den Berg

I want to make BBB’s Angstrom to enable pm suspend/wakeup by “echo mem > /sys/power/state”. I follow the instruction to rebuild the angstrom
with am335x-pm-firmware.bin. The instruction is But I fail to enable the suspend/wakeup power management.

Could you send me some instructions about how to enable suspend/wakeup power management on Angstrom BBB.