I am attempting to use your esp32 dfu update example and the first chunk fails when read from the notecard to the host mcu.
{"err":"transaction incomplete"}
dfu: error on read: transaction incomplete
dfu: reading chunk (offset:0 length:8192 try:2)
I have tried increasing the size of #define ALLOC_CHUNK 128
in n_lib.h to accept a full 8192 buffer, but that was unsuccessful. Full log of debug output from esp32 is below. It will repeat this 5 times and then fail / terminate the dfu session.
{"req":"hub.sync"}
{}
sync: wireless starting communications {wait-module} {connecting}
sync: wireless modem now ON {modem-on}
sync: wireless obtaining essential configuration information from modem
sync: wireless modem now OFF (was active 13 sec, 0 bytes transferred) {modem-off}
sync: wireless starting communications {wait-module} {connecting}
sync: wireless modem now ON {modem-on}
sync: wireless waiting for wireless service {wait-service} {connecting}
sync: wireless waiting for wireless service 1 sec [----] {cell-registration-wait}
sync: wireless waiting for wireless service 5 sec [+---] {cell-registration-wait}
sync: wireless cellular radio emtc band LTE BAND 12
sync: wireless waiting for wireless service 9 sec [++--] {cell-registration-wait}
sync: wireless waiting for data service {wait-data} {connecting}
sync: wireless network registration took 27 sec
sync: wireless connected {connected-closed}
sync: project using product UID product:com.xxxxxx
sync: notehub opened notehub {notehub-connected}
sync: work begin (anything pending) {sync-begin}
sync: work upload-notebox (14 changes) {sync-get-local-changes}
sync: work download-notebox (14 changes) {sync-get-remote-changes}
sync: work uploads _env.dbs (2 changes) {sync-get-local-changes}
sync: work download _env.dbs (5 changes) {sync-get-remote-changes}
sync: work uploads _env.dbs (1 changes) {sync-get-local-changes}
sync: work uploads _env.dbs (2 changes) {sync-get-local-changes}
sync: work completed {sync-end}
sync: work begin (anything pending) {sync-begin}
sync: work completed (nothing was pending) {sync-end}
sync: notehub closed notehub {notehub-disconnected}
sync: wireless modem now OFF (was active 54 sec, 18394 bytes transferred) {modem-off}
{"req":"dfu.status"}
{"body":{"crc32":498367444,"created":1611705692,"firmware":{"builder":"CA_Development","built":"Jan 26 2021 18:59:36","description":"Test Device","firmware":"notecard-esp32-dfu-example-v111","org":xxxxx","product":"Notecard ESP32 DFU Example","ver_major":1,"ver_minor":1,"ver_patch":1,"version":"1.1.1"},"info":{},"length":261856,"md5":"3bae0413e7ed4a2d5147a5dbb7e0d3e5","modified":1611705692,"name":"firmware$20210127000132.bin","notes":"for dfu testing","source":"firmware.bin","type":"firmware"},"status":"successfully downloaded","mode":"ready","on":true}
dfu: replacing current image: Ver 1.1.0 Jan 26 2021 20:01:59
dfu: with downloaded image: firmware$20210127000132.bin
{"req":"hub.status"}
{"status":"idle (since 2021-01-27T01:36:55Z) {disconnected} {idle}"}
{"req":"hub.set","mode":"dfu"}
{}
{"req":"dfu.get"}
{"err":"DFU mode is not yet fully active: idle (since 2021-01-27T01:36:55Z) {disconnected} {idle}"}
{"req":"dfu.get"}
{"err":"DFU mode is not yet fully active: 2s starting communications {wait-module} {connecting}"}
{"req":"dfu.get"}
{"err":"DFU mode is not yet fully active: 5s starting communications {wait-module} {connecting}"}
{"req":"dfu.get"}
{"body":{"crc32":498367444,"created":1611705692,"firmware":{"builder":"CA_Development","built":"Jan 26 2021 18:59:36","description":"Test Device","firmware":"notecard-esp32-dfu-example-v111","org":"Charge Analytics LLCxxxxExample","ver_major":1,"ver_minor":1,"ver_patch":1,"version":"1.1.1"},"info":{},"length":261856,"md5":"3bae0413e7ed4a2d5147a5dbb7e0d3e5","modified":1611705692,"name":"firmware$20210127000132.bin","notes":"for dfu testing","source":"firmware.bin","type":"firmware"}}
dfu: running partition type 0 subtype 16 (offset 0x00010000)
dfu: writing to partition subtype 17 at offset 0x150000
dfu: beginning firmware update
dfu: reading chunk (offset:0 length:8192 try:1)
{"req":"dfu.get","offset":0,"length":8192}
received only partial reply after timeout:
{"body":{"crc32":498367444,"created":1611705692,"firmware":{"builder":"CA_Development","built":"Jan 26 2021 18:59:36","description":"Test Device","firmware":"notecard-esp32-dfu-example-v111","org":"xxxx","product":"Notecard ESP32 DFU Example","ver_major":1,"ver_minor":1,"ver_patch":1,"version":"1.1.1"},"info":{},"length":261856,"md5":"3bae0413e7ed4a2d5147a5dbb7e0d3e5","modified":1611705692,"name":"firmware$20210127000132.bin","notes":"for dfu testing","source":"firmware.bin","type":"firmware"},"payload":"6QYCIPQjCEDuAAAAAAAAAAAAAAAAAAABIABAP/DwAAAAAAAAAADgP5qZmZmZmak/exSuR+F6dD/8qfHSTWJAPy1DHOviNgo/8WjjiLX41D6N7bWg98agPkivvJry12o+Ooww4o55NT6V1iboCy4BPru919nffMs9RmcNQMJmDUAgZw1ARmcNQGlnDUCMZw1AjGcNQIxnDUCMZw1A5mYNQDJnDUBGZw1AaWcNQN1vDUBabw1AuG8NQN1vDUABcA1AJHANQCRwDUAkcA1AJHANQH5vDUDJbw1A3W8NQAFwDUAAAAAAAAAAgAAAAKAAAADAAAAA4BQUFAcA//8AAAAAAAAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAAQAAAAAAAAAFAAAAGQAAAH0AAAAAAAAAvInYl7LSnDwzp6jVI/ZJOT2n9ET9D6UynZeMzwi6WyVDb6xkKAbICgCA4Dd5w0FDF24FtbW4k0b1+T/pA084TTIdMPlId4JaPL9zf91PFXUAAAAAAADwPwAAAAAAACRAAAAAAAAAWUAAAAAAAECPQAAAAAAAiMNAAAAAAABq+EAAAAAAgIQuQQAAAADQEmNBAAAAAITXl0EAAAAAZc3NQQAAACBfoAJCAAAA6HZIN0IAAACilBptQgAAQOWcMKJCAACQHsS81kIAADQm9WsMQwCA4Dd5w0FDAKDYhVc0dkMAyE5nbcGrQwA9kWDkWOFDQIy1eB2vFURQ7+LW5BpLRJLVTQbP8IBE9krhxwIttUS0ndl5Q3jqRM7uDUAR7A1AFuwNQG3sDUCf7g1Ane4NQEjuDUBs7g1A+O8NQKHsDUDi7w1A7e8NQPjvDUD47w1A+O8NQKHsDUCh7A1AoewNQKHsDUCh7A1AoewNQKHsDUDt7w1AoewNQKHsDUCh7A1A1+8NQKHsDUDt7w1AoewNQKHsDUCG7A1AoewNQKHsDUCh7A1AoewNQKHsDUCh7A1AoewNQKHsDUD47w1AoewNQJXsDUCG7A1A+O8NQPjvDUD47w1AoewNQIbsDUCh7A1AoewNQKHsDUCh7A1A1+8NQIbsDUDX7w1AoewNQKHsDUDX7w1AoewNQIbsDUCh7A1AoewNQIbsDUBm7Q1AvewNQPLsDUCa7Q1Azu0NQA7uDUAy7Q1Ame8NQETvDUCZ7w1Abu8NQG7vDUCZ7w1A7vENQDgUDkA4FA5A//ENQDgUDkA4FA5AOBQOQLTxDUA4FA5AOBQOQATyDUAQ8w1AOBQOQAvzDUAe8w1AOBQOQGb0DUBs9A1AbPQNQGz0DUBs9A1AbPQNQGz0DUBs9A1AbPQNQGz0DUA4FA5AOBQOQDgUDkA4FA5AOBQOQDgUDkA4FA5A1PkNQDgUDkAI9Q1A7/UNQNT5DUDU+Q1A1PkNQDgUDkA4FA5AOBQOQDgUDkCo9A1AOBQOQDgUDkBkBA5AOBQOQDgUDkA4FA5APgkOQDgUDkBTCg5AOBQOQDgUDkCp8Q1AOBQOQDgUDkA4FA5AOBQOQDgUDkA4FA5AOBQOQDgUDkDU+Q1AOBQOQAj1DUD69Q1A1PkNQNT5DUDU+Q1ArfQNQPr1DUD69A1AOBQOQNL0DUA4FA5AdgAOQG8EDkBVCA5A7PQNQDgUDkA+CQ5AcvENQF4KDkA4FA5AOBQOQDgODkA4FA5AcvENQDAwMDAwMDAwMDAwMDAwMDAgICAgICAgICAgICAgICAgTiQOQJEhDkCWIQ5A7SEOQB8kDkAdJA5AyCMOQOwjDkB4JQ5AISIOQGIlDkBtJQ5AeCUOQHglDkB4JQ5AISIOQCEiDkAhIg5AISIOQCEiDkAhIg5AISIOQG0lDkAhIg5AISIOQCEiDkBXJQ5AISIOQG0lDkAhIg5AISIOQAYiDkAhIg5AISIOQCEiDkAhIg5AISIOQCEiDkAhIg5AISIOQHglDkAhIg5AFSIOQAYiDkB4JQ5AeCUOQHglDkAhIg5ABiIOQCEiDkAhIg5AISIOQCEiDkBXJQ5ABiIOQFclDkAhIg5AISIOQFclDkAhIg5ABiIOQCEiDkAhIg5ABiIOQOYiDkA9Ig5AciIOQBojDkBOIw5AjiMOQLIiDkAZJQ5AxCQOQBklDkDuJA5A7iQOQBklDkB6KA5AnUIOQJ1CDkCLKA5AnUIOQJ1CDkCdQg5AQCgOQJ1CDkCdQg5AkCgOQKMpDkCdQg5AmykOQLEpDkCdQg5A8CoOQPYqDkD2Kg5A9ioOQPYqDkD2Kg5A9ioOQPYqDkD2Kg5A9ioOQJ1CDkCdQg5AnUIOQJ1CDkCdQg5AnUIOQJ1CDkCdQg5AnUIOQGwrDkBQLA5AnUIOQJ1CDkCdQg5AnUIOQJ1CDkCdQg5AnUIOQJ1CDkCdQg5AnUIOQJQzDkCdQg5A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ZGZ1AGRmdS1jb21wbGV0ZWQAZGZ1OiBjb25maWd1cmVkIE9UQSBib290IHBhcnRpdGlvbiBhdCBvZmZzZXQgMHglMDh4LCBidXQgcnVubmluZyBmcm9tIG9mZnNldCAweCUwOHgKACAgICAgKFRoaXMgY2FuIGhhcHBlbiBpZiBlaXRoZXIgdGhlIE9UQSBib290IGRhdGEgb3IgcHJlZmVycmVkIGJvb3QgaW1hZ2UgYmVjb21lIGNvcnJ1cHRlZC4pCgBkZnU6IHJ1bm5pbmcgcGFydGl0aW9uIHR5cGUgJWQgc3VidHlwZSAlZCAob2Zmc2V0IDB4JTA4eCkKAGRmdTogd3JpdGluZyB0byBwYXJ0aXRpb24gc3VidHlwZSAlZCBhdCBvZmZzZXQgMHgleAoAZXNwX290YV9iZWdpbiBmYWlsZWQgKCVzKQoAZGZ1OiBiZWdpbm5pbmcgZmlybXdhcmUgdXBkYXRlCgBkZnU6IHJlYWRpbmcgY2h1bmsgKG9mZnNldDolZCBsZW5ndGg6JWQgdHJ5OiVkKQoAZGZ1LmdldABkZnU6IGluc3VmZmljaWVudCBtZW1vcnkKAG9mZnNldABlcnIAZGZ1OiBlcnJvciBvbiByZWFkOiAlcwoAcGF5bG9hZABkZnU6IG5vIHBheWxvYWQKAGRmdTogY2FuJ3QgYWxsb2NhdGUgcGF5bG9hZCBkZWNvZGUgYnVmZmVyCgBjb3VudABkZnU6IGRlY29kZWQgZGF0YSBub3QgdGhlIGNvcnJlY3QgbGVuZ3RoICglZCAhPSBhY3R1YWwgJWQpCgBkZnU6IGRlY29kZWQgZGF0YSBDUkMgbWlzbWF0Y2ggKCV1ICE9IGFjdHVhbCAldSkKAGRmdTogc3VjY2Vzc2Z1bGx5IHRyYW5zZmVycmVkIG9mZnNldDolZCBsZW46JWQgKGNyYzolMDhseCkKAGVzcF9vdGFfZW5kIGZhaWxlZCEKAGRmdTogQ1JDMzIgb2YgaW1hZ2U6ICUwOGx4CgBkZnU6IENSQzMyIG9mIGRvd25sb2FkOiAlMDhseAoAQ1JDIE1JU01BVENIIC0gQUJBTkRPTklORyBERlUKAGRmdTogcmVzdGFydCBmYWlsdXJlCgBkZnUuc3RhdHVzAHN0b3AAZGZ1OiByZXN0YXJ0IHN5c3RlbQoAZGZ1OiB1bnJlY292ZXJhYmxlIGVycm9yIG9uIHJlYWQKAGNudDogJWQAICAgICAwICAxICAyICAzICA0ICA1ICA2ICA3ICA4ICA5ICBhICBiICBjICBkICBlICBmDQoAJTAyeDogACUwMnggAC0tIABzdGFydGluZy4uAEkyQyBzY2FuIGRpc3BsYXkgYm9hcmQ6AEkyQyBzY2FuIGRpc3BsYXkgYm9hcmQgY29tcGxldGU6AEkyQyBzY2FuIG1haW4gYm9hcmQASTJDIHNjYW4gbWFpbiBib2FyZCBjb21wbGV0ZToAUENBOTU1NSBvbiBJMkNNYWluQmQgYm9hcmQgUFJFU0VOVC4AUENBOTU1NSBvbiBJMkNNYWluQmQgYm9hcmQgRElEIE5PVCBSRVNQT05ELgBFUlJPUiEgZ3Bpb3hNYWluQmQucGluTW9kZSglZCwgJWQpIGZhaWxlZC4KAEVSUk9SISBncGlveE1haW5CZC5zZXRQaW5JbnZlcnQoJWQsIDApIGZhaWxlZC4KAEVSUk9SISBncGlveE1haW5CZC5kaWdpdGFsV3JpdGUoJWQsICVkKSBmYWlsZWQuCgBBRFMxMDE1IG9uIEkyQ01haW5CZCBQUkVTRU5ULgBBRFMxMDE1IG9uIEkyQ01haW5CZCBESUQgTk9UIFJFU1BPTkQuAFBDQTk1NTUgb24gSTJDRGlzcGxheUJkIGJvYXJkIFBSRVNFTlQuAFBDQTk1NTUgb24gSTJDRGlzcGxheUJkIGJvYXJkIERJRCBOT1QgUkVTUE9ORC4AZ3Bpb3hEaXNwbGF5QmQuYmVnaW4oKSBzdWNjZXNzLgBFUlJPUiEgZ3Bpb3hEaXNwbGF5QmQuYmVnaW4oKSBmYWlsZWQuAEVSUk9SISBncGlveERpc3BsYXlCZC5waW5Nb2RlKCVkLCAlZCkgZmFpbGVkLgoARVJST1IhIGdwaW94RGlzcGxheUJkLnNldFBpbkludmVydCglZCwgMCkgZmFpbGVkLgoARVJST1IhIGdwaW94RGlzcGxheUJkLmRpZ2l0YWxXcml0ZSglZCwgJWQpIGZhaWxlZC4KAEFEUzEwMTUgb24gSTJDRGlzcGxheUJkIFBSRVNFTlQuAEFEUzEwMTUgb24gSTJDRGlzcGxheUJkIERJRCBOT1QgUkVTUE9ORC4ASW5pdGlhbGl6ZSBEQUMsIE5vdGUsIHJlcXVpcmVzIGxvb3Agdm9sdGFnZSB0byBiZSBmdW5jdGlvbi4ASW5pdGlhbGl6ZSBEQUMgU3VjY2Vzcy4ASW5pdGlhbGl6ZSBEQUMgRmFpbGVkLgBncGlveERpc3BsYXlCZC5kaWdpdGFsV3JpdGUoKSBmYWlsdXJlLgBTdGFydGluZyBjZWxsdWxhciBjb25uZWN0aW9uLgBFc3RhYmxpc2hpbmcgY2xvdWQgY29ubmVjdGlvbi4AY29tLmNoYXJnZS1hbmFseXRpY3MuZWNsaW5lOmRldmVsb3BtZW50MQBwcm9kdWN0AGNvbnRpbnVvdXMATm90ZWNhcmQgc2VuZFJlcXVlc3QgRkFJTEVELgBmaXJtd2FyZTo6aW5mbzp7Im9yZyI6IkNoYXJnZSBBbmFseXRpY3MgTExDIiwicHJvZHVjdCI6Ik5vdGVjYXJkIEVTUDMyIERGVSBFeGFtcGxlIiwiZGVzY3JpcHRpb24iOiJUZXN0IERldmljZSIsImZpcm13YXJlIjoibm90ZWNhcmQtZXNwMzItZGZ1LWV4YW1wbGUtdjExMSIsInZlcnNpb24iOiIxLjEuMSIsImJ1aWx0IjoiSmFuIDI2IDIwMjEgMTg6NTk6MzYiLCJ2ZXJfbWFqb3IiOjEsInZlcl9taW5vciI6MS
{"err":"transaction incomplete"}
dfu: error on read: transaction incomplete
dfu: reading chunk (offset:0 length:8192 try:2)
serial reset