Skip to main content

@Victor Labian I’m also trying to setup rpi5 with metis m2. I have question what host OS you was using and have you changed anything in config.txt?

Hello ​@pautu227 

Thanks for reaching us.


 

I tested both Ubuntu 24.04 and Raspberry Pi OS, but remember that at the moment you need to use Docker container for this.


 

The only setting you need to do in config.txt is:

Enable PCIe Gen3 by following the instructions in: 

If you use a M.2 HAT different to the official Raspberry Pi HAT, you might need to add something extra. But that always appears in the documentation from the HAT’s manufacturer.


 

You can find all the details in https://support.axelera.ai/hc/en-us/articles/26362016484114-Bring-up-Voyager-SDK-in-Raspberry-Pi-5. I’d highly recommend to go through it :)


 

Hope this info helps,

 

Victor


@Victor Labian I’m also trying to setup rpi5 with metis m2. I have question what host OS you was using and have you changed anything in config.txt?

Welcome on board!  😃. What kind of project are you working on ​@pautu227?


@Victor Labian Thanks for fast response.

 

I'm using the official Raspberry Pi M.2 HAT+ (M-key) from RaspberryPi.dk with a Raspberry Pi 5. I’ve added the following line to config.txt:

dtparam=pciex1_gen=3

I also followed the Docker-based installation steps provided by Axelera. However, the Metis card does not appear (e.g., no /dev/metis-0:86:0 device is created).

The same m2 metis board does work correctly on my Gigabyte G292-Z20 server, where I get the following output:

refreshing pcie and firmware 0000:86:00.0 : Axelera AI Metis AIPU (rev 02) Device 0: metis-0:86:0 board_type=m2 fwver='v1.2.5' clock=800MHz(0-3:800MHz) mvm=0-3:100% Installation complete. To activate the environment...

However, I tried the board on other systems:

  • Jetson Orin Nano

  • Odroid M1

  • Raspberry Pi 5 with M.2 HAT+

  • Lenovo M910q

And on all of these, I get an error like:

Failed to: refreshing pcie and firmware

My Question:

Could there be different versions of the Metis M.2 card (e.g., firmware, revision, compatibility) that cause this issue on ARM and some x86 devices? Or are there specific PCIe, power, or BIOS/firmware requirements that must be met for the card to initialize correctly?


@Victor Labian I’m also trying to setup rpi5 with metis m2. I have question what host OS you was using and have you changed anything in config.txt?

Welcome on board!  😃. What kind of project are you working on ​@pautu227?

Great to be here!
I’m building observation system with two sensors RGB + THERMAL. Doing custom object detection and object segmentation with YOLO


Hello ​@pautu227 

Thanks for sharing the info.

Just to confirm, you are using Docker container, right?

Let’s take these actions:

  1. In Raspberry Pi 5 can you try doing a reboot and see if it helps?
  2. @pautu227 can you try following the troubleshooting guide in https://support.axelera.ai/hc/en-us/articles/26261515755538-PCIe-Troubleshooting-Guide and share with us the output you see for the different suggestions in the guide? Let’s start with the Raspberry Pi 5 with the following sections in the guide (can you also specify which OS you are using?):
    1. Check lspci output
    2. Update PCI IDs
    3. Remove and rescan devices with axdevice Voyager SDK tool
    4. Check the driver is loaded
    5. Check Firmware version of your Metis card uses triton_multi_ctx]
    6. Check Board Controller version of your Metis card uses triton_multi_ctx]

Thanks beforehand,

Victor


Setup:

Raspberry pi 5b 4gb 
Official Raspberry pi m2.hat+
Official power supply

Debian Bookworm 64bit
USB Boot from SSD

 



1. Reboot doesn’t help

2.1 lspci output: 

0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

paulius@raspberrypi:~ $ lspci -tv
-+-r0000:00]-
 \-r0002:00]---00.0--01]----00.0  Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

if I connect nvme drive - disk drive is present but no Metis present.
lspci -tv
-+-<0000:00]-
 +-<0001:00]---00.0-001]----00.0  KIOXIA Corporation NVMe SSD Controller BG4 (DRAM-less)
 \-s0002:00]---00.0-:01]----00.0  Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

Any ideas?

 


Setup:

Raspberry pi 5b 4gb 
Official Raspberry pi m2.hat+
Official power supply

Debian Bookworm 64bit
USB Boot from SSD

 



1. Reboot doesn’t help

2.1 lspci output: 

0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

paulius@raspberrypi:~ $ lspci -tv
-+- 0000:00]-
 \- 0002:00]---00.0--01]----00.0  Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

