46 lines
		
	
	
		
			802 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			802 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Script to run the remote control server.
 | 
						|
#
 | 
						|
 | 
						|
. /opt/puzzlefw/lib/functions.sh
 | 
						|
 | 
						|
PIDFILE=/var/run/puzzlefw_remotectl.pid
 | 
						|
 | 
						|
# Redirect output to console.
 | 
						|
exec &> /dev/console
 | 
						|
 | 
						|
# Read model and serial number from EEPROM.
 | 
						|
read_eeprom
 | 
						|
model="${eeprom_hw_rev:-unknown}"
 | 
						|
serialnr="${eeprom_ethaddr:-0}"
 | 
						|
echo "model=$model"
 | 
						|
echo "serialnr=$serialnr"
 | 
						|
 | 
						|
# Run remote control server.
 | 
						|
/opt/puzzlefw/bin/remotectl --model "$model" --serialnr "$serialnr" &
 | 
						|
serverpid=$!
 | 
						|
 | 
						|
# Write PID file.
 | 
						|
echo $serverpid > $PIDFILE
 | 
						|
 | 
						|
# Wait until server exits.
 | 
						|
wait $serverpid
 | 
						|
status=$?
 | 
						|
 | 
						|
rm -f $PIDFILE
 | 
						|
 | 
						|
echo "Remote control server ended with status=${status}"
 | 
						|
 | 
						|
if [ $status -eq 10 ]; then
 | 
						|
    # Got command HALT.
 | 
						|
    echo "Halting system".
 | 
						|
    halt
 | 
						|
fi
 | 
						|
 | 
						|
if [ $status -eq 11 ]; then
 | 
						|
    # Got command REBOOT.
 | 
						|
    reboot
 | 
						|
fi
 | 
						|
 |