Reposting some details from my reply in the other thread.
Free space shouldn’t be nearly as critical as 3.18 updates will free space first, and 3.18 will install a recovery page so you don’t have to do any hackery with curl to set up WiFi if the main app is lost during an update.
If the main app can’t be written and your index page is the recovery app, then it can be used to configure WiFi and update/repair. I don’t recommend deleting the index page as you are likely deleting the tiny recovery app. A copy is also available at /recovery.html
What kind of free space do you see in the recovery app? I would think it could work with 400k or so free, but since you are having issues shoot for 500-600k.
If it was filled to the brim, pattern files can be downloaded and deleted manually to free up more space. Restoring them is trickier. The recovery page doesn’t have that built in, but pasting this snippet into a browser console should log out the pattern IDs and names:
var oldOnMessage = websocket.onmessage;
function readAsUtf8(buf, cb) {
var bb = new Blob([new Uint8Array(buf)]);
var f = new FileReader();
f.onload = function(e) {
cb(e.target.result);
};
f.readAsText(bb);
}
websocket.onmessage = function(e) {
if ("string" == typeof e.data) {
oldOnMessage(e)
} else {
var buf = new Uint8Array(e.data);
if (buf[0] == 7) {
readAsUtf8(buf.slice(2), console.log)
}
}
}
sendFrame({listPrograms:true})
With a given pattern ID, you can download the binary archive with a URL like this
http://192.168.4.1/p/iPSFqLoN9yKEfKCaH
and delete it with the delete URL like this
http://192.168.4.1/delete?path=/p/iPSFqLoN9yKEfKCaH
Restoring involves uploading via curl (e.g. with pattern id iPSFqLoN9yKEfKCaH)
curl -s -i -X POST -H "Content-Type: multipart/form-data" -F "data=@iPSFqLoN9yKEfKCaH;filename=p/iPSFqLoN9yKEfKCaH" "http://192.168.4.1/edit"