Troubleshooting

Troubleshooting

ALPON X5 AI · Diagnostics · Power, connectivity, NPU, and OS fixes

Diagnostic reference for the ALPON edge AI computer. Each issue lists the observable symptom, the probable cause, and the minimal fix. Work through the sections in order when bringing up a device for the first time: power, then LEDs and boot, then connectivity, then the DEEPX NPU, then the operating system.

How do I troubleshoot the ALPON X5 AI?

Start from the physical layer and move up. Verify power first (USB-C PD 27 W, DC 12 to 32 V, or PoE+), then the Status LED, then network links (LTE, Wi-Fi, Ethernet), then confirm the DEEPX DX-M1 NPU is enumerated at /dev/dxrt0 with dxtop, and finally inspect ALPON OS logs with journalctl -xe. This guide groups every common failure mode under one of those five layers.

Before you troubleshoot

Most "dead on arrival" reports resolve with a 15 V / 27 W USB-C PD adapter or a 12 to 32 V DC supply on the terminal block. Standard 5 V phone chargers do not negotiate enough voltage to boot the CM5 and NPU. Start every diagnostic here.

Power and Boot Issues

The ALPON accepts three independent power inputs: USB-C PD, DC terminal block, and PoE+. The device draws from the highest-voltage source. Under-voltage triggers restricted mode, which disables the NPU, USB ports, and ADDON header while keeping the CM5 and Ethernet alive.

The device does not power on (no LEDs)

Power
Symptom
Nothing lights up within 3 seconds of connecting power.
Cause
The adapter does not negotiate 15 V / 27 W. Standard USB-C phone chargers deliver 5 V only and the ALPON will not boot.
Fix
  1. Use the 27 W USB-C PD adapter shipped with the device.
  2. If unavailable, power the DC terminal block from a 12 to 32 V supply (45 W minimum at full load).
  3. Confirm wire polarity: Pin 1 = Chassis Ground, Pin 2 = DC Negative, Pin 3 = DC Positive.
  4. Try a different USB-C cable. Long or low-quality cables often drop PD negotiation.

The device boots but the NPU, NVMe SSD, or USB ports are dead

Power
Symptom
The CM5 comes up and Ethernet links, but /dev/dxrt0 is missing, the NVMe SSD does not appear, USB devices are not detected, and the ADDON port is inactive.
Cause
The ALPON has entered restricted mode. Input voltage is below 12 V, so the PCIe bus and peripheral rails are disabled by design.
Fix
  1. Replace the 5 V source with a 15 V USB-C PD adapter or a 12 to 32 V DC supply on the terminal block.
  2. For long DC cable runs, prefer a 24 V adapter with thicker conductors to compensate for voltage drop.
  3. Reboot after restoring nominal voltage so the PCIe bus re-enumerates.
Restricted mode is by design

Restricted mode prevents brownouts at low input voltage. The CM5 and both Ethernet ports stay alive; USB, PCIe (NVMe + DEEPX DX-M1), ADDON, and camera rails are disabled. AI inference is not available until the device leaves restricted mode.

The device resets or throttles under heavy AI load

Power
Symptom
The CM5 logs voltage or thermal warnings during sustained NPU inference and occasionally reboots.
Cause
The adapter delivers the minimum 27 W but cannot hold it under peak load, or the enclosure is mounted so airflow across the aluminum heatsink is blocked.
Fix
  1. Switch to a 45 W (15 V / 3.0 A) USB-C PD adapter or a DC supply sized for 45 W continuous.
  2. Mount the device with the cooling surface facing up and leave at least 25 mm clearance in enclosed cabinets.
  3. Verify with vcgencmd get_throttled that the CM5 is not hitting the under-voltage bit.

The device boots in a reset loop

Power
Symptom
The CM5 starts and powers down every few minutes without reaching a login prompt.
Cause
The hardware watchdog (SW1) is enabled but no userspace service is feeding it, so it resets the device every 5 minutes.
Fix
  1. Disconnect all power from the device.
  2. Move the SW1 switch to OFF to disable the hardware watchdog while you finish bring-up.
  3. Reapply power and verify the device stays up. Re-enable the watchdog once your application actively pets it.
Toggle switches with the device off

Always disconnect all power before flipping SW1 (Watchdog) or SW2 (Boot/Burn). Changing SW2 while powered can corrupt the CM5 eMMC.

LED States and What They Mean

