Troubleshooting

Find solutions to common issues with the ALPON X4 on this page. Get guidance and tips for troubleshooting and resolving problems.

ALPON X4 · Troubleshooting · Power, LEDs, connectivity, GPIO, OS, and ALPON Cloud
Troubleshooting

ALPON X4 troubleshooting

Diagnostic reference for the ALPON X4 industrial edge IoT computer. Each issue lists the observable symptom, the probable cause, and the minimal fix. Work through the categories in order: power, then LEDs and boot, then connectivity, then GPIO and USB, then the operating system, then ALPON Cloud.

How do I troubleshoot the ALPON X4?

Start from the physical layer and move up. Verify power first (15 V / 27 W USB-C PD, 9 to 30 V DC, or PoE+ on PoE-variant SKUs), confirm the Power and Connection LEDs report a healthy state, check network links (LTE Cat 4, Wi-Fi, dual Ethernet) in that order, verify GPIO Add-on activation through GPIO 21, and finally inspect ALPON X4 OS logs with journalctl -xe.

Before you troubleshoot

Most "dead on arrival" reports resolve with the supplied 15 V / 27 W USB-C PD adapter or a 9 to 30 V DC supply on the terminal block. Standard 5 V phone chargers do not negotiate enough voltage to boot the Raspberry Pi CM4. Start every diagnostic here.

Power and boot

The ALPON X4 accepts three independent power inputs: USB-C PD, DC terminal block (9 to 30 V), and PoE+ on the PoE variant SKU. Under-voltage triggers Restricted Mode, which disables USB ports, the GPIO Add-on 5 V rail, HDMI, and the RGB LED while keeping the Raspberry Pi CM4, LTE modem, and both Ethernet ports alive for remote diagnostics.

Power

The device does not power on (no LEDs)

Symptom
Nothing lights up within 3 seconds of connecting power.
Cause
The USB-C adapter does not negotiate 15 V / 27 W. Standard USB-C phone chargers deliver 5 V only, which is insufficient to boot the Raspberry Pi CM4.
Fix
  1. Use the 27 W USB-C PD adapter shipped with the device.
  2. If unavailable, wire the DC terminal block to a 9 to 30 V DC supply rated for at least 27 W (for example 12 V / 2.5 A or 24 V / 1.25 A).
  3. Confirm wire polarity on the screw terminal: observe the + / − markings on the housing.
  4. Try a different USB-C cable. Long or low-quality cables often drop PD negotiation.
Power

The device boots but USB ports, GPIO 5 V rail, and HDMI are dead

Symptom
The Raspberry Pi CM4 comes up and Ethernet links, but USB devices are not detected, the GPIO Add-on 5 V rail is offline, the HDMI output is blank, and the RGB LED is dark.
Cause
The device has entered Restricted Mode. Input voltage has dropped below 12 V, so the peripheral rails are disabled by design while the Raspberry Pi CM4, LTE modem, and both Ethernet ports stay alive.
Fix
  1. Replace any 5 V source with a 15 V USB-C PD adapter or a 9 to 30 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 peripheral rails re-enable.
Restricted Mode is by design

Restricted Mode prevents brownouts at low input voltage. The Raspberry Pi CM4, LTE modem, and both Ethernet ports remain active so the device stays reachable for remote diagnostics. USB 2.0 ports, the GPIO Add-on 5 V rail, HDMI output, and the RGB LED are disabled until nominal voltage is restored.

Power

The device resets or throttles under sustained load

Symptom
The Raspberry Pi CM4 logs voltage or thermal warnings during peak workloads and occasionally reboots.
Cause
The adapter delivers the minimum 27 W but cannot hold it under combined LTE transmission, USB peripherals, and GPIO 5 V draw. Or the enclosure is mounted so airflow across the aluminum heatsink is blocked.
Fix
  1. Switch to an adapter with headroom above 27 W when running the LTE radio at peak transmit alongside USB peripherals.
  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 Raspberry Pi CM4 is not hitting the under-voltage bit.
Hardware

The device boots in a reset loop

Symptom
The Raspberry Pi CM4 starts and powers down on a fixed interval without reaching a usable state.
Cause
The hardware watchdog (SW1) is enabled but no userspace service is feeding it, so the watchdog hard-resets the device on its timeout interval.
Fix
  1. Disconnect all power from the device.
  2. Lift the silicone cap on the rear face and move SW1 to ON to disable the watchdog while you finish bring-up.
  3. Reapply power and verify the device stays up. Move SW1 back to OFF once your application is actively petting the watchdog.
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 Raspberry Pi CM4 eMMC.

