redpitaya-puzzlefw/sw/buildroot_overlay/opt/puzzlefw/lib/run-remotectl

53 lines
1.1 KiB
Plaintext
Raw Normal View History

2024-10-01 20:45:22 +02:00
#!/bin/sh
#
# Script to run the remote control server.
#
PIDFILE=/var/run/puzzlefw_remotectl.pid
# Redirect output to console.
exec &> /dev/console
2024-10-04 13:12:11 +02:00
# 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"
2024-10-01 20:45:22 +02:00
# Run remote control server.
2024-10-04 13:12:11 +02:00
/opt/puzzlefw/bin/remotectl --model "$model" --serialnr "$serialnr" &
2024-10-01 20:45:22 +02:00
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