Skip to main content
Question

firmware update for M.2 Metis

  • July 23, 2026
  • 0 replies
  • 13 views

On a x64 based system with a Metis M.2, i am trying to do a firmware update for the device but getting an error.

(axelera-env) devuser@linuxdev:~/voyager-sdk$ axdevice interactive_flash_update

WARNING: AXELERA_DEVICE_DIR environment variable not set.
Using AXELERA_DEVICE_DIR=/home/devuser/voyager-sdk/axelera-env/lib/python3.12/site-packages/axelera/omega
WARNING: AIPU_RUNTIME_STAGE0_OMEGA environment variable not set.
Using AIPU_RUNTIME_STAGE0_OMEGA=/home/devuser/voyager-sdk/axelera-env/lib/python3.12/site-packages/axelera/omega/bin/start_axelera_runtime_stage0.bin
>>> Metis Flash Update Script
>>> =========================
>>> Auto-detecting and updating all connected devices...

>>> Detected 1 device(s) from axdevice
>>> ==============================================
>>> Found 1 device(s):
>>> - metis-0:81:0
>>> ==============================================

>>> Device metis-0:81:0 needs firmware update (current: 1.2.0-rc2, target: 1.7.0)
>>> Processing firmware update for device metis-0:81:0...
>>> Running First Time Flash Update
>>> ===================================
>>> Target device: metis-0:81:0
>>> Loading AIPU runtime stage0...
[libaxldev_linux.c:1660] Device command CMD_LOAD_FW (id 0x6e) returned an error code.
[libaxldev_linux.c:1663] Consider inspecting the device log via `axtrace --slog`.
Failed to load firmware.
>>> ERROR: Failed to load AIPU runtime stage0
>>> ERROR: Failed to update firmware for device metis-0:81:0

>>> ==============================================
>>> UPDATE SUMMARY
>>> ==============================================
>>> Total devices: 1
>>> Devices needing firmware update: 1
>>> Devices needing board controller update: 0
>>> Devices fully updated: 0
>>> Devices failed: 1
>>> ==============================================

>>> ERROR: Some devices failed to update
>>> Please check the errors above and retry

 

reason for the firmware update when trying to run inference examples, the inference runs but get some error/warning messages below is output of axdevice and axtrace --slog below

i am running SDK 1.7 on Ubuntu 25.04 ,  i got it running by installing python 3.12 version using uv on ubuntu 25.04

(axelera-env) devuser@linuxdev:~/voyager-sdk$ axdevice
[libaxldev_linux.c:1660] Device command CMD_BOARD_CTRL_VERSION (id 0x2bc) returned an error code.
[libaxldev_linux.c:1663] Consider inspecting the device log via `axtrace --slog`.
[libaxldev_linux.c:1660] Device command CMD_BOARD_CTRL_BOARD_TYPE (id 0x2bd) returned an error code.
[libaxldev_linux.c:1663] Consider inspecting the device log via `axtrace --slog`.
WARNING: Failed to parse response after board controller firmware version query: ''
Device 0: metis-0:81:0 1GiB metis-m2 flver=1.2.0-rc2 bcver=0.0 clock=800MHz mvm=100%
(axelera-env) devuser@linuxdev:~/voyager-sdk$ axtrace --slog
[00:21:13.411,529] <err> board_comm: Failed to send request 23: -12
[00:21:13.411,590] <err> service_monitor: Failed to send temperature request
[00:21:14.412,506] <err> board_comm: Failed to send request 23: -12
[00:21:14.412,567] <err> service_monitor: Failed to send temperature request
[00:21:15.413,482] <err> board_comm: Failed to send request 23: -12
[00:21:15.413,543] <err> service_monitor: Failed to send temperature request
[00:21:16.414,459] <err> board_comm: Failed to send request 23: -12
[00:21:16.414,520] <err> service_monitor: Failed to send temperature request
[00:21:17.415,435] <err> board_comm: Failed to send request 23: -12
[00:21:17.415,496] <err> service_monitor: Failed to send temperature request
[00:21:18.416,412] <err> board_comm: Failed to send request 23: -12
[00:21:18.416,473] <err> service_monitor: Failed to send temperature request
[00:21:19.417,388] <err> board_comm: Failed to send request 23: -12

 

Spanner
Axelera Team
Forum|alt.badge.img+3
  • Axelera Team
  • July 24, 2026

Hi ​@nkj!

I’d say it looks like the board controller isn't responding. This bit shows board_comm: Failed to send request 23: -12 and axdevice reports bcver=0.0, which suggests the host can't talk to the board properly, so the firmware load fails.

Here’s a couple of things to test out:

  1. Full cold power cycle. Shut down completely, cut power ~30s, boot back up (a reboot alone won't reset the board controller, and I’m often surprised how often this sorts things out!).

  2. Also, Ubuntu 25.04 isn't validated for Metis (only 22.04 / 24.04 are). Getting the SDK to launch via uv/Python 3.12 doesn't guarantee the driver and board-controller stack works, so that could be a root cause too. Are you able to test on 22.04/24.04?

Then re-check with axdevice. Once bcver shows a real version (not 0.0), re-run axdevice interactive_flash_update. If it's still 0.0, grab sudo dmesg -T | grep -Ei 'axl|pci|metis' and let’s take a look at that.

Hope this helps! Let me know how it goes. 👍