Power

PoE+ does not power the device

Symptom
The PoE injector is connected to the ETH/G port, link comes up on the switch, but the ALPON does not power on.
Cause
The injector is legacy IEEE 802.3af instead of 802.3at Class 4, the cable is connected to the wrong port, or the SKU does not include the optional PoE module.
Fix
  1. Confirm the SKU is the PoE variant. The PoE module is a factory option and cannot be field-added.
  2. Use an IEEE 802.3at Class 4 injector that delivers up to 25 W on the ETH/G port only.
  3. Verify the injector reports a Class 4 powered device on its diagnostic LED.
  4. If the SKU does not include PoE, fall back to USB-C PD or the DC terminal block.

LED states and what they mean

The ALPON X4 surfaces device health on four front-panel LEDs: Power, Connection, Cellular, and a programmable RGB. Reading these indicators is the fastest first diagnostic when shell access is not yet available.

White Green Blue Amber / Yellow Red Off

What does each LED pattern indicate?

LED State Meaning and next action
Power Solid white Power rails are stable. Lights about 3 seconds after a valid input is connected.
Power Off No valid power input detected. Verify the USB-C PD adapter, the DC terminal wiring, or the PoE+ injector.
Connection Solid green Device is online and reachable in ALPON Cloud. No action needed.
Connection Off Cannot reach ALPON Cloud. Check the LTE antennas, move the device for better RF, or connect ETH/G to an upstream router.
Cellular Blue Strong LTE signal. Throughput should track the LTE Cat 4 envelope (up to 150 Mbps DL / 50 Mbps UL theoretical).
Cellular Yellow Moderate LTE signal. Reposition the device or attach the optional IP67 outdoor antenna for marginal coverage areas.
Cellular Red Poor or no LTE signal, or the eSIM (eUICC) profile has not registered. Verify the antennas are hand-tight on the SMA connectors and that the active profile is provisioned.
Programmable RGB User-defined Driven entirely by user code through the TCA6408A I/O expander on I2C1 at address 0x20. Sixfab system services do not touch it.
First boot can take up to 3 minutes

The Connection LED stays off until the Sixfab Connect agent reaches ALPON Cloud and credentials are issued. On a slow LTE link with a fresh eSIM profile this can take a few minutes. Wait at least 3 minutes before treating it as a connectivity fault.

Connectivity (LTE, Wi-Fi, Ethernet)

The ALPON X4 has four network paths: LTE Cat 4, dual-band Wi-Fi, 1 Gbps Ethernet (ETH/G), and 100 Mbps Ethernet (ETH). When more than one path is available, the Sixfab Connect agent handles failover in priority order. Most connectivity problems reduce to antenna torque, eSIM profile state, or link priority.

Connectivity

The Cellular LED is red or yellow

Cause
Weak LTE signal, missing or loose antenna, or the eSIM (eUICC) profile has not yet activated on the local network.
Fix
  1. Hand-tighten both LTE antennas (LTE Main and LTE Diversity) on the SMA connectors.
  2. Reposition the device away from metal panels and dense walls. The fanless aluminum enclosure is RF-transparent on the antenna side only.
  3. For known marginal sites, attach the optional IP67 outdoor antenna (3-meter cabled combination antenna with surface mount).
  4. In ALPON Cloud, open the device's eSIM management panel and verify the active profile is the one the local carrier provisions.
  5. Read RSRP and RSRQ from the modem to confirm signal strength:
    terminal shell
    mmcli -L
    mmcli -m 0 --signal-get
Connectivity

The eSIM does not register on any network

Symptom
The Cellular LED stays red. mmcli -m 0 reports registration: searching indefinitely.
Cause
No active eSIM profile is selected, the active profile has been disabled remotely, or the device is in a region not covered by the current profile.
Fix
  1. In ALPON Cloud, open the device's eSIM panel and select an active profile matching the deployment country.
  2. If using a third-party SIM, insert it into the nano-SIM slot and select that profile in ALPON Cloud.
  3. Reboot the device so ModemManager re-attaches with the new profile.
  4. For multi-region fleets, enable roaming on the active profile in ALPON Cloud.
