Skip to main content

Hello everyone, I am trying to use the Metis PCIe (4GB) in combination with the firefly ITX-3588J.

Issue: I can not load the Metis kernel module (driver) into the Linux kernel

Setup:

  • I have the Metis PCIe with 4GB of ram
  •  the Firefly ITX-3588J with 16GB of ram with a RockChip. OS: Ubuntu 22.04.4 LTS.
  • I have a Gen3 Pcie with 4 lanes, details below

```

        LnkCap:    Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <4us, L1 <16us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
```

 

So far:

``` firefly@firefly:~$ lspci | grep accelerators

01:00.0 Processing accelerators: Axelera AI Metis AIPU (rev 02)

```

  • however, i do not detect any drivers for the board, even after installing the sdk. Both the following commands do not return anything:

```

lsmod | grep metis
ll /dev/ | grep metis

```

What i tried: im following this troubleshooting guide: https://support.axelera.ai/hc/en-us/articles/26261515755538-PCIe-Troubleshooting-Guide

 

1.`axdevice --refresh` gives me an error

```

(venv) firefly@firefly:~$ axdevice --refresh 
modprobe: FATAL: Module metis not found.
0000:01:00.0 : Axelera AI Metis AIPU (rev 02)
ERROR: No AIPU driver found in lsmod output
ERROR: AXR_ERROR_CONNECTION_ERROR: No AIPU driver found in lsmod output
```

2.modprobe gives me an error (not found)

```

(venv) firefly@firefly:~$ sudo modprobe metis
modprobe: FATAL: Module metis not found in directory /lib/modules/5.10.160
```

3.I am trying to do this “Disable PCIe ASPM (Active State Power Management)”. However there is uboot on the firefly, insted of grub (your guide gives me indications for grub). I still culd not fige how to disable these power managements in uboot

4.looks like secure boot is not supported in my system, so i can not enable/disable it

```

(venv) firefly@firefly:~$ sudo mokutil --sb-state
EFI variables are not supported on this system
```

apparently, the os is booted in legacy mode, and Linux won’t expose `/sys/firmware/efi`. I believe is because im not using grub

5.kernel drivers are not loaded: `cat /sys/class/metis/version` returns me nothing

6.i could not check the firware version of the board

```

(venv) firefly@firefly:~$ triton_multi_ctx --bc-version
[libtriton_linux.c:985] Could not open directory '/sys/class/metis/': No such file or directory
Fail to get device name
```

---

I attach the verbose log of my voyager sdk build

i only get one warning that looks suspicous

```

refreshing pcie and firmware
WARNING: Failed to refresh pcie and firmware

```

 

---

possible solution:

in the toubleshooting guide above there is a title “Check memory overlays of your SOC”. Looks like rockchips are affected by this issue

“The board has a Rockchip chip or another SOC such as NXP or Broadcom SOCs”

It is written tha you could get me some help to fix this problem

```

Solution

You need to increase the size in your custom device-tree or insert a PCIe overlay.

Contact Axelera AI if you need further help, explaining which SOC you have in your board.

```

Do you have more specific instructions to make this modification on the firefly board?

 

thanks a lot, and sorry for the super long message :D

update:
from dmesg i do not get any entry with “axl* ”
however, from lspci i get `Prefetchable memory behind bridge: [disabled]`
 

(venv) firefly@firefly:~$ lspci -s 0000:00:00.0 -vv
00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 146
Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: 40000000-42ffffff [size=48M]
Prefetchable memory behind bridge: [disabled]
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
Expansion ROM at 920000000 [virtual] [disabled] [size=64K]
BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: <access denied>
Kernel driver in use: pcieport

 


Hi ​@lorenzo.lamberti !

Ah, this sounds like the Rockchip RK3588 issue around memory allocation, perhaps? The PCIe Troubleshooting Guide talks about this in the “Check memory overlays of your SOC” section. 👍

The System Imaging Guide for Firefly RK3588, might come in handy too.

Let me know how it goes!


Dear ​@Spanner ,

after a bit of summer break, i now will dive into my axelera+firefly setup again! :)

I am quite sure sure the problem is the memory overlays of the rockchip SOC. 

As i almost bricked my firefly board once, trying to fix this issue, would you be kind enough to see if there anybody in axelera that already solved this issue and could give me some more detailed instructions?

I would appreciate a lot. otherwise i will give a second try. Thanks!

Lorenzo


I don’t think there’s much that’s changed specifically with the host, ​@lorenzo.lamberti, but Voyager 1.4 has introduced a lot of great improvements! Keep me posted on how it goes!