#!/bin/sh # # Script to run the remote control server. # PIDFILE=/var/run/puzzlefw_remotectl.pid # Redirect output to console. exec &> /dev/console # Read model and serial number from EEPROM. model=unknown serialnr=0 dd if=/sys/bus/i2c/devices/0-0050/eeprom bs=1k skip=6 count=1 status=none | tr '\000' '\n' > /tmp/run_remotectl_eeprom while read -r cfgitem cfgrest ; do if [ "$cfgitem" != "${cfgitem#hw_rev=}" ]; then model="${cfgitem#hw_rev=}" fi if [ "$cfgitem" != "${cfgitem#ethaddr=}" ]; then serialnr="${cfgitem#ethaddr=}" fi done < /tmp/run_remotectl_eeprom 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