Connectivity

Ethernet does not link or shows the wrong speed

Symptom
No link on either Ethernet port, or ETH/G negotiates 100 Mbps instead of 1 Gbps.
Cause
The cable is plugged into the wrong port, the cable is not Cat 5e or higher, or the upstream switch port is hard-set to 100 Mbps.
Fix
  1. Confirm the device is in the correct port: ETH/G is the 1 Gbps port, ETH is the 100 Mbps port.
  2. Use a Cat 5e or Cat 6 cable for Gigabit operation.
  3. Set the upstream switch port to auto-negotiate.
  4. Verify the link with ip -s link show eth0 and ethtool eth0.
The GPIO Add-on port is not Ethernet

The RJ45 socket labeled GPIO is for ALPON Add-on modules only. Connecting an Ethernet cable or a PoE injector to this port causes permanent hardware damage.

Connectivity

Wi-Fi does not see any 5 GHz networks

Symptom
A scan returns 2.4 GHz networks only. The 5 GHz SSID is visible from a phone in the same location.
Cause
The Wi-Fi country code is unset or set to a region that disables the 5 GHz band, so DFS channels do not appear in the scan list.
Fix
  1. Set the regulatory domain with sudo raspi-config under Localisation Options.
  2. Or apply it directly with sudo iw reg set <COUNTRY_CODE> (for example US, GB, DE, TR).
  3. Verify with sudo iw dev wlan0 scan | grep -E "freq|SSID" that 5 GHz frequencies now appear.
  4. Reboot to make the country code persist across firmware reloads.
Connectivity

Network failover does not switch when the primary path drops

Symptom
Ethernet is unplugged or Wi-Fi drops, but the device does not migrate to LTE within the expected window.
Cause
The failover priority list in ALPON Cloud is misconfigured, or the LTE link is in a bad state and the agent has not marked it as a viable backup.
Fix
  1. Open the device in ALPON Cloud and review the network manager priority order: typically ETH/G > ETH > Wi-Fi > LTE.
  2. Confirm the cellular path is healthy with mmcli -m 0 and that an APN is configured.
  3. Recovery typically completes in under one minute. If failover takes longer, capture journalctl -u sixfab-connect -n 200 for support.

GPIO Add-on and USB

The GPIO Add-on port is an RJ45 connector exposing six configurable Raspberry Pi CM4 GPIO pins (SPI5, UART4, UART0, I2C2, I2C3) at 3.3 V logic, plus a 5 V / 1 A power output gated by GPIO 21. The two USB 2.0 ports share a 1 A combined current budget.

GPIO

GPIO Add-on port has no 5 V output

Symptom
An attached Add-on module does not power up. Pin 8 (5 V OUT) reads 0 V.
Cause
The 5 V rail on the GPIO Add-on port is gated by GPIO 21 (ADDON_PWS_EN). On boot it is inactive by default and must be driven HIGH from software.
Fix
Drive GPIO 21 HIGH before initiating any communication with the Add-on module.
enable_addon.py python
# Enable the GPIO Add-on 5 V rail and check for fault
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)   # ADDON_PWS_EN
GPIO.setup(20, GPIO.IN)    # ADDON_PWS_FAULT

GPIO.output(21, GPIO.HIGH) # Enable the rail

if GPIO.input(20) == GPIO.LOW:
    print("Fault: overcurrent, overtemperature, or reverse voltage")
else:
    print("Add-on rail enabled, 5 V available on Pin 8")
Fault auto-recovery

If overcurrent, overtemperature, or reverse voltage is detected, the port enters protection mode. GPIO 20 reads LOW while the fault persists and returns HIGH once the condition clears.

USB

USB peripherals power off and stay off

Symptom
USB devices on the side ports were enumerated, then power was suddenly cut to both ports simultaneously.
Cause
Combined draw exceeded the 1 A total budget shared by the two USB 2.0 ports. The over-current protection cut both rails together.
Fix
  1. Disconnect the high-draw peripheral and audit current consumption per device.
  2. Power-cycle the ALPON X4 to restore the USB rails. A full reboot is required; there is no software command to re-enable the rails at runtime.
  3. For peripherals drawing more than 500 mA, attach a powered USB hub instead of plugging directly into the device.
USB

USB-C port does not power my peripheral

