Troubleshooting

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

Troubleshooting

ALPON X4 · Diagnostics · Power, connectivity, GPIO, and OS fixes

Field-tested fixes for the most common ALPON X4 issues. Each entry 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 GPIO and peripherals, then the operating system.

How do I troubleshoot the ALPON X4?

Start from the physical layer and move up. Verify power first (USB-C PD 27 W, 9 to 30 V DC, or PoE+ on PoE-variant SKUs), then the Status LEDs, then the network links (LTE Cat 4, Wi-Fi, dual Ethernet), then confirm GPIO Add-on activation, and finally inspect ALPON X4 OS logs with journalctl -xe. This guide groups every common failure mode under one of those layers for the industrial edge IoT computer.

Before you troubleshoot

Most "dead on arrival" reports resolve with a 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 CM4. Start every diagnostic here.

Power and Boot Issues

The ALPON X4 accepts three independent power inputs: USB-C PD, 9 to 30 V DC terminal block, and optional PoE+ on PoE-variant SKUs. All three share a common rail through hardware ideal diodes, so the device always draws from the source with the highest voltage. Typical consumption is 7 to 14 W, with a 27 W peak under full load.

The device does not power on (no LEDs)

Power
Symptom
Nothing lights up within 3 seconds of connecting power. The Power LED stays off.
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 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 (e.g. 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.

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

Power
Symptom
The 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 ALPON has entered Restricted Mode. Input voltage has dropped below 12 V, so the peripheral rails are disabled by design while the 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 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.

The device resets or throttles under sustained load

Power
Symptom
The 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 CM4 is not hitting the under-voltage bit.

The device boots in a reset loop

Power
Symptom
The 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 CM4 eMMC.

PoE+ does not power the device

Power
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 Status, Cellular Status, 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).
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 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 Issues

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 ALPON Cloud agent handles failover in priority order. Most connectivity problems reduce to antenna torque, eSIM profile state, or link priority.

The Cellular LED is red or yellow

Connectivity
Cause
Weak LTE signal, missing or loose antenna, or the eSIM profile has not yet activated on the local network.
Fix
  1. Hand-tighten both LTE antennas (Main + 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 with mmcli -m 0 --signal-get to confirm signal strength.

The eSIM does not register on any network

Connectivity
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.

Ethernet does not link or shows the wrong speed

Connectivity
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.

Wi-Fi does not see any 5 GHz networks

Connectivity
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.

Network failover does not switch when the primary path drops

Connectivity
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 and USB Issues

The GPIO Add-on port is an RJ45 connector exposing six configurable 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 Add-on port has no 5 V output

GPIO
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 peripherals power off and stay off

GPIO
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-C port does not power my peripheral

GPIO
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.

HDMI output is blank or wrong resolution

Display
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 Issues

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>.

SSH connection is refused or times out

OS
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

I forgot the password I set for the alpon user

OS
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. Deleting it breaks remote terminal access, OTA updates, and the network failover manager. Create an additional admin user instead and keep alpon intact.

apt update or apt upgrade fails

OS
Symptom
sudo apt update reports unreachable repositories, GPG signature errors, or hash sum mismatches.
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
  1. Confirm an uplink: ping -c 3 1.1.1.1.
  2. Verify the system clock is current: timedatectl. If wrong, fix it with sudo timedatectl set-ntp true.
  3. Repair any interrupted package state: sudo dpkg --configure -a followed by sudo apt install -f.
  4. Retry sudo apt update && sudo apt upgrade -y. Reboot if a kernel or firmware package was upgraded.
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.

RTC time drifts after a power cycle

OS
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 Container Issues

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.

Device shows as offline in ALPON Cloud

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: systemctl status sixfab-connect.
  2. Restart it: sudo systemctl restart sixfab-connect.
  3. Read the recent logs: journalctl -u sixfab-connect -n 200 --no-pager.
  4. In ALPON Cloud, confirm the device is activated via the Active/Inactive toggle on the asset detail page.
  5. Verify at least one path (LTE, Wi-Fi, or Ethernet) has a healthy upstream route.

Container fails to start on the device

Cloud
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 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.

OTA update is stuck or rolls back

Cloud
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.

1 Power: confirm you are using a 15 V / 27 W USB-C PD adapter or a 9 to 30 V DC supply rated for at least 27 W. 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 Power, Connection, and Cellular LEDs. Compare against the table in the LED section above.
4 Antennas: all four antennas (2 LTE, 1 GNSS, 1 Wi-Fi) are hand-tight on their SMA connectors.
5 Network: at least one of LTE, Wi-Fi, ETH/G, or ETH has a working upstream path.
6 Cloud agent: systemctl status sixfab-connect reports the service as active (running).
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-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
# Attach ~/alpon-x4-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.

Where to Next