# Setup MX\_Bench --hello

**URL:** <https://community.memryx.com/t/setup-mx-bench-hello/84>\
**Category:** Technical Support\
**Created:** [June 9, 2025, 4:33pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84 "2025-06-09T16:33:49Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 9, 2025, 4:33pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/1 "2025-06-09T16:33:49Z")

</div>

Get the following response on trying to verify install on a raspberry pi5 - removed directory and user info leaving just the mx/

(mx) ~/mx $ mx\_bench --hello  
Traceback (most recent call last):  
File “mx/bin/mx\_bench”, line 8, in   
sys.exit(main())  
^^^^^^  
File “memryx/runtime/benchmark.py”, line 611, in memryx.runtime.benchmark.main  
File “mx/lib/python3.11/site-packages/grpc/\_channel.py”, line 1181, in **call**  
return \_end\_unary\_response\_blocking(state, call, False, None)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “mx/lib/python3.11/site-packages/grpc/\_channel.py”, line 1006, in \_end\_unary\_response\_blocking  
raise \_InactiveRpcError(state) # pytype: disable=not-instantiable  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
grpc.\_channel.\_InactiveRpcError: \<\_InactiveRpcError of RPC that terminated with:  
status = StatusCode.UNAVAILABLE  
details = “failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:10000: Failed to connect to remote host: connect: Connection refused (111)”  
debug\_error\_string = “UNKNOWN:Error received from peer {grpc\_status:14, grpc\_message:“failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:10000: Failed to connect to remote host: connect: Connection refused (111)”}”

> 

Verified MX3 is seen

~/mx $ lspci  
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)  
0001:01:00.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch  
0001:02:01.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch  
0001:02:03.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch  
0001:02:05.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch  
0001:02:07.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch  
0001:03:00.0 Non-Volatile memory controller: Micron Technology Inc 2550 NVMe SSD (DRAM-less) (rev 01)  
0001:06:00.0 Processing accelerators: MemryX MX3  
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

---

<div class="post-metadata">

**Author:** ![mx-tim](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.memryx.com/mx-tim/32/62_2.png) [@mx-tim](https://community.memryx.com/u/mx-tim)\
**Post date:** [June 14, 2025, 10:19pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/2 "2025-06-14T22:19:09Z")

</div>

Hi Joe, it looks like the `mxa_manager` service might not be running, or there could have been an issue loading the driver.

Can you please try the following and let us know the results:

1. Check that the driver is loaded with `sudo lsmod | grep memx` → should print that the module is loaded
2. Make sure the device initialized too with `ls /dev/memx*` → checks if the /dev node exists
3. If the first two pass, try restarting the manager with `sudo service mxa-manager restart`
4. If that still doesn’t work, do `sudo service mxa-manager status` and let us know the output to help with further debug.

Thanks!

---

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 16, 2025, 3:04pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/3 "2025-06-16T15:04:54Z")

</div>

I can’t respond with results or email back as I keep getting rejected

Sorry, new users can only put 2 links in a post.

---

<div class="post-metadata">

**Author:** ![mx-tim](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.memryx.com/mx-tim/32/62_2.png) [@mx-tim](https://community.memryx.com/u/mx-tim)\
**Post date:** [June 16, 2025, 8:37pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/4 "2025-06-16T20:37:25Z")

</div>

Hmmm, sorry about that! I’ve just updated the site settings to be more permissive. Can you please try again?

---

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 20, 2025, 3:42pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/5 "2025-06-20T15:42:14Z")

</div>