The ALPON surfaces device health on the Status LED and the Cellular LED. Reading these two indicators is the fastest first diagnostic when you do not yet have shell access.

Green Blinking green Amber Red Off

What does each LED pattern indicate?

LED State Meaning and next action
Status Solid green Device is online and reachable in Sixfab Connect. No action needed.
Status Blinking green Boot or provisioning in progress. First boot can take up to 3 minutes while ALPON Cloud is reached and credentials are issued.
Status Solid red Cannot reach ALPON Cloud. Check LTE antenna torque, move the device for better RF, or connect ETHERNET 0 to an upstream router.
Status Off No power or the CM5 has not completed early boot. Start at Power and Boot.
Cellular Solid green Cellular data session is up and passing traffic.
Cellular Amber Modem is registered but signal is weak. Reposition or upgrade to a higher-gain LTE antenna.
Cellular Red No cellular attach. Check eSIM activation, LTE band availability, and antenna connections.

The Status LED stays red after 3 minutes

LEDs
Cause
The Sixfab Connect agent cannot reach the cloud. Cellular and Ethernet are both down, or the device has not completed provisioning.
Fix
  1. Plug a cable from ETHERNET 0 into an internet-connected router to give the device a known-good path.
  2. Hand-tighten the two LTE antennas on the SMA connectors labeled L.
  3. Wait two minutes. If still red, open the remote terminal or HDMI shell and run systemctl status sixfab-connect to inspect the agent.

Connectivity Issues (LTE, Wi-Fi, Ethernet)

The ALPON is an industrial edge AI gateway with LTE Cat 4, dual-band Wi-Fi 5, and two Gigabit Ethernet ports. When more than one path is available, ALPON Cloud handles failover in priority order. Most connectivity problems reduce to antenna, SIM, or link-order configuration.

The Cellular LED is red or amber

Connectivity
Cause
Weak LTE signal, missing or loose antenna, or the eSIM profile has not activated on the local network.
Fix
  1. Hand-tighten both antennas on the SMA connectors labeled L. Never connect the Wi-Fi antenna (RP-SMA male) to an LTE port.
  2. Move the device near a window or use an external high-gain antenna.
  3. Confirm the modem is attached and check signal quality:
    terminal shell
    mmcli -L
    mmcli -m 0 --signal-get
  4. If the modem reports registered but throughput is low, switch carriers from the ALPON Cloud console.

Wi-Fi does not connect or keeps dropping

Connectivity
Cause
The Wi-Fi antenna is missing, the SSID uses an unsupported security mode, or the device is on the edge of the access point's coverage.
Fix
  1. Install the supplied Wi-Fi antenna on the RP-SMA male port labeled W.
  2. Use WPA2-PSK or WPA3-Personal. Enterprise EAP profiles require extra setup via nmcli or Sixfab Connect.
  3. Connect from Sixfab Connect (Connect to Wi-Fi), or over SSH:
    terminal shell
    nmcli device wifi list
    nmcli device wifi connect "YOUR_SSID" password "YOUR_PASS"

ETHERNET 1 does not link up or shows low throughput

Connectivity
Cause
ETHERNET 1 is a USB-bridged Gigabit port, not a native CM5 PHY. It shares the TUSB8020 hub upstream with one of the USB 3.0 ports. Heavy concurrent USB traffic reduces its throughput.
Fix
  1. Use ETHERNET 0 for performance-sensitive traffic. It is the native CM5 Ethernet and the only PoE-capable port.
  2. If you must use ETHERNET 1, avoid attaching high-bandwidth USB 3.0 devices to the shared hub.
  3. Never connect a PoE source to ETHERNET 1. It does not accept PoE.

PoE+ does not power the device

Power / Net
Cause
The injector is legacy IEEE 802.3af (not 802.3at Class 4), or the cable is connected to ETHERNET 1 instead of ETHERNET 0, or your variant does not include the PoE module.
Fix
  1. Use an IEEE 802.3at (PoE+) Class 4 injector or switch that delivers 37 to 57 V.
  2. Connect PoE to ETHERNET 0 only. ETHERNET 1 cannot accept power.
  3. Check the sticker on the enclosure; the PoE module is a factory option and cannot be field-added.

DEEPX NPU Issues

The ALPON is an industrial edge AI computer powered by the DEEPX DX-M1, a 25 TOPS NPU on the PCIe Gen3 bus. The kernel driver enumerates it as /dev/dxrt0 on ALPON OS. Models are compiled to the .dxnn format on a host PC with dx-com and executed on-device via libdxrt (dx_engine for Python, dxrt_api.h for C++).