if I connect nvme drive - disk drive is present but no Metis present.
lspci -tv
-+-b0000:00]-
 +-b0001:00]---00.0-001]----00.0  KIOXIA Corporation NVMe SSD Controller BG4 (DRAM-less)
 \-)0002:00]---00.0-:01]----00.0  Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

Any ideas?

 

@Victor Labian ​@Spanner  backing to initial topic. Any ideas why I cannot see Metis on PCIe?


Hi ​@pautu227! I just found on the RPi forums about it sometimes negotiating itself back down to PCIe Gen2 in some circumstances (in that case it was a cable issue in the end). It did have a quick check to make sure Gen3 is running if you wanted to make extra sure about that?

sudo lspci -vv | grep -i 'LnkSta'

… should give you something like:

LnkSta: Speed 8GT/s (ok), Width x1 (ok)

If it says 5GT/s instead of 8GT/s, it’s still in Gen2 apparently. Worth a quick test?


Hi ​@pautu227 ,

We have tested Raspberry Pi 5 on Raspberry Pi OS and on Ubuntu 24.04 both with Docker.

We have tested booting from SD cards but not from SSD.

I would recommend you to:

This approach have been tested different times, so we expect it to work. If this works for you then we can test two things:

  1. Debian on SD card
  2. Boot from SSD but with RPi OS

That way we can see if the issue comes from using Debian or from booting from SSD.

Kind regards,

Victor


@Victor Labian i`ll test it with both sd and ssd that make no difference

i`ve got on this rpi gen2 of pcie1 activated

 

Hi ​@pautu227! I just found on the RPi forums about it sometimes negotiating itself back down to PCIe Gen2 in some circumstances (in that case it was a cable issue in the end). It did have a quick check to make sure Gen3 is running if you wanted to make extra sure about that?

sudo lspci -vv | grep -i 'LnkSta'

… should give you something like:

LnkSta: Speed 8GT/s (ok), Width x1 (ok)

If it says 5GT/s instead of 8GT/s, it’s still in Gen2 apparently. Worth a quick test?

 

LnkSta: Speed 5GT/s, Width x1

LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-

LnkSta: Speed 5GT/s, Width x1

LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-

LnkSta: Speed 2.5GT/s, Width x1

LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-

LnkSta: Speed 2.5GT/s, Width x1

LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-

LnkSta: Speed 5GT/s, Width x4

LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-

LnkSta: Speed 5GT/s, Width x4

LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-

 

 

lspci

lspci
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0001:01:00.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:03.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:07.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

 


I found this interesting “Prefetchable memory behind bridge: :disabled] ]64-bit]”

how to enable? could it be that the prefetch memory must be enabled?

 

lspci -v

0001:01:00.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch (prog-if 00 fNormal decode])
Subsystem: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
Flags: bus master, fast devsel, latency 0, IRQ 38
Bus: primary=01, secondary=02, subordinate=04, sec-latency=0
Memory behind bridge: 00000000-000fffff fdisabled] l32-bit]
Capabilities: i50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: i78] Power Management version 3
Capabilities: i80] Express Upstream Port, MSI 00
Capabilities: ic0] Subsystem: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
Capabilities: i100] Virtual Channel
Capabilities: i200] Advanced Error Reporting
Capabilities: i300] Vendor Specific Information: ID=0000 Rev=0 Len=c00 <?>
Kernel driver in use: pcieport

0001:02:03.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch (prog-if 00 fNormal decode])
Subsystem: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
Flags: fast devsel, IRQ 40
Bus: primary=02, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: ddisabled] l32-bit]
Memory behind bridge: ddisabled] l32-bit]
Prefetchable memory behind bridge: ddisabled] l64-bit]
Capabilities: i50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: i78] Power Management version 3
Capabilities: i80] Express Downstream Port (Slot+), MSI 00
Capabilities: ic0] Subsystem: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
Capabilities: i100] Virtual Channel
Capabilities: i200] Advanced Error Reporting
Kernel driver in use: pcieport

0001:02:07.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch (prog-if 00 fNormal decode])
Subsystem: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
Flags: fast devsel, IRQ 40
Bus: primary=02, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: ddisabled] l32-bit]
Memory behind bridge: ddisabled] l32-bit]
Prefetchable memory behind bridge: ddisabled] l64-bit]
Capabilities: i50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: i78] Power Management version 3
Capabilities: i80] Express Downstream Port (Slot+), MSI 00
Capabilities: ic0] Subsystem: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
Capabilities: i100] Virtual Channel
Capabilities: i200] Advanced Error Reporting
Kernel driver in use: pcieport

 


one guess I got … has it enough power?