![image](https://canada1.discourse-cdn.com/flex008/uploads/memryx/original/1X/65e3ef651d8abf840eb331d2ce8d11e8c48b13f4.png)

---

<div class="post-metadata">

**Author:** ![abinila\_siva](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@abinila\_siva](https://community.memryx.com/u/abinila_siva)\
**Post date:** [June 24, 2025, 4:04pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/6 "2025-06-24T16:04:18Z")

</div>

Hi Joe,

Thanks for the screenshot. It looks like the driver might not have been loaded properly. Just to confirm—did you run the following setup command for ARM systems after the initial installation?

```auto
sudo mx_arm_setup

```

If not, please run the above command and then reboot your system.

After rebooting, try the following checks to verify the driver is properly loaded:

```auto
lsmod | grep memx
ls /dev/memx*

```

If the `memx` device doesn’t show up, try manually loading the driver with:

```auto
sudo modprobe -v memx_cascade_plus_pcie

```

Then, run the verification commands again:

```auto
lsmod | grep memx
ls /dev/memx*

```

At this point, you should be able to see the `memx` device node (`/dev/memx*`).

#### If the device still doesn’t show up:

Let’s try reinstalling the MemryX runtime drivers from scratch.

1. Uninstall Existing Driver:

2. Ensure Kernel Headers Are Installed:

3. Add MemryX Signing Key

4. Add the MemryX Repository

5. Update Package List and Install Drivers

6. Run ARM Board Setup (Important for Raspberry Pi)

7. Reboot the System

Once the system is back up, please run:

```
apt policy memx-drivers

```

This will confirm the driver version installed.

You can also refer to the full installation steps here for reference: [MemryX Driver Installation Guide](https://developer.memryx.com/get_started/install_driver.html)

Also, please recheck the following to verify everything is set up correctly:

```
lsmod | grep memx
ls /dev/memx*
sudo service mxa-manager status

```

Let me know how it goes after the reinstall.

Thank you.

---

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 24, 2025, 6:07pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/7 "2025-06-24T18:07:45Z")

</div>

![image](https://canada1.discourse-cdn.com/flex008/uploads/memryx/original/1X/d3568de81a68f0de105bcc21de2a318de8c758f2.png)

---

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 24, 2025, 6:08pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/8 "2025-06-24T18:08:23Z")

</div>

![image](https://canada1.discourse-cdn.com/flex008/uploads/memryx/original/1X/66f21f973af9ea78f2c59678f94ba146464139cd.png)

---

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 24, 2025, 6:08pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/9 "2025-06-24T18:08:49Z")

</div>

![image](https://canada1.discourse-cdn.com/flex008/uploads/memryx/original/1X/a3a73a704980225df27cc10f38ae7aa64a466aef.png)

---

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 24, 2025, 7:30pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/10 "2025-06-24T19:30:38Z")

</div>

One more thing to note, this is a pi5 booting from the hdd on a hat with the memryx board it seems to work booting from an sd card, fine for development, not production. The need is for hdd boot without sd card for stability. Any thoughts?

---

<div class="post-metadata">

**Author:** ![mx-tim](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.memryx.com/mx-tim/32/62_2.png) [@mx-tim](https://community.memryx.com/u/mx-tim)\
**Post date:** [June 26, 2025, 2:05pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/11 "2025-06-26T14:05:53Z")

</div>

Hi Joe,

From the output of `ls /sys/memx*`, it looks like the driver isn’t loading. Since you mention a hdd hat, may I ask which hat you’re using?

There’s a chance the hat could be the source of the incompatibility if it’s splitting the 1 PCIe lane of the RPi 5 between hdd and MX3.

Could you please share the hat info, plus the output of:

`sudo lspci -vv -d 1fe9:0100`

This lspci command will check that the MX3 has enough PCIe resources allocated to it by the hat.

---

<div class="post-metadata">

**Author:** ![Joe](https://avatars.discourse-cdn.com/v4/letter/j/b9e5f3/32.png) [@Joe](https://community.memryx.com/u/Joe)\
**Post date:** [June 26, 2025, 4:51pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/12 "2025-06-26T16:51:48Z")

</div>

> **[Amazon.com: GeeekPi N16 Quad M.2 M-Key NVMe SSD HAT for Raspberry Pi 5, Support...](https://www.amazon.com/GeeekPi-Quad-M-Key-Raspberry-Support/dp/B0D9D2W8MF)**
>
> Amazon.com: GeeekPi N16 Quad M.2 M-Key NVMe SSD HAT for Raspberry Pi 5, Support M.2 NVMe M-Key 2230/2242/2260/2280 SSDs : Electronics

sudo lspci -vv -d 1fe9:0100  
0001:06:00.0 Processing accelerators: MemryX MX3  
Subsystem: MemryX MX3  
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-  
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast \>TAbort- \<TAbort- SERR- \<PERR- INTx-  
Interrupt: pin A routed to IRQ 41  
Region 0: Memory at 1b80000000 (64-bit, non-prefetchable) [size=16M]  
Region 2: Memory at 1b81000000 (64-bit, non-prefetchable) [size=16M]  
Region 4: Memory at 1b82000000 (32-bit, non-prefetchable) [size=1M]  
Capabilities: [80] Power Management version 3  
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)  
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-  
Capabilities: [90] MSI: Enable- Count=1/1 Maskable+ 64bit+  
Address: 0000000000000000 Data: 0000  
Masking: 00000000 Pending: 00000000  
Capabilities: [b0] MSI-X: Enable- Count=512 Masked-  
Vector table: BAR=4 offset=000fe000  
PBA: BAR=4 offset=000fdf00  
Capabilities: [c0] Express (v2) Endpoint, MSI 00  
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s \<1us, L1 \<1us  
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 26W  
DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+  
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+  
MaxPayload 256 bytes, MaxReadReq 512 bytes  
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-  
LnkCap: Port #0, Speed 8GT/s, Width x2, ASPM L0s L1, Exit Latency L0s \<256ns, L1 \<8us  
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+  
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+  
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-  
LnkSta: Speed 5GT/s (downgraded), Width x1 (downgraded)  
TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-  
DevCap2: Completion Timeout: Range B, TimeoutDis+ NROPrPrP- LTR+  
10BitTagComp- 10BitTagReq- OBFF Via message, ExtFmt+ EETLPPrefix-  
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-  
FRS- TPHComp- ExtTPHComp-  
AtomicOpsCap: 32bit- 64bit- 128bitCAS-  
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled,  
AtomicOpsCtl: ReqEn-  
LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-  
LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-  
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-  
Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot  
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-  
EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-  
Retimer- 2Retimers- CrosslinkRes: unsupported  
Capabilities: [100 v2] Advanced Error Reporting  
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-  
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-  
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-  
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-  
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+  
AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-  
MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-  
HeaderLog: 00000000 00000000 00000000 00000000  
Capabilities: [150 v1] Device Serial Number 60-0e-15-24-00-00-00-9a  
Capabilities: [160 v1] Power Budgeting \<?\>  
Capabilities: [1b8 v1] Latency Tolerance Reporting  
Max snoop latency: 0ns  
Max no snoop latency: 0ns  
Capabilities: [300 v1] Secondary PCI Express  
LnkCtl3: LnkEquIntrruptEn- PerformEqu-  
LaneErrStat: 0  
Capabilities: [900 v1] L1 PM Substates  
L1SubCap: PCI-PM\_L1.2- PCI-PM\_L1.1+ ASPM\_L1.2- ASPM\_L1.1+ L1\_PM\_Substates+  
L1SubCtl1: PCI-PM\_L1.2- PCI-PM\_L1.1- ASPM\_L1.2- ASPM\_L1.1-  
L1SubCtl2:  
Kernel modules: memx\_cascade\_plus\_pcie

---

<div class="post-metadata">

**Author:** ![mx-tim](https://yyz2.discourse-cdn.com/flex008/user_avatar/community.memryx.com/mx-tim/32/62_2.png) [@mx-tim](https://community.memryx.com/u/mx-tim)\
**Post date:** [June 27, 2025, 9:07pm UTC](https://community.memryx.com/t/setup-mx-bench-hello/84/13 "2025-06-27T21:07:16Z")

</div>

Thanks for the link and log. Reading through them, it looks like this 4x M.2 adapter lacks MSI/MSI-X support, which is part of the PCIe Gen 3 standard. Unfortunately, the MX3 relies on MSI-X in order to communicate with the host.

The Raspberry Pi 5’s PCIe controller is actually a Gen 3 compliant controller, but it runs at Gen 2 speeds. Therefore it has MSI-X support, which is why the MX3 works when connected directly to the Pi – just the speed is lower.

The 4x M.2 adapter linked above, however, uses a PCIe Gen 2 compliant-only switch chip (ASM1184e), so it doesn’t have the required MSI-X support.

I looked around for a 3.0 compliant multi-M.2 HAT, and there’s one I found that uses the ASM2806 switch chip and has MSI-X support:

> **[PCIe3.0 Switch to dual M.2 hat for Raspberry Pi 5, Support NVMe SSD, Support...](https://www.seeedstudio.com/PCIe3-0-to-dual-M-2-hat-for-Raspberry-Pi-5-p-6358.html)**
>
> It's the first PCIe 3.0 to dual M.2 hat designed for Raspberry Pi 5, enabling Raspberry Pi 5 to access dual NVMe SSDs, Hailo8/8L(only M.2 key B+M) and Google Coral AI accelerators at PCIe 3.0 speed.

I haven’t tried it myself, but based on the specs it should work with the MX3 M.2 + an NVMe SSD.