/dev/dxrt0 is missing or dxtop reports no device

NPU
Cause
The device is in restricted mode (PCIe disabled), the kernel driver failed to load, or the DX-M1 M.2 module is not seated correctly.
Fix
  1. Verify you are running at 12 V DC or 15 V USB-C PD minimum. See Power and Boot.
  2. Check the driver and PCIe enumeration:
    terminal shell
    lspci | grep -i deepx
    lsmod | grep dxrt
    ls -l /dev/dxrt*
  3. If PCIe enumerates but the driver is missing, reinstall it:
    terminal shell
    sudo apt update
    sudo apt install --reinstall -y libdxrt
  4. If lspci does not list the DEEPX device, power down, open the enclosure, and reseat the DEEPX DX-M1 M.2 module. Apply ESD precautions.

Python raises ImportError: No module named dx_engine

NPU
Cause
The script is running under the system Python. The dx_engine binding lives inside the bundled virtual environment at /usr/lib/libdxrt/dxrt-venv.
Fix
terminal shell
source /usr/lib/libdxrt/dxrt-venv/bin/activate
python -c "import dx_engine; print(dx_engine.__version__)"

For scripts, invoke the venv Python directly: /usr/lib/libdxrt/dxrt-venv/bin/python my_script.py.

Cannot open /dev/dxrt0 inside a Docker container

NPU
Cause
The container was started without the NPU character device mapped in, or without the privileges needed to attach to it.
Fix

Start the container with the device and --privileged:

terminal shell
docker run --rm --privileged   --device /dev/dxrt0   -v /opt/models:/models   alpon-infer:latest

For docker-compose, set privileged: true and devices: ["/dev/dxrt0"].

Model fails to load with an out-of-memory error

NPU
Cause
The compiled .dxnn footprint exceeds the DX-M1's 4 GB on-chip memory. The NPU has its own dedicated memory pool, independent of CM5 system RAM.
Fix
  1. Recompile with a lower input resolution (for example 640×640 instead of 1280×1280).
  2. Switch to a lighter model variant (nano or small instead of large or x).
  3. Quantize or prune the model before re-exporting to ONNX, then recompile with dx-com.

YOLO inference runs at a very low FPS on the ALPON

NPU
Cause
The model was compiled without PPU (post-processing unit) support. Post-processing (NMS, box decoding) then runs on the CM5 CPU and becomes the bottleneck.
Fix
  1. Recompile the ONNX graph with PPU enabled:
    terminal (host PC) shell
    dx-com --ppu -i yolov8n.onnx -o yolov8n.dxnn
  2. Redeploy the resulting .dxnn. PPU-compiled nano-class YOLO models reach roughly 50 FPS at 1280×720 and 20 to 25 FPS at 1920×1080.
  3. Monitor with dxtop to confirm the NPU is saturated rather than the CPU.

dx-com reports an unsupported operator

NPU
Cause
The ONNX graph contains an attention block, transformer layer, or another operator outside the DX-M1 supported set. The current DEEPX runtime targets image-based CNNs; transformers are not yet supported.
Fix
  1. Switch to a CNN-based equivalent (YOLOv5/v7/v8, SSD, ResNet, MobileNet, EfficientNet, U-Net).
  2. If you must keep a transformer head, run it on the CM5 CPU and offload only the CNN backbone to the NPU.
  3. Check the DEEPX release notes for the current supported-operator list before compiling.

ALPON OS and SSH Issues

ALPON OS is a Sixfab-maintained 64-bit Debian-based Linux distribution for the Raspberry Pi CM5. The default user is alpon with password sixfab. The hostname is derived from the MAC address, so the device is reachable over mDNS as alpon-<MAC>.local.

I cannot SSH into the device

OS
Cause
Wrong username, wrong IP or hostname, firewall blocking port 22, or the device is on a different subnet than your workstation.
Fix
  1. Connect with the correct user: ssh alpon@<DEVICE_IP> or ssh alpon@alpon-<MAC>.local.
  2. If the local network is unreachable, use the browser-based remote terminal in Sixfab Connect. It works even when only cellular is up.
  3. As a last resort, attach HDMI and a USB keyboard for local login.

I forgot the password or locked myself out

