Skip to main content
Question

Metis PCIe card unresponsive after Stage 1 firmware flash

  • April 1, 2026
  • 0 replies
  • 2 views

Card: AXE-BME20P1AJ04A02 (Metis 1-chip PCIe)
Host: ZimaBoard 2 (Intel N150), ZimaOS (kernel 6.12.25)
SDK: device-1.5.3-1, Voyager SDK v1.5

 

Setup: Since ZimaOS isn't officially supported, I compiled the metis driver (v1.4.4) from the DKMS package inside a Docker container matching the kernel headers, then loaded via insmod. Everything worked — axdevice showed the card at 16GiB, flver=1.2.0-rc2, bcver=1.0, clock=800MHz, all MVMs at 100%.

 

What happened: Ran interactive_flash_update.sh inside a privileged Docker container with device passthrough. Stage 1 completed successfully — DDR1/DDR2/FWIM written to secondary slots, "Update completed" confirmed.

After power cycle (full unplug for 2+ minutes), the card no longer responds:

  • dmesg: Invalid hdrv magic 0 / Fail to get hdrv area
  • Both PCIe BARs read all zeros via /dev/mem
  • axdeviceboard_type=unknown (not responding)
  • All triton_multi_ctx commands timeout (flashstatus, flashver, flashactivate, cold-boot 3, fwload)
  • interactive_flash_downgrade.sh: "Script not ready for deployment"

 

Root cause theory: New firmware 1.5.0 can't boot with Board Controller v1.0 (target is v7.1). Bootloader isn't falling back to primary slot.

 

Card hardware is fine — PCIe enumerates, BARs assigned, driver loads. Just no firmware executing.

- Both BAR_0 (0x81010000) and BAR_2 (0x82000000) read all zeros via /dev/mem
 

Question: Is there a recovery procedure for this state? Or another way to force the bootloader back to the primary flash slot?