-
Notifications
You must be signed in to change notification settings - Fork 2
Common Issues
Comprehensive troubleshooting guide for frequently encountered issues in the Hyperloop UPV Control Station system.
Symptoms: Control Station completely unresponsive, no sensor data
Immediate Actions:
- Check physical emergency stop - Verify E-stop hasn't been triggered
- Verify network connectivity - Check all ethernet cables and switches
- Restart backend server - Use emergency restart procedures
- Contact safety team - If vehicle is in operation
Recovery Steps:
# Emergency backend restart
cd backend/cmd
sudo pkill -f "./backend"
./backend
# Check system status
curl -s http://localhost:8080/healthSymptoms: "Connection Lost" messages, no real-time data
Immediate Actions:
- Check network hardware - Switches, NAPs, routers
- Verify IP configuration - Ensure 192.168.0.9 is configured
- Test connectivity - Ping vehicle and booster networks
- Check wireless links - NAP status and signal strength
Symptoms:
- Error on startup: "address already in use"
- "config.toml not found" message
- Permission denied errors
Solutions:
# Check what's using port 8080
netstat -tlnp | grep :8080
lsof -i :8080
# Kill existing process
sudo pkill -f backend
# or find PID and kill specifically
kill [PID]# Verify config.toml exists
ls -la backend/cmd/config.toml
# Create default config if missing
cp backend/cmd/config.toml.example backend/cmd/config.toml
# Check ADJ directory exists
ls -la backend/cmd/adj/# Grant network capabilities (Linux)
sudo setcap cap_net_raw,cap_net_admin=eip ./backend
# Run with sudo (temporary fix)
sudo ./backend
# Check file permissions
chmod +x ./backendSymptoms:
- "module not found" errors
- Version conflicts
- Missing dependencies
Solutions:
# Update Go modules
cd backend
go mod tidy
go mod download
# Clear module cache
go clean -modcache
# Rebuild from scratch
go build -o backend cmd/main.go cmd/config.go cmd/pid.go cmd/trace.goSymptoms:
- "BLCU address not found in ADJ"
- Board registration failures
- JSON parsing errors
Solutions:
# Check ADJ files exist
ls -la backend/cmd/adj/boards/
# Validate JSON syntax
cd backend/cmd/adj
find . -name "*.json" -exec python -m json.tool {} \; > /dev/null
# Update ADJ from git
git submodule update --init --recursiveSymptoms:
- Blank page in browser
- "Cannot connect to server" errors
- Build failures
Solutions:
# Check Node.js version
node --version # Should be 18+
# Clear npm cache
npm cache clean --force
# Reinstall dependencies
rm -rf node_modules package-lock.json
npm install
# Start dev server with debugging
npm run dev -- --host 0.0.0.0 --port 5173# Build common-front first
cd common-front
npm run build
# Then build control-station
cd ../control-station
npm run build
# Check for TypeScript errors
npm run typecheck- Use Chrome/Firefox - Edge may have compatibility issues
- Disable browser extensions - Some ad blockers interfere
- Clear browser cache - Force refresh with Ctrl+F5
- Check browser console - Look for JavaScript errors
Symptoms:
- "WebSocket failed to connect"
- Data not updating in real-time
- Intermittent disconnections
Solutions:
# Test WebSocket directly
wscat -c ws://localhost:8080/ws
# Check firewall rules
# Windows
netsh advfirewall firewall show rule name="Hyperloop Backend"
# Linux
sudo iptables -L | grep 8080
# Test with telnet
telnet localhost 8080Symptoms:
- Cannot ping other networks
- "Network unreachable" errors
- Timeouts on connections
Solutions:
# Verify static IP is set
ip addr show # Linux
ifconfig # macOS
ipconfig /all # Windows
# Should see 192.168.0.9/24# Check routing table
ip route show # Linux
route -n get default # macOS
route print # Windows
# Test connectivity step by step
ping 192.168.0.1 # Local gateway
ping 192.168.1.1 # Vehicle network
ping 192.168.2.1 # Booster network# Check NAP status via web interface
# Access: http://192.168.0.101 (Control NAP)
# Test signal strength
iwconfig wlan0 # Linux
Airport -s # macOS
# Restart NAP devices if needed
# Power cycle PoE injectorsSymptoms:
- Slow response from control commands
- Delayed sensor data updates
- Packet loss warnings
Solutions:
# Measure latency
ping -c 10 192.168.1.101
mtr 192.168.1.101 # Linux - shows hop-by-hop
# Check network utilization
iftop -i eth0 # Linux
nettop # macOS
# QoS configuration on switches
# Prioritize control trafficSymptoms:
- NAPs randomly disconnecting
- LED indicators flickering
- Intermittent connectivity
Solutions:
- Check power consumption - NAPs need 24W+ PoE
- Verify cable length - Max 100m for PoE
- Test with different injector - Rule out faulty equipment
- Check cable crimping - Poor connections cause power issues
Symptoms:
- Intermittent connections
- Reduced speed (100Mbps instead of 1Gbps)
- High error rates
Diagnostic Steps:
# Check link speed
ethtool eth0 # Linux
networksetup -getinfo "Ethernet" # macOS
# Test cable with different devices
# Check for physical damage
# Verify proper terminationSymptoms:
- Disk space warnings
- Slow system performance
- "No space left on device" errors
Solutions:
# Check disk usage
df -h
# Find large files
find /var/log -type f -size +100M
# Rotate logs
logrotate -f /etc/logrotate.conf
# Clean old logs
find logs/ -name "*.log" -mtime +7 -deleteSymptoms:
- Backend starts with default settings
- Settings not persisting
- JSON parsing errors
Solutions:
# Backup current config
cp backend/cmd/config.toml backend/cmd/config.toml.backup
# Restore from backup
cp backend/cmd/config.toml.working backend/cmd/config.toml
# Validate configuration syntax
toml-test backend/cmd/config.tomlSymptoms:
- Cannot access devices
- "Access denied" messages
- SSH connection refused
Solutions:
# Check SSH service
systemctl status ssh # Linux
sudo launchctl list | grep ssh # macOS
# Test with verbose output
ssh -v admin@192.168.0.101
# Reset device passwords if needed
# Use console access for recoverySymptoms:
- Connections timing out
- Specific ports unreachable
- Works locally but not remotely
Solutions:
# Linux iptables
sudo iptables -L
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
# Windows Firewall
netsh advfirewall firewall add rule name="Hyperloop Backend" dir=in action=allow protocol=TCP localport=8080
# macOS
sudo pfctl -srSymptoms:
- Builds work on one OS but not another
- Path separator issues
- Permission problems
Solutions:
# Use proper scripts for your platform
# Windows: scripts/dev.ps1 or scripts/dev.cmd
# Linux/macOS: scripts/dev.sh
# Check file permissions
chmod +x scripts/dev.sh
# Use Docker for consistent environment
docker-compose -f docker-compose.dev.yml upSymptoms:
- Wrong Node.js/Go versions
- Package conflicts
- Path issues
Solutions:
# Check versions
node --version # Should be 18+
go version # Should be 1.21+
# Use version managers
nvm use 18 # Node Version Manager
gvm use go1.21 # Go Version Manager
# Clean environment
npm cache clean --force
go clean -cacheSymptoms:
- System running slowly
- Fan noise from computers
- Response delays
Diagnostic Steps:
# Check processes
top
htop
ps aux | grep backend
# Monitor system resources
iostat 1
vmstat 1
# Check for memory leaks
valgrind ./backendSymptoms:
- Memory usage constantly increasing
- System becoming unresponsive
- Out of memory errors
Solutions:
# Monitor memory usage
free -h
watch -n 1 'free -h'
# Check for leaks in Go
go tool pprof http://localhost:8080/debug/pprof/heap
# Restart services regularly
systemctl restart hyperloop-backend#!/bin/bash
echo "=== Hyperloop System Health Check ==="
# Backend status
curl -s http://localhost:8080/health && echo "β
Backend OK" || echo "β Backend Failed"
# Frontend status
curl -s http://localhost:5173 > /dev/null && echo "β
Control Station OK" || echo "β Control Station Failed"
curl -s http://localhost:5174 > /dev/null && echo "β
Ethernet View OK" || echo "β Ethernet View Failed"
# Network connectivity
ping -c 1 192.168.1.101 > /dev/null && echo "β
Vehicle Network OK" || echo "β Vehicle Network Failed"
ping -c 1 192.168.2.101 > /dev/null && echo "β
Booster Network OK" || echo "β Booster Network Failed"
# Disk space
DISK_USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $DISK_USAGE -lt 80 ]; then
echo "β
Disk Space OK ($DISK_USAGE%)"
else
echo "β οΈ Disk Space Warning ($DISK_USAGE%)"
fi- Run the diagnostic commands above
- Check the logs for error messages
- Try the quick fixes listed for your issue
- Document the problem with screenshots/logs
- GitHub Issues: software/issues
- Emergency Contact: [Team safety procedures]
- Documentation: This wiki and README files
When reporting issues, include:
- Exact error messages
- System configuration (OS, versions)
- Steps to reproduce the problem
- Log files (backend.log, browser console)
- Network configuration (IP addresses, topology)
- Installation Guide - Setup procedures
- System Architecture - System design
- Development Environment Setup - Development setup
- BLCU Troubleshooting - BLCU-specific issues
π§ Remember: When in doubt, restart the backend server first - it resolves 80% of common issues!