OS
Fix
  1. Open the Sixfab Connect remote terminal. It authenticates through the cloud agent and does not require your local password.
  2. From that shell, run sudo passwd alpon to set a new password.
  3. If the remote terminal is unreachable and you have no HDMI access, contact Sixfab support with the device serial number for a recovery procedure. Do not attempt to re-flash the eMMC without guidance.
Do not delete the alpon user

The alpon account is used internally by Sixfab Connect and other system services. Change the password and, if you need a separate admin identity, create a new user with sudo rights. Deleting alpon breaks core system functions.

apt update or apt upgrade fails

OS
Cause
No internet path, broken GPG key for the Sixfab or DEEPX repositories, or a partial upgrade that left dpkg in an inconsistent state.
Fix
terminal shell
# Verify connectivity first
ping -c 3 deb.debian.org
 
# Repair any half-configured packages
sudo dpkg --configure -a
sudo apt -f install
 
# Refresh and retry
sudo apt update
sudo apt upgrade -y

If a repository's GPG key is missing, reinstall it from the Sixfab or DEEPX documentation before running apt update again. Reboot when a kernel or firmware package was upgraded.

Nothing appears on HDMI

OS
Cause
The HDMI display was connected after boot, the cable does not support the negotiated mode, or the CM5 has not completed early boot.
Fix
  1. Plug HDMI before powering on. Hot-plug detection is best-effort on the CM5.
  2. Use a certified HDMI cable and a monitor that supports 1080p at 60 Hz.
  3. If the monitor stays blank, verify over SSH that the device booted, then reboot with HDMI already connected.

Sixfab Connect and Provisioning Issues

Every ALPON X5 AI ships with an ALPON Cloud agent that registers the device on first boot and keeps it reachable through the Sixfab Connect platform. Provisioning requires any one upstream path (LTE, Wi-Fi, or Ethernet) and a reachable connect.sixfab.com.

The device appears Offline in Sixfab Connect

Cloud
Cause
No upstream path is currently reachable, or the agent lost its session and has not re-attached.
Fix
  1. Check the LED legend above. If the Cellular LED is red, fall back to Ethernet by plugging ETHERNET 0 into a wired router.
  2. From a local shell, inspect the agent:
    terminal shell
    systemctl status sixfab-connect
    journalctl -u sixfab-connect -n 200
  3. If the agent is stuck, restart it:
    terminal shell
    sudo systemctl restart sixfab-connect

The QR code on the label does not scan

Provisioning
Fix
  1. In Sixfab Connect, choose Manual registration.
  2. Enter the serial number printed next to the QR code.
  3. Follow the on-screen prompts to bind the device to your organization.

Deployments queued in ALPON Cloud do not reach the device

Cloud
Cause
The device is offline, the container image exceeds available NVMe free space, or the image was not built for arm64.
Fix
  1. Confirm the device is Online and the Sixfab Connect agent is healthy.
  2. Rebuild your image for arm64: docker buildx build --platform linux/arm64 -t my-image .
  3. Check available disk with df -h /. Prune unused images: docker image prune -a.

Before You Contact Support

Running through these checks covers more than 90% of field issues and gives Sixfab support the context needed for a fast resolution.

1 Power: confirm you are using a 15 V / 27 W USB-C PD adapter or a 12 to 32 V DC supply. Verify with vcgencmd get_throttled that the device is not under-voltage.
2 Switches: check that SW1 (Watchdog) and SW2 (Boot/Burn) are both in the OFF position for normal operation.
3 LEDs: note the exact state of the Status and Cellular LEDs. Compare against the table in the LED section.
4 Antennas: all four SMA connectors are hand-tight. Wi-Fi uses RP-SMA male; LTE and GNSS use female.
5 Network: at least one of LTE, Wi-Fi, or ETHERNET 0 has a working upstream path.
6 NPU: dxtop reports /dev/dxrt0 with live utilization and temperature values.
7 Logs: collect journalctl -xe, dmesg | tail -200, and systemctl status sixfab-connect for the support ticket.

Collecting a support bundle

terminal shell
# Single-shot bundle you can attach to a support ticket
sudo journalctl -b -n 2000 > ~/alpon-journal.log
dmesg > ~/alpon-dmesg.log
lspci -vv > ~/alpon-lspci.log
cat /etc/os-release > ~/alpon-os.log
tar czf ~/alpon-support.tar.gz ~/alpon-*.log
# Attach ~/alpon-support.tar.gz to your Sixfab support request.

Get Support

If the issue persists after working through this guide, reach out with the support bundle and the LED state you observe.