mirror of
https://github.com/unraid/webgui.git
synced 2026-02-16 14:08:55 -06:00
Improved time loop
This commit is contained in:
@@ -39,9 +39,9 @@ function port($dev) {
|
||||
function carrier($dev, $loop=10) {
|
||||
if (!port($dev)) return false;
|
||||
try {
|
||||
for ($n = 0; $n < $loop; $n++) {
|
||||
for ($n=0; $n<$loop; $n++) {
|
||||
if (@file_get_contents("/sys/class/net/$dev/carrier") == 1) return true;
|
||||
sleep(1);
|
||||
if ($loop > 0) sleep(1);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return false;
|
||||
@@ -51,7 +51,7 @@ function carrier($dev, $loop=10) {
|
||||
|
||||
function thisNet() {
|
||||
$dev = port('br0') ? 'br0' : (port('bond0') ? 'bond0' : 'eth0');
|
||||
if (!carrier($dev) && carrier('wlan0', 1)) $dev = 'wlan0';
|
||||
if (!carrier($dev) && carrier('wlan0', 0)) $dev = 'wlan0';
|
||||
$ip4 = exec("ip -4 -br addr show dev $dev | awk '{print \$3;exit}'");
|
||||
$net = exec("ip -4 route show $ip4 dev $dev | awk '{print \$1;exit}'");
|
||||
$gw = exec("ip -4 route show default dev $dev | awk '{print \$3;exit}'");
|
||||
|
||||
@@ -39,8 +39,9 @@ TMP=/var/tmp/network.tmp
|
||||
carrier(){
|
||||
local n e
|
||||
[[ -e $SYSTEM/$1 ]] && e=${2:-10} || return 1
|
||||
for ((n=1; n<=$e; n++)); do
|
||||
[[ $(cat $SYSTEM/$1/carrier 2>/dev/null) == 1 ]] && return 0 || sleep 1
|
||||
for ((n=0; n<$e; n++)); do
|
||||
[[ $(cat $SYSTEM/$1/carrier 2>/dev/null) == 1 ]] && return 0
|
||||
[[ $e -gt 0 ]] && sleep 1
|
||||
done
|
||||
return 1
|
||||
}
|
||||
@@ -262,7 +263,7 @@ docker_network_start(){
|
||||
fi
|
||||
X=${NIC//[^0-9]/}
|
||||
REF=$(grep -Pom1 "<Network>\K(br|bond|eth|wlan)$X" $XMLFILE)
|
||||
[[ $X == 0 && ! $(carrier $NIC 1) ]] && continue
|
||||
[[ $X == 0 && ! $(carrier $NIC 0) ]] && continue
|
||||
[[ $X == 0 && $NIC != wlan0 ]] && MAIN=$NIC
|
||||
[[ $NIC == wlan0 && -n $MAIN ]] && continue
|
||||
if [[ -n $REF && $REF != $NIC ]]; then
|
||||
|
||||
@@ -80,8 +80,9 @@ hex(){
|
||||
carrier(){
|
||||
local n e
|
||||
[[ -e $SYSTEM/$1 ]] && e=${2:-10} || return 1
|
||||
for ((n=1; n<=$e; n++)); do
|
||||
[[ $(cat $SYSTEM/$1/carrier 2>/dev/null) == 1 ]] && return 0 || sleep 1
|
||||
for ((n=0; n<$e; n++)); do
|
||||
[[ $(cat $SYSTEM/$1/carrier 2>/dev/null) == 1 ]] && return 0
|
||||
[[ $e -gt 0 ]] && sleep 1
|
||||
done
|
||||
return 1
|
||||
}
|
||||
@@ -234,11 +235,11 @@ wifi_start(){
|
||||
$OPENSSL load
|
||||
# start active SSID
|
||||
$STARTWIFI
|
||||
if ! carrier $PORT 1; then
|
||||
if ! carrier $PORT 0; then
|
||||
# try the saved SSIDs
|
||||
for SSID in $(grep -P '^\[.+\]$' $CFG | sed 1d | sed -r 's/\[|\]/"/g'); do
|
||||
[[ -n $SSID ]] && $STARTWIFI "$SSID" || break
|
||||
if carrier $PORT 1; then break; fi
|
||||
if carrier $PORT 0; then break; fi
|
||||
done
|
||||
fi
|
||||
if wifi_running; then REPLY="Started"; else REPLY="Failed"; fi
|
||||
|
||||
Reference in New Issue
Block a user