wait for ip address assignmend during dhclien

This commit is contained in:
Alihan
2023-05-18 00:02:48 +03:00
parent 018c7021cf
commit 85eca41fba

View File

@@ -34,15 +34,26 @@ connect_using_wpa_supp() {
sudo wpa_supplicant -D nl80211 -i $DRONE_INTERFACE -c network/$DRONE_WPA_SUPP_CONF sudo wpa_supplicant -D nl80211 -i $DRONE_INTERFACE -c network/$DRONE_WPA_SUPP_CONF
} }
wait_for_drone() { #wait_for_drone() {
while ! ping -c1 192.168.10.1 &>/dev/null; do #while ! ping -c1 192.168.10.1 &>/dev/null; do
echo "Drone is offline. Waiting.."; sleep 2 # echo "Drone is offline. Waiting.."; sleep 2
done #done
echo "Drone is available, can ask for dhcp"; sleep 1 #echo "Drone is available, can ask for dhcp"; sleep 1
} #}
get_dhcp_ip () { get_dhcp_ip () {
sudo dhclient $DRONE_INTERFACE while true; do
sudo dhclient $DRONE_INTERFACE
ip_address=$(ip addr show wlan1 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)
if [[ -n $ip_address ]]; then
echo "Drone assigned IP to commander: $ip_address"
echo "ok"
break
else
echo "Drone is not assigned an IP yet. Waiting.."
sleep 2
fi
done
} }
start_jupyter() { start_jupyter() {
@@ -81,9 +92,6 @@ elif [ "$1" == "connect-drone" ]; then
wpa_supp_pid=$! wpa_supp_pid=$!
echo "started wpa supplicant to connect drone network with PID $wpa_supp_pid" echo "started wpa supplicant to connect drone network with PID $wpa_supp_pid"
echo $wpa_supp_pid > $pids_dir/wpa_supp_pid.txt echo $wpa_supp_pid > $pids_dir/wpa_supp_pid.txt
echo "will wait forever until drone is on and connected to repeater"
wait_for_drone
echo "ok"
elif [ "$1" == "disconnect-drone" ]; then elif [ "$1" == "disconnect-drone" ]; then
wpa_supp_pid_file="$pids_dir/wpa_supp_pid.txt" wpa_supp_pid_file="$pids_dir/wpa_supp_pid.txt"
@@ -157,7 +165,6 @@ elif [ "$1" == "stop-commander" ]; then
echo "stopped commander" echo "stopped commander"
fi fi
elif [ "$1" == "prepare-flight" ]; then elif [ "$1" == "prepare-flight" ]; then
./manage.sh connect-drone ./manage.sh connect-drone
./manage.sh get-dhcp ./manage.sh get-dhcp