linuxOS_AP05/buildroot/package/gmrender-resurrect/gmrender_service.sh

76 lines
1.4 KiB
Bash
Raw Normal View History

2025-06-02 05:59:07 +00:00
#!/bin/sh
PROCESS=gmediarender
NAME=rockchip
dlna_start()
{
echo dlna_start
$PROCESS -f $NAME -d
}
dlna_stop()
{
echo dlna_stop
killall $PROCESS
}
wifiUpAction()
{
echo wifiUp
dlna_start
}
wifiDownAction()
{
echo wifiDown
dlna_stop
}
wifiChangeAction()
{
echo wifiChange
dlna_stop
dlna_start
}
wifiRequestingIp()
{
echo wifiRequestingIp
}
checkwifistate()
{
local flag=0
local last_ip_address=0
while true
do
wpa_state=`wpa_cli -iwlan0 status | grep wpa_state | awk -F '=' '{printf $2}'`
ip_address=`wpa_cli -iwlan0 status | grep ip_address | awk -F '=' '{printf $2}'`
if [ "${wpa_state}"x = "COMPLETED"x ];then
if [ "${ip_address}"x != ""x ] && [ "${ip_address}"x != "0.0.0.0"x ];then
if [ $flag -eq 0 ];then
flag=1
wifiUpAction
elif [ "${ip_address}"x != "${last_ip_address}"x ];then
flag=1
wifiChangeAction
else
flag=1
fi
else
flag=0
wifiRequestingIp
fi
else
if [ $flag -eq 1 ];then
flag=0
wifiDownAction
fi
fi
sleep 3
last_ip_address="${ip_address}"
done
}
killall $PROCESS
checkwifistate