File: //usr/syno/lib/systemd/scripts/8021x-client.sh
#!/bin/sh
# Copyright (c) 2000-2018 Synology Inc. All rights reserved.
IFACE=$1
if [ "$TEST" = "false" ]; then
if /usr/syno/bin/synobootseq --is-booting-up ; then
/bin/sleep 2 || true
else
time=1;
/bin/sleep 1 || true
while true; do
if [ "$time" -ge "10" ]; then
break;
fi
eapState=`/usr/sbin/wpa_cli -i $IFACE status | grep "EAP state" | sed 's/\=/ /g' | awk '{ printf $3 }'`
if [ "x${eapState}" = "xSUCCESS" -o "x${eapState}" = "xFAILURE" ]; then
break;
fi
/bin/sleep 3 || true
time=$(($time + 3))
done
fi
master=`get_key_value /etc/sysconfig/network-scripts/ifcfg-$IFACE MASTER` || true
if [ -z "$master" ]; then
/bin/systemctl is-active dhclient@${IFACE}.service
if [ $? -eq 0 ]; then
/bin/systemctl reset-failed dhclient@${IFACE}.service
/usr/syno/bin/synosystemctl restart dhclient@${IFACE}.service
fi
fi
fi