This page covers common problems with a Raspberry Pi which runs MIX or TransSECS.
Example:
ssh: connect to host ... Connection refused
SSH may not have been enabled when Raspberry Pi OS was installed.
Enable SSH through Raspberry Pi Imager when writing the card, or from a local keyboard and monitor with:
sudo raspi-config
Choose Interface Options → SSH → Yes.
Try the Pi’s IP address instead:
ssh [email protected]
If several Pis use the same hostname on the same network, give each one a unique hostname.
Example:
sudo: unable to resolve host mix: Temporary failure in name resolution
Check:
hostname cat /etc/hosts
The local hostname configuration in /etc/hosts must agree with the Pi’s hostname.
First check disk usage:
df -h /
Then check the system logs:
ls -lh /var/log ls -lh /var/log/syslog* ls -lh /var/log/daemon.log*
A nearly full SD card can make SSH and sudo extremely slow.
If syslog or daemon.log is very large, verify the 20 MB logrotate settings in the base-setup article and verify which MIX or TransSECS console output is being written to its dedicated console log.
If the startup message ends with prelicense code: but does not show a number, contact ErgoTech. The deployment may need to be rebuilt for the Raspberry Pi.
An ErgoTech license is associated with the individual system. Changing the hostname, IP address, or network configuration does not change the license.
If a license which previously worked is rejected, contact ErgoTech and include the current pre-license information.
Each Raspberry Pi created from a master SD-card image requires its own ErgoTech license.
Check:
java -version
If it shows Java 17 or 21 instead of Java 8:
sudo update-alternatives --config java
Select the Java 8 installation under /opt/java.
Check whether MIX is running:
systemctl status mix
Press q to leave the status screen.
If MIX is running, check the configured port:
grep mix.port /home/mix/mixruntime/mix.properties
Also inspect the console log:
tail -n 50 /home/mix/mixruntime/logs/runmix-console.log
Check which serial devices Linux can see:
ls /dev/ttyUSB* /dev/ttyAMA* 2>/dev/null
For SECS-I or other serial devices, also verify which run.sh includes /usr/lib/jni in LD_LIBRARY_PATH.
This normally follows an unclean shutdown or power loss on a MIX kiosk system.
Verify which the kiosk-specific rc.local cleanup from the kiosk article is installed, then reboot.
Do not delete Chromium lock files while Chromium is actively running.
For a Pi 3 or Pi 4, check:
timedatectl
These Pis do not have a battery-backed real-time clock. fake-hwclock provides an approximate time until a network time source or another clock-setting method corrects it.
On MIX, open the setup page and use Get Pre-License Key, which also updates the Pi’s system time.
For a Pi 5, verify the RTC battery is installed and timedatectl shows an RTC time.
For MIX:
systemctl status mix tail -n 50 /home/mix/mixruntime/logs/runmix-console.log
For TransSECS:
systemctl status transsecs tail -n 50 /home/mix/secs/logs/transsecs-console.log
The last lines of the console log usually contain the most useful error information.
When contacting ErgoTech support, include the output of:
uname -m head -2 /etc/os-release java -version df -h /
For MIX:
systemctl status mix tail -n 50 /home/mix/mixruntime/logs/runmix-console.log
For TransSECS Deployments:
systemctl status transsecs tail -n 50 /home/mix/secs/logs/transsecs-console.log
If the problem appears related to disk space or system logging, also include:
ls -lh /var/log/syslog* ls -lh /var/log/daemon.log* sudo cat /var/lib/logrotate/status