diff --git a/apps/fwupdate/custom.html b/apps/fwupdate/custom.html
index 066d658be..b1a356d4e 100644
--- a/apps/fwupdate/custom.html
+++ b/apps/fwupdate/custom.html
@@ -88,23 +88,28 @@ function onInit(device) {
document.getElementById("fw-unknown").style = "display:none";
document.getElementById("fw-ok").style = "";
}
- Puck.eval("E.CRC32(E.memoryArea(0xF7000,0x7000))", crc => {
- console.log("DFU CRC = "+crc);
- var version = `unknown (CRC ${crc})`;
+ Puck.eval("[E.CRC32(E.memoryArea(0xF7000,0x6000)),E.CRC32(E.memoryArea(0xF7000,0x7000))]", crcs => {
+ console.log("DFU CRC (6 pages) = "+crcs[0]);
+ console.log("DFU CRC (7 pages) = "+crcs[1]);
+ var version = `unknown (CRC ${crcs[1]})`;
var ok = true;
- if (crc==1339551013) { version = "2v10.219"; ok = false; }
- if (crc==1207580954) { version = "2v10.236"; ok = false; }
- if (crc==3435933210) version = "2v11.52";
- if (crc==46757280) version = "2v11.58";
- if (crc==3508163280 || crc==1418074094) version = "2v12";
- if (crc==4056371285) version = "2v13";
- if (crc==1038322422) version = "2v14";
- if (crc==2560806221) version = "2v15";
- if (crc==2886730689) version = "2v16";
- if (crc==156320890) version = "2v17";
- if (crc==4012421318) version = "2v18";
- if (crc==1856454048) version = "2v19";
- if (crc==2893810756 || crc==1273571156) version = "2v20";
+ if (crcs[0] == 1787004733) { // check 6 page CRC - the 7th page isn't used in 2v20
+ version = "2v20";
+ } else { // for other versions all 7 pages are used, check those
+ var crc = crcs[2];
+ if (crc==1339551013) { version = "2v10.219"; ok = false; }
+ if (crc==1207580954) { version = "2v10.236"; ok = false; }
+ if (crc==3435933210) version = "2v11.52";
+ if (crc==46757280) version = "2v11.58";
+ if (crc==3508163280 || crc==1418074094) version = "2v12";
+ if (crc==4056371285) version = "2v13";
+ if (crc==1038322422) version = "2v14";
+ if (crc==2560806221) version = "2v15";
+ if (crc==2886730689) version = "2v16";
+ if (crc==156320890) version = "2v17";
+ if (crc==4012421318) version = "2v18";
+ if (crc==1856454048) version = "2v19";
+ }
if (!ok) {
version += `(⚠ update required)`;
}