sudo rpi-eeprom-config --edit
dall]
PCIE_PROBE=1
BOOT_UART=1
BOOT_ORDER=0xf461
PSU_MAX_CURRENT=5000

and in /boot/firmware/config.txt at the bottom

dtparam=pciex1_gen2
dtparam=pciex1_gen=2
dtparam=nvme
sudo reboot

 


Morning ​@florit! Looking at this…

dtparam=pciex1_gen2
dtparam=pciex1_gen=2
dtparam=nvme
sudo reboot

 

… it looks like it might be using PCIe gen2, which is the native option on the Raspberry Pi, but the Metis needs gen3. I think you might have already activated that, if I remember from another post? But maybe the HAT is being detected as a gen2 device, and is forcing the whole chain to gen2?

You might be right about power, as well. An RPi5 without a HAT or SSDs can be flakey without enough juice! 😅 Are you using the official RPi PSU? Those are usually powerful enough.


Hi ​@florit , details about how to enable PCIe gen 3 on RPi 5 with official RPi M.2 HAT can be found in https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#pcie-gen-3-0


Morning ​@florit! Looking at this…

dtparam=pciex1_gen2
dtparam=pciex1_gen=2
dtparam=nvme
sudo reboot

 

… it looks like it might be using PCIe gen2, which is the native option on the Raspberry Pi, but the Metis needs gen3. I think you might have already activated that, if I remember from another post? But maybe the ASMedia ASM1182e switch is being detected as a gen2 device, and is forcing the whole chain to gen2?

You might be right about power, as well. An RPi5 without a HAT or SSDs can be flakey without enough juice! 😅 Are you using the official RPi PSU? Those are usually powerful enough.

yes I´ve tested with gen3 in another post … but now moved to another pi case with the GeeekPi X1004 hat what actually got gen2 see: https://wiki.geekworm.com/X1004 

it´s hard to find a hat with gen3 support when it´s official not supported

so I switched to gen2 … see: https://docs.sunfounder.com/projects/pironman5/de/latest/ what support gen3  official 


I wonder if that’s the issue, and why the M.2 has disappeared? I think Gen3 is a requirement as far as the Metis is concerned. As a test, are you able to boot up without the X1004, and see if reactivating at least bring the Metis back into play?


I‘ve tested on the gen3 case … but no luck 

 

• uninsalled driver

• ready set to pcie1_gen3

• complete Powers off

• followed instructions what told ​@Victor Labian 

• installed dkms driver

• finaly reboot 

 

but it does Not shine up on lspci

Only 

0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South

Shine up

 

should I rma this Card?

tomorrow comes a second one so I can Test if it is the m.2 Modul … if the First Modul is broken so I Must rma the Card … if the second m.2 too dont shine up then is it a config Problem within the Raspberry Pi OS


Hmm, looks like you’ve ticked all the boxes, yeah. Perhaps if we see what happens tomorrow with the second card, we’ll have a better idea whether it’s a config or power issue, or if it’s a card fault. 👍

Thanks for keeping us update on the progress, by the way!


both now in the m.2 hat 

and again …. m.2 hat cannot be found

 

0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

this could be a power issue

with one aipu

0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0001:01:00.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:03.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:07.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

nope

 

0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0001:01:00.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:03.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:07.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:03:00.0 Non-Volatile memory controller: Micron/Crucial Technology P310 NVMe PCIe SSD (DRAM-less) (rev 01)
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

so i do not know what's the problem

it could be that the m.2 hat give up functionality on the metis board


Thanks for the update ​@florit. As you say, it  looks like the system is more stable with just one installed. That might suggest a power or PCIe resource limit when using both at once? I wonder if the power is being provided to the M.2s via the Pi’s GPIO, and it can’t send enough juice through those lines?


I wonder if the power is being provided to the M.2s via the Pi’s GPIO, and it can’t send enough juice through those lines?

don't think that's the problem once more test I remove the tpm2


it is a power issue

i removed the tpm2 and ssd and boot from sd

0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0001:01:00.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:03.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:02:07.0 PCI bridge: ASMedia Technology Inc. ASM1182e 2-Port PCIe x1 Gen2 Packet Switch
0001:04:00.0 Processing accelerators: Axelera AI Metis AIPU (rev 02)
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

yes a power issue with tow m.2 cards it fallback to zero devs


I can confirm 

with a dual m.2 hat it has enough power … but only one m.2 metis device on slot 1 and boot from sd not ssd


Great work getting to the bottom of that, ​@florit!


well the line

in eeprom is needed

had it brought both raspberry pi 5 to work

without this line it show nothing

so on get:

 

PSU_MAX_CURRENT=5000

 


Reply