Cause
The USB-C port is sink-only (power in). It does not provide USB data or power output during normal operation.
Fix
  1. Use one of the two USB 2.0 Type-A ports on the side of the device for peripherals.
  2. Reserve the USB-C port exclusively for power input from the 27 W PD adapter.
Hardware

HDMI output is blank or wrong resolution

Symptom
No image on the connected monitor, or the resolution is locked to a lower mode than the panel supports.
Cause
The HDMI cable was attached after the device was powered on, the cable does not support 4K, or the device is in Restricted Mode (HDMI is disabled below 12 V).
Fix
  1. Connect the HDMI cable before applying power so EDID is read at boot.
  2. Use a High Speed HDMI cable for resolutions at or above 1080p60.
  3. For 4K output, confirm the supply is at nominal voltage. The HDMI 2.0 port supports up to 4K @ 30 fps (4Kp30).
  4. Force a known mode in /boot/firmware/config.txt if EDID negotiation fails on legacy displays.

ALPON X4 OS and SSH

The ALPON X4 ships with ALPON X4 OS, a Sixfab-customized 64-bit Raspberry Pi OS Lite (Bookworm) image with the Sixfab Connect agent, ModemManager, Docker, OpenSSH, mDNS, and the hardware watchdog daemon pre-installed. The default user is alpon with password sixfab; the hostname follows the format alpon-<MAC>.

Software

SSH connection is refused or times out

Symptom
ssh alpon@alpon-<MAC>.local fails with Connection refused or Operation timed out.
Cause
mDNS is not resolving the .local hostname, the workstation is not on the same broadcast domain, or the device is in Restricted Mode and never finished booting.
Fix
  1. Connect by IP instead: ssh alpon@<DEVICE_IP>. Find the IP from your router's DHCP leases page.
  2. On Windows hosts, install Bonjour (iTunes) or use a recent Windows 10/11 build with built-in mDNS.
  3. Confirm the workstation is on the same VLAN as the ALPON X4. mDNS is link-local and does not cross routers.
  4. If the local network is unreachable, use the browser-based remote terminal in ALPON Cloud.
terminal shell
# Two reliable ways to reach the device
ssh alpon@alpon-<MAC>.local      # mDNS, requires same VLAN
ssh alpon@<DEVICE_IP>           # Direct, works across routed subnets

# Default password: sixfab, change before production
sudo passwd alpon
Software

I forgot the password I set for the alpon user

Cause
The alpon account password was changed and lost. The default sixfab password no longer works.
Fix
  1. Open the browser-based remote terminal in ALPON Cloud. It authenticates through the cloud agent and bypasses the local password.
  2. From that shell, set a new password: sudo passwd alpon.
  3. If no remote access is available, contact Sixfab support with the device serial number for a recovery procedure.
Do not delete the alpon user

The alpon account is used internally by the Sixfab Connect agent 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.

Software

apt update or apt upgrade fails

Symptom
Package operations exit with errors about missing keys, broken dependencies, or unreachable mirrors.
Cause
No network path is up, the system clock is wildly wrong (TLS validation fails), or a previous transaction was interrupted and the dpkg state is dirty.
Fix
terminal shell
# Verify connectivity first
ping -c 3 1.1.1.1

# Confirm the system clock is current
timedatectl
sudo timedatectl set-ntp true

# Repair any half-configured packages
sudo dpkg --configure -a
sudo apt install -f

# Refresh and retry; reboot if a kernel package was upgraded
sudo apt update
sudo apt upgrade -y
Stagger fleet rollouts

For production fleets, push apt upgrade one device at a time through ALPON Cloud and monitor the Connection LED before moving to the next. This isolates regressions caused by upstream package changes.

Hardware

RTC time drifts after a power cycle

Symptom
The system clock jumps back several hours or to an old date after every power-off, even with a brief outage.
Cause
The CR1220 coin cell backing the real-time clock is depleted. Designed lifetime is up to 10 years.
Fix
  1. As a stopgap, ensure NTP is enabled: sudo timedatectl set-ntp true. The clock will resync once the device reaches the network.
  2. Replace the CR1220 battery. Contact Sixfab support for the replacement procedure if the device is still under warranty.

ALPON Cloud and provisioning

ALPON Cloud (connect.sixfab.com) handles device registration, fleet health monitoring, browser-based remote terminal access, container deployment, OTA updates, eSIM profile management, and network failover. The on-device agent (sixfab-connect) is pre-installed in the ALPON X4 OS image.

