I use the following bash script run from another system as a workaround:
#!/bin/bash
# access point ip addresses separated by a space
APS="192.168.178.4 192.168.178.5"
urlcurl () {
URL=$1
DATA=$2
COOKIE=$3
curl $URL -s -H 'User-Agent: Mozilla/5.0 (Linux; Intel Arch 6.0; rv:61.0) Gecko/20100301 Firefox/64.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Language: de,en-US;q=0.7,en;q=0.3' --compressed -H 'Connection: keep-alive' -XPOST -H 'Content-Type: application/x-www-form-urlencoded' --data $DATA -b "sessionHTTP=${COOKIE}"
}
# Loop APs
for AP in $APS; do
LOGIN_URL="http://${AP}/admin.cgi?action=logon"
REBOOT_URL="http://${AP}/admin.cgi?action=reset_device"
# Login
SESSION=`urlcurl $LOGIN_URL "i_username=cisco&login=Log+In&i_password=stringencoded" | grep 'var cookieValue' | awk -F\" '{ print $2 }' | sed -e 's/^=//'`
# Reboot
urlcurl $REBOOT_URL "reboot-system=Reboot" $SESSION > /dev/null
# wait for 60 seconds to reboot next
sleep 60
done
You have to replace stringencoded with the encoded password string. You can get it with the Developer Tools of your browser during the login on the access point.
Best Regards,
Patrick