From 334e3367272d29245dce22a382be4b02cdca206e Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Thu, 11 Jan 2024 09:27:17 +0000 Subject: [PATCH] If DFU update fails but we're not using any delay between sending packets, try again but with a delay. This fixes an issue with *some* Windows 11 PCs where a DFU update would fail on the first 4096 byte block Fix #80 --- src/secure-dfu.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/secure-dfu.ts b/src/secure-dfu.ts index 6947423..210b194 100644 --- a/src/secure-dfu.ts +++ b/src/secure-dfu.ts @@ -548,7 +548,14 @@ export class SecureDfu extends EventDispatcher { resolve(device); }); }) - .catch(error => reject(error)); + .catch(error => { + if (this.delay === 0) { + this.log("DFU update failed, but delay=0. Trying again with delay=10..."); + this.delay = 10; + return this.update(device, init, firmware); + } + reject(error); + }); }); } }