creotech-sayma-testsuite/rp_stop_uhubctl

42 lines
1.2 KiB
Plaintext
Raw Normal View History

2021-05-05 11:48:34 +08:00
#!/bin/sh
# Host where the smart USB hub is connected
# (uhubctl must be installed on the host)
export HOST=rpi-3
export HOSTPORT=22
# Hub port where the RedPitaya is connected
export HUBPORT=4
# RedPitaya hostname and user information
# (The user should have privilege to run `shutdown` - check out `visudo`)
# (Add local SSH key to RP's authorized keys for passwordless login)
2021-05-05 11:48:34 +08:00
export RP_HOST=rp-f0612e
export RP_USER=tester
export RP_KEY=~/.ssh/rp
2021-05-05 11:48:34 +08:00
# Issue shutdown on the RedPitaya
echo "Requesting shutdown on RP at $RP_HOST."
if [[ $RP_KEY == "" ]]
then
ssh $RP_USER@$RP_HOST "sudo shutdown 0"
else
ssh -i $RP_KEY $RP_USER@$RP_HOST "sudo shutdown 0"
fi
2021-05-05 11:48:34 +08:00
# Check if RedPitaya has been disconnected from network by pinging
while ping $RP_HOST -c 1 >/dev/null 2>/dev/null
do
true
done
# Print time when RedPitaya is down on network
TIMESTAMP_PRETTY=$(date '+%Y-%m-%d %H:%M:%S')
echo "RP disconnected at $TIMESTAMP_PRETTY."
# Wait 15 seconds
sleep 15
# Get power-off time & date
TIMESTAMP_PRETTY=$(date '+%Y-%m-%d %H:%M:%S')
# Power off RedPitaya connected to the smart USB hub
# (assume that only 1 hub is connected)
ssh -p $HOSTPORT $HOST "uhubctl -a off -p $HUBPORT"
echo "RP powered off at $TIMESTAMP_PRETTY."