|
@@ -3095,6 +3095,26 @@ void proc_ap()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void procKillConnection()
|
|
|
+{
|
|
|
+ char cmdBuf[512];
|
|
|
+
|
|
|
+ // Stop dhcp client or server
|
|
|
+ sprintf(cmdBuf, "pgrep -f \"udhcpc -i %s\" | xargs kill", Wifi.currentInterface);
|
|
|
+ system(cmdBuf);
|
|
|
+
|
|
|
+ sprintf(cmdBuf, "pgrep -f \"udhcpd\" | xargs kill");
|
|
|
+ system(cmdBuf);
|
|
|
+
|
|
|
+ // Restart wpa_supplicant
|
|
|
+ sprintf(cmdBuf, "pgrep -f \"wpa_supplicant\" | xargs kill");
|
|
|
+ system(cmdBuf);
|
|
|
+
|
|
|
+ // Stop wifi AP
|
|
|
+ sprintf(cmdBuf, "pgrep -f \"hostapd\" | xargs kill");
|
|
|
+ system(cmdBuf);
|
|
|
+}
|
|
|
+
|
|
|
//==========================================
|
|
|
// Main loop
|
|
|
//==========================================
|
|
@@ -3183,6 +3203,7 @@ int main(void)
|
|
|
break;
|
|
|
case WIFI_MODE_DISABLE:
|
|
|
default:
|
|
|
+ procKillConnection();
|
|
|
sleep(30);
|
|
|
break;
|
|
|
}
|