DEEPX DX-M1 on Raspberry Pi 5: the most common errors and fixes

DEEPX DX-M1 on Raspberry Pi 5: the most common errors and fixes

This thread covers the errors people hit most often with the DEEPX DX-M1 on a Raspberry Pi 5 (Sixfab AI HAT and Edge AI Expansion Board). Each entry has the cause, a command to confirm it, and the fix. Less common errors are listed in the index at the bottom and link to the full guide on docs.sixfab.com.

Tested on: Raspberry Pi 5 (8 GB), Raspberry Pi OS Trixie 64-bit, dx_rt v3.4.2, dxrt-driver-dkms v2.6.0, DX-COM 2.4.1.
Last verified: 2026-10-21

Don’t see your error here or in the docs? Reply below with the full terminal output and we’ll look at it. We add every new error we can reproduce to the docs guide.


Start here: two commands

lspci -d 1ff4:

Expected: one line, e.g. DEEPX Co., Ltd. DX_M1 (rev 01). No output means the card isn’t on the PCIe bus (see error 1).

cd dx_rt_npu_linux_driver
sudo ./sanity_check.sh

Expected last line: ** Sanity check PASSED!. On failure it writes sanity/result/dxrt_issue_bundle_<timestamp>.tar.gz. Keep that file in case you need to reply with it.


1. [ERROR] No supported DEEPX devices found (vendor=1ff4, ...)

The card didn’t enumerate on the PCIe bus. Check the LED first.

  • LED off or any other colour: do a full power-cycle. sudo shutdown -h now, unplug the supply from the wall, wait about 10 seconds, plug it back in. sudo reboot doesn’t reset the card.
  • LED light blue or near white: the PCIe link isn’t coming up. Power off, open both FFC connector latches, reinsert the cable fully at both ends, close the latches, power on. Still missing? Try another FFC cable.

Verify: lspci -d 1ff4: lists the card. If it’s still missing with a known-good cable, reply here with the sanity bundle and a photo of the LED, or open a support ticket.


2. Device not found from dxrt-cli -s, but lspci lists the card

PCIe Gen 3 isn’t enabled. The Raspberry Pi 5 defaults to Gen 2, and on some setups the runtime can’t use the card at that speed. The LED is fully off after boot in this state.

Fix: add these lines to the end of /boot/firmware/config.txt and reboot:

dtparam=pciex1
dtparam=pciex1_gen=3

Verify: dxrt-cli -s lists the device with PCIe : Gen3 X1.


3. [ERROR] dxrt_driver module is NOT loaded. after a kernel update

DKMS couldn’t rebuild the driver for the new kernel because the kernel headers are missing.

Check: dkms status -m dxrt-driver-dkms has no installed line for uname -r.

Fix (Raspberry Pi 5):

sudo apt install linux-headers-rpi-2712
sudo dkms autoinstall
sudo modprobe dx_dma
sudo modprobe dxrt_driver

On a Raspberry Pi 4, install linux-headers-rpi-v8 instead.

Verify: sudo ./sanity_check.sh ends with ** Sanity check PASSED!

The same missing headers cause ERROR: Kernel configuration is invalid. when you build the driver by hand.


4. Low FPS, or FPS drops after a few minutes

Two different causes. Tell them apart by when it happens.

Low from the first frame: PCIe Gen 2. Check with:

sudo lspci -vv -d 1ff4: | grep LnkSta:

Speed 5GT/s is Gen 2. Enable Gen 3 as in error 2; the line then reads Speed 8GT/s.

Starts fine, drops under load: thermal throttling. You may not see a Throttling notice line, so watch the clock:

dxrt-cli -m 1

If the temperature climbs and the clock falls below 1000 MHz, the NPU is throttling. In our test, three parallel yolo26-x processes took the NPU from 64 °C to 89 °C in about four minutes and the clock dropped to 800 MHz. Fit a heatsink or fan and improve airflow, then rerun for 10 minutes to confirm the clock holds at 1000 MHz.


5. Please update your device driver / pcie driver / firmware to version X or higher

The runtime, driver and firmware are out of step. dx_rt v3.4.2 needs:

Component Minimum Check with
dxrt_driver 2.5.0 modinfo -F version dxrt_driver
dx_dma 2.4.0 modinfo -F version dx_dma
NPU firmware 2.7.0 dxrt-cli -i

Fix for the two driver messages (dx_dma ships in the same package):

sudo apt update
sudo apt install --only-upgrade dxrt-driver-dkms
sudo reboot

Firmware needs a separate flash. The steps are in the docs guide.


6. dxrt service is not running (error-code=264)

The dxrt systemd service is stopped or was never enabled. Common after a manual build.

systemctl status dxrt
sudo systemctl enable --now dxrt

If the unit doesn’t exist, rerun dx_rt ./build.sh; it creates dxrt.service. Verify: systemctl is-active dxrt prints active.


7. E: Unable to locate package apt-repo-sixfab

You’re following a deprecated install path. Install the package from the release file. It works on Raspberry Pi OS Bookworm and Trixie:

wget https://github.com/sixfab/sixfab_dx/releases/download/v0.1/apt-repo-sixfab.deb
sudo apt install ./apt-repo-sixfab.deb
sudo apt update

Then continue with the AI HAT setup.


8. Error in PhaseLabels.SURGERY: [UnknownError] when compiling a YOLO model

DX-COM reports a PPU configuration it can’t apply with this one message. Check three things in order:

  1. Layer node names. The names under ppu.layer must exist in your ONNX graph. Names copied from DEEPX examples (Mul_441, Sigmoid_442) usually don’t match. Open the model in Netron and trace back from the outputs.
  2. ppu.type. Use 0 for YOLOv3, v4, v5, v7 (anchor-based) and 1 for YOLOX and YOLOv8 to YOLOv12 (anchor-free).
  3. Does the model need a PPU at all? Classification and segmentation models don’t. Remove the whole ppu block.

Also export with dynamic=False, batch=1. A dynamic-shape YOLOv8n failed with this same error in our test, even with a fixed shape in the config. Full config examples are in the docs guide.


Everything else: full guide on docs.sixfab.com

These errors are covered step by step (cause, check, fix, verify) in the full troubleshooting guide.

Error or symptom Section in the docs guide
dpkg: dependency problems prevent configuration of dxrt-driver-dkms Driver install: APT and DKMS
ERROR: Manual installation detected in /lib/modules/ Driver install: APT and DKMS
ERROR: Kernel configuration is invalid. Driver install: APT and DKMS
[ERROR] /dev/dxrt0 has incorrect permissions (works only with sudo) Driver install: APT and DKMS
WARNING: Old driver modules are still loaded in memory. Driver install: APT and DKMS
PEP 668 externally-managed-environment error detected! dx_rt build
CMake configuration failed ... shadowing system cmake dx_rt build
The model's compiler version(X.Y.Z) is not compatible in this RT library. Runtime and version compatibility
version 'VERS_1.20.1' not found (required by libdxrt.so) Runtime and version compatibility
Dynamic IPC task init failed / Ran out of NPU memory Runtime and version compatibility
ConfigInputError: input name not found, or Input shape mismatch DX-COM model compilation
Multi-input model: DataLoaderError DX-COM model compilation
DataNotFoundError: no calibration images found DX-COM model compilation
Error in PhaseLabels.QUANTIZATION with enhanced_scheme and --use_q_pro DX-COM model compilation
Deprecation warning for ppu.type = 2 DX-COM model compilation
Low accuracy after compiling, log shows Added nodes: DX-COM model compilation
Firmware older than 2.7.0, and how to flash it Runtime and version compatibility