Skip to main content
Question

Memory allocation failure (error -12) on the T6 Plus

  • September 1, 2026
  • 0 replies
  • 2 views

Hi,

For context, I am using the Axelera Embedded 110m module (Metis AIPU) on a NanoPC-T6 Plus board.

Please note that I am using the NanoPC-T6 Plus (LPDDR5 architecture), not the standard NanoPC-T6 (LPDDR4X). The official image provided for the standard NanoPC-T6 does not resolve the PCIe memory allocation failure (error -12) on the T6 Plus due to hardware and Device Tree differences between the two boards.

I have tested the official Ubuntu 22.04 and Ubuntu 24.04 OS images provided on the official NanoPC-T6 Plus wiki page, as well as the Armbian 26.8.3 NanoPC LTS and suggested joshuariek image, but the issue persists on all of them.

Here are the troubleshooting steps I have attempted so far:

  1. Added the recommended kernel parameters (pci=realloc=on and pcie_aspm=off) to the boot configuration.

  2. Decompiled and manually updated the ranges property in the Device Tree (.dtb) to expand the non-prefetchable MMIO window for the PCIe controller node.

  3. Performed a full cold power cycle (completely disconnecting the power cable) after each attempt.

Unfortunately, the kernel is still unable to assign the 32MB BAR 2 region due to space limitations (can't assign; no space):

  1. cat /proc/cmdline: Confirms pci=realloc=on pcie_aspm=off is active.

  2. sudo dmesg | grep -iE 'axl|pcie|0000:01:00.0':

    Plaintext

     

    pci 0000:01:00.0: BAR 2 [mem size 0x02000000]: can't assign; no space
    pci 0000:01:00.0: BAR 0 [mem size 0x00001000 64bit]: can't assign; no space
    axl 0000:01:00.0: Failed to request resources
    axl 0000:01:00.0: probe with driver axl failed with error -12
  3. axdevice: Still reports WARNING: PCI device count mismatch: lspci=1, triton=0.

Do you have an officially verified OS image or a pre-patched .dtb file specifically configured for the NanoPC-T6 Plus to support the Embedded 110m module?

Thank you for your support!