Software

Device shows as offline in ALPON Cloud

Symptom
The device is powered on but the asset list in ALPON Cloud shows it as offline. The Connection LED is off.
Cause
The sixfab-connect agent cannot reach the cloud, the device has not been activated for the workspace, or no network path has a working uplink.
Fix
  1. From a local SSH session, check the agent and inspect logs:
    terminal shell
    systemctl status sixfab-connect
    journalctl -u sixfab-connect -n 200
  2. Restart the agent if it is stuck: sudo systemctl restart sixfab-connect.
  3. In ALPON Cloud, confirm the device is activated via the Active/Inactive toggle on the asset detail page.
  4. Verify at least one path (LTE, Wi-Fi, or Ethernet) has a healthy upstream route.
Software

Container fails to start on the device

Symptom
docker run fails with exec format error, or a container deployed from ALPON Cloud is reported as crashed.
Cause
The image is built for amd64 (x86_64) instead of ARM64. The Raspberry Pi CM4 is ARMv8 and only runs linux/arm64 binaries.
Fix
  1. On a workstation, cross-build for the right platform: docker buildx build --platform linux/arm64 -t myimage:latest --push .
  2. Or build natively on the ALPON X4 with docker build ..
  3. Verify the image architecture before deploy: docker inspect <image> | grep Architecture.
  4. Re-deploy through ALPON Cloud after pushing the corrected image.
Software

OTA update is stuck or rolls back

Symptom
An OTA update reports in progress for an extended period, or the device reports the previous version after the rollout completes.
Cause
The eMMC is short on free space, the link is dropping during the download, or the new container failed its health check and the agent rolled back automatically.
Fix
  1. Free space on eMMC: df -h / should show at least 500 MB free. Prune old container images with docker image prune -a.
  2. Confirm the active link is stable. If the OTA started on LTE, switch to Ethernet and retry.
  3. Inspect the agent log: journalctl -u sixfab-connect -n 300 --no-pager.
  4. If the new image fails its health probe, fix the container and re-publish a new revision in ALPON Cloud.

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. Run them top to bottom; each step takes under a minute.

Pre-support checklist

Run these seven checks before opening a ticket

01

Power source

15 V / 27 W USB-C PD or 9 to 30 V DC at 27 W minimum. No under-voltage flag.

$ vcgencmd get_throttled
02

Switch positions

SW1 (Watchdog) and SW2 (Boot/Burn) both OFF for normal operation. Toggle only with all power disconnected.

SW1 · SW2 · OFF
03

LED state

Note the exact state of Power, Connection, and Cellular. See the LED reference.

P · C · Cell
04

Antennas seated

Four SMA connectors hand-tight: LTE Main, LTE Diversity, GNSS/GPS, and Wi-Fi/Bluetooth.

L · L · G · W
05

Network path

At least one of LTE, Wi-Fi, ETH/G, or ETH reaches the internet.

$ ping -c 3 1.1.1.1
06

Cloud agent

sixfab-connect reports active (running).

$ systemctl status sixfab-connect
07

Device serial number

Read it from the enclosure label, next to the QR code. Include it in the ticket.

SN-XXXXXXXX

Collecting a support bundle

If you can run a shell on the device (SSH or HDMI), this single block captures the journal, kernel ring buffer, throttle state, modem status, and OS release into one archive. Attach it to your ticket if you can; otherwise the items in the checklist above are enough to start.

terminal (on the ALPON X4) shell
# Single-shot bundle, run on the device over SSH
sudo journalctl -b -n 2000 > ~/alpon-x4-journal.log
dmesg > ~/alpon-x4-dmesg.log
vcgencmd get_throttled > ~/alpon-x4-power.log
mmcli -m 0 > ~/alpon-x4-modem.log
cat /etc/os-release > ~/alpon-x4-os.log
tar czf ~/alpon-x4-support.tar.gz ~/alpon-x4-*.log
# Copy the archive to your computer with scp, WinSCP, or Cyberduck.
No shell access?

Send a plain-text email with the device serial number, the observed LED state, and a one-line description of what you were doing when the issue appeared. Sixfab support can guide you through log collection from there.

Still stuck? Get help from Sixfab

Reach out with your support bundle and the LED state you observed. Typical first response in one business day.