Solved [3.5beta1] Random SPI-Resets after update
-
After updating to 3.5beta1, I am experiencing random SPI resets.
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.0 or earlier (SBC mode) Board ID: 08DJM-956L2-G43S8-6J1F2-3SN6N-1U0LG Used output buffers: 1 of 40 (18 max) === RTOS === Static ram: 151524 Dynamic ram: 75616 of which 0 recycled Never used RAM 120676, free system stack 202 words Tasks: SBC(ready,0.8%,476) HEAT(notifyWait,0.0%,327) Move(notifyWait,0.0%,350) CanReceiv(notifyWait,0.0%,798) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,352) TMC(notifyWait,6.9%,90) MAIN(running,90.2%,953) IDLE(ready,2.0%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:00:11 ago, cause: software Last software reset at 2022-12-27 12:04, reason: MemoryProtectionFault mmarValid daccViol, GCodes spinning, available RAM 119420, slot 0 Software reset code 0x4163 HFSR 0x00000000 CFSR 0x00000082 ICSR 0x00427804 BFAR 0x000000ea SP 0x20435e48 Task SBC Freestk 571 ok Stack: ffffff62 204311b0 ffffff62 2042a5c8 20428cd0 00443f71 004026ea 21030000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Error status: 0x00 Step timer max interval 128 MCU temperature: min 34.2, current 34.4, max 34.6 Supply voltage: min 4.5, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 3.8, current 12.3, max 12.9, under voltage events: 0 Heap OK, handles allocated/used 99/18, heap memory allocated/used/recyclable 2048/292/32, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 4, reads 56421, writes 17 timeouts 0 Driver 1: standstill, SG min 0, mspos 4, reads 56421, writes 17 timeouts 0 Driver 2: standstill, SG min 0, mspos 4, reads 56421, writes 17 timeouts 0 Driver 3: standstill, SG min 0, mspos 4, reads 56421, writes 17 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 56423, writes 15 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 56423, writes 15 timeouts 0 Date/time: 2022-12-27 12:05:10 Slowest loop: 1.74ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 127, received 483, lost 0, boc 0 Longest wait 1ms for reply type 6018, peak Tx sync delay 6, free buffers 50 (min 49), ts 57/56/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 19141/462 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.0-b1 (2022-12-23 20:41:36) Failed to deserialize the following properties: - ModelCollection`1 -> Int32 from 0.010 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 3 Full transfers per second: 39.57, max time between full transfers: 289.3ms, max pin wait times: 250.7ms/12.7ms Codes per second: 0.91 Maximum length of RX/TX data transfers: 4616/1304
-
@Nuramori @MaxGyver does either of you use multiple Z leadscrews and G32 to tram them?
Please install the newer RRF main board binaries and test again. See https://forum.duet3d.com/topic/30847/software-bundle-3-5beta1-released/8?_=1673271161662 for the link to the new files.
-
@MaxGyver please can you post a few more M122 reports after the reset occurs so that I can see whether the data is consistent or not; because the cause it not immediately obvious from that one.
-
@dc42 No Problem!
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.0 or earlier (SBC mode) Board ID: 08DJM-956L2-G43S8-6J1F2-3SN6N-1U0LG Used output buffers: 1 of 40 (18 max) === RTOS === Static ram: 151524 Dynamic ram: 75616 of which 0 recycled Never used RAM 120676, free system stack 202 words Tasks: SBC(ready,0.8%,458) HEAT(notifyWait,0.0%,327) Move(notifyWait,0.0%,350) CanReceiv(notifyWait,0.0%,798) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,340) TMC(notifyWait,7.4%,90) MAIN(running,90.6%,953) IDLE(ready,1.1%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:00:18 ago, cause: software Last software reset at 2022-12-27 14:20, reason: MemoryProtectionFault mmarValid daccViol, GCodes spinning, available RAM 119152, slot 2 Software reset code 0x4163 HFSR 0x00000000 CFSR 0x00000082 ICSR 0x04427804 BFAR 0xfffffea6 SP 0x20435e48 Task SBC Freestk 571 ok Stack: fffffd1e 204311b0 fffffd1e 2042a5c8 20428cd0 00443f71 004026ea 61030000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 20427778 004a5830 20430090 204311b0 fffffd1e 20430092 0049cec4 204289b8 00000001 0049cbec 00444565 000000a5 Error status: 0x00 Step timer max interval 133 MCU temperature: min 30.8, current 31.2, max 31.2 Supply voltage: min 3.0, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 0.9, current 12.1, max 12.6, under voltage events: 1 Heap OK, handles allocated/used 99/18, heap memory allocated/used/recyclable 2048/292/32, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 4, reads 34196, writes 28 timeouts 0 Driver 1: standstill, SG min 0, mspos 4, reads 34196, writes 28 timeouts 0 Driver 2: standstill, SG min 0, mspos 4, reads 34196, writes 28 timeouts 0 Driver 3: standstill, SG min 0, mspos 4, reads 34196, writes 28 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 34198, writes 26 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 34199, writes 26 timeouts 0 Date/time: 2022-12-27 14:20:23 Slowest loop: 1.70ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 194, received 798, lost 0, boc 0 Longest wait 1ms for reply type 6018, peak Tx sync delay 15824, free buffers 50 (min 49), ts 94/90/0 Tx timeouts 0,0,3,0,0,0 last cancelled message type 30 dest 127 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 40821/746 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.0-b1 (2022-12-23 20:41:36) Failed to deserialize the following properties: - ModelCollection`1 -> Int32 from 0.010 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 2 Full transfers per second: 46.74, max time between full transfers: 465.3ms, max pin wait times: 239.7ms/13.9ms Codes per second: 36.98 Maximum length of RX/TX data transfers: 4768/2768
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.0 or earlier (SBC mode) Board ID: 08DJM-956L2-G43S8-6J1F2-3SN6N-1U0LG Used output buffers: 1 of 40 (18 max) === RTOS === Static ram: 151524 Dynamic ram: 75616 of which 0 recycled Never used RAM 120676, free system stack 202 words Tasks: SBC(resourceWait:,0.9%,428) HEAT(notifyWait,0.0%,345) Move(notifyWait,0.0%,350) CanReceiv(notifyWait,0.0%,798) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,344) TMC(notifyWait,6.9%,90) MAIN(running,90.2%,953) IDLE(ready,2.0%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:00:10 ago, cause: software Last software reset at 2022-12-27 14:37, reason: MemoryProtectionFault mmarValid daccViol, GCodes spinning, available RAM 119204, slot 0 Software reset code 0x4163 HFSR 0x00000000 CFSR 0x00000082 ICSR 0x0044a804 BFAR 0x0000018d SP 0x20435e48 Task SBC Freestk 571 ok Stack: 00000005 204311b0 00000005 2042a5c8 20428cd0 00443f71 004026ea 21030000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Error status: 0x00 Step timer max interval 131 MCU temperature: min 32.8, current 33.0, max 33.2 Supply voltage: min 4.2, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 1.0, current 12.1, max 12.8, under voltage events: 1 Heap OK, handles allocated/used 99/18, heap memory allocated/used/recyclable 2048/292/32, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 4, reads 52845, writes 28 timeouts 0 Driver 1: standstill, SG min 0, mspos 4, reads 52845, writes 28 timeouts 0 Driver 2: standstill, SG min 0, mspos 4, reads 52846, writes 28 timeouts 0 Driver 3: standstill, SG min 0, mspos 4, reads 52846, writes 28 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 52848, writes 26 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 52848, writes 26 timeouts 0 Date/time: 2022-12-27 14:37:24 Slowest loop: 1.81ms; fastest: 0.04ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 120, received 448, lost 0, boc 0 Longest wait 1ms for reply type 6018, peak Tx sync delay 20779, free buffers 50 (min 49), ts 53/51/0 Tx timeouts 0,0,1,0,0,0 last cancelled message type 30 dest 127 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 43679/428 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.0-b1 (2022-12-23 20:41:36) Failed to deserialize the following properties: - ModelCollection`1 -> Int32 from 0.010 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 4 Full transfers per second: 66.97, max time between full transfers: 255.9ms, max pin wait times: 247.6ms/15.2ms Codes per second: 144.10 Maximum length of RX/TX data transfers: 4780/2768
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.0 or earlier (SBC mode) Board ID: 08DJM-956L2-G43S8-6J1F2-3SN6N-1U0LG Used output buffers: 1 of 40 (18 max) === RTOS === Static ram: 151524 Dynamic ram: 75616 of which 0 recycled Never used RAM 120676, free system stack 202 words Tasks: SBC(resourceWait:,0.9%,477) HEAT(notifyWait,0.0%,359) Move(notifyWait,0.0%,350) CanReceiv(notifyWait,0.0%,822) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,344) TMC(notifyWait,6.7%,90) MAIN(running,89.8%,953) IDLE(ready,2.6%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:00:08 ago, cause: software Last software reset at 2022-12-27 14:39, reason: MemoryProtectionFault mmarValid daccViol, GCodes spinning, available RAM 119932, slot 1 Software reset code 0x4163 HFSR 0x00000000 CFSR 0x00000082 ICSR 0x00427804 BFAR 0xffffff59 SP 0x20435df0 Task SBC Freestk 549 ok Stack: fffffdd5 00000000 fffffdd5 00000000 20428cd0 00444047 00402706 81030000 00000006 204311b0 00000000 ffffffff 00000000 20435e4c 2045ddb8 20430374 204311b0 2045ddb8 20435e4c 004420bf 204311b0 00000000 0048e9fc 00000fa0 00000960 00001680 00000000 Error status: 0x00 Step timer max interval 125 MCU temperature: min 33.0, current 33.2, max 33.3 Supply voltage: min 3.8, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 0.9, current 12.2, max 13.0, under voltage events: 1 Heap OK, handles allocated/used 99/18, heap memory allocated/used/recyclable 2048/292/32, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 4, reads 39932, writes 28 timeouts 0 Driver 1: standstill, SG min 0, mspos 4, reads 39932, writes 28 timeouts 0 Driver 2: standstill, SG min 0, mspos 4, reads 39933, writes 28 timeouts 0 Driver 3: standstill, SG min 0, mspos 4, reads 39933, writes 28 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 39935, writes 26 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 39935, writes 26 timeouts 0 Date/time: 2022-12-27 14:39:31 Slowest loop: 1.74ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 99, received 338, lost 0, boc 0 Longest wait 2ms for reply type 6042, peak Tx sync delay 48184, free buffers 50 (min 49), ts 41/38/0 Tx timeouts 0,0,2,0,0,0 last cancelled message type 30 dest 127 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 54819/343 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.0-b1 (2022-12-23 20:41:36) Failed to deserialize the following properties: - ModelCollection`1 -> Int32 from 0.010 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 4 Full transfers per second: 88.61, max time between full transfers: 50.7ms, max pin wait times: 243.1ms/14.1ms Codes per second: 233.31 Maximum length of RX/TX data transfers: 4780/2768
-
I am also getting SPI resets with 3.5beta1.
Machine is a CoreXY with Duet 3 6HC + 2 x 1HCL in SBC mode with an RPi4.
Most recently, this happened after I had completed homing and closed loop tuning, then did a closed loop data capture with
M569.5 P51.0 S7500 A0 R5000 D783 V0 M98 P"0:/macros/MotionTest.g"
ThatMotionTest.g
file is:var speed = 99999 G1 X100 Y100 F{var.speed} G1 X200 Y100 F{var.speed} G1 X200 Y200 F{var.speed} G1 X100 Y200 F{var.speed} G1 X100 Y100 F{var.speed}
M122 Main Board:
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.01 (SBC mode) Board ID: 08DJM-956L2-G43S8-6J1DJ-3SJ6N-980LG Used output buffers: 1 of 40 (17 max) === RTOS === Static ram: 151524 Dynamic ram: 74328 of which 16 recycled Never used RAM 121948, free system stack 200 words Tasks: SBC(ready,0.7%,436) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,350) CanReceiv(notifyWait,0.0%,796) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,340) TMC(notifyWait,7.6%,90) MAIN(running,91.3%,953) IDLE(ready,0.4%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:01:39 ago, cause: software Last software reset at 2022-12-28 01:16, reason: User, Platform spinning, available RAM 121412, slot 2 Software reset code 0x6000 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 135 MCU temperature: min 51.4, current 51.6, max 51.9 Supply voltage: min 23.8, current 23.9, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/15, heap memory allocated/used/recyclable 2048/328/96, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min n/a, mspos 4, reads 33107, writes 20 timeouts 0 Driver 1: standstill, SG min n/a, mspos 8, reads 33113, writes 14 timeouts 0 Driver 2: standstill, SG min n/a, mspos 8, reads 33113, writes 14 timeouts 0 Driver 3: standstill, SG min n/a, mspos 8, reads 33107, writes 20 timeouts 0 Driver 4: standstill, SG min n/a, mspos 8, reads 33107, writes 20 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 33107, writes 20 timeouts 0 Date/time: 2022-12-28 01:18:03 Slowest loop: 1.54ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x1000003 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 908, received 3223, lost 0, boc 0 Longest wait 1ms for reply type 6042, peak Tx sync delay 435, free buffers 50 (min 49), ts 500/499/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 6086/3918 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.0-b1 (2022-12-23 20:41:36) Failed to deserialize the following properties: - ModelCollection`1 -> Int32 from 0.030 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 1 Full transfers per second: 41.18, max time between full transfers: 136.6ms, max pin wait times: 1005.5ms/16.1ms Codes per second: 1.47 Maximum length of RX/TX data transfers: 8176/828
M122 First 1HCL:
Diagnostics for board 50: Duet EXP1HCL firmware version 3.5beta1 (2022-12-23 18:43:49) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 52392, free system stack 200 words Tasks: Move(notifyWait,0.0%,162) HEAT(notifyWait,0.0%,95) CanAsync(notifyWait,0.0%,70) CanRecv(notifyWait,0.0%,81) CanClock(notifyWait,0.0%,72) TMC(notifyWait,31.6%,351) CLSend(notifyWait,0.0%,152) MAIN(running,66.4%,413) IDLE(ready,0.0%,40) AIN(notifyWait,1.9%,265), total 100.0% Last reset 00:04:34 ago, cause: software Last software reset data not available Closed loop enabled: no, pre-error threshold: 1.00, error threshold: 2.00, encoder type rotaryQuadrature, position 0 Encoder reverse polarity: no, raw count 0 Driver 0: pos 0, 160.0 steps/mm,standstill, SG min n/a, mspos 316, reads 37415, writes 23 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 2/10, peak Rx sync delay 179, resyncs 0/0, no step interrupt scheduled VIN voltage: min 48.1, current 48.1, max 48.1 V12 voltage: min 12.1, current 12.1, max 12.2 MCU temperature: min 29.1C, current 29.1C, max 31.4C Last sensors broadcast 0x00000000 found 0 178 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 2224, send timeouts 0, received 2475, lost 0, free buffers 37, min 37, error reg 10000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
M122 Second 1HCL:
Diagnostics for board 51: Duet EXP1HCL firmware version 3.5beta1 (2022-12-23 18:43:49) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 52392, free system stack 192 words Tasks: Move(notifyWait,0.0%,162) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,70) CanRecv(notifyWait,0.0%,81) CanClock(notifyWait,0.0%,72) TMC(notifyWait,31.7%,351) CLSend(notifyWait,0.0%,152) MAIN(running,66.4%,431) IDLE(ready,0.0%,40) AIN(notifyWait,1.9%,265), total 100.0% Last reset 00:05:06 ago, cause: software Last software reset data not available Closed loop enabled: no, pre-error threshold: 1.00, error threshold: 2.00, encoder type rotaryQuadrature, position 0 Encoder reverse polarity: no, raw count 0 Driver 0: pos 0, 160.0 steps/mm,standstill, SG min n/a, mspos 4, reads 58812, writes 23 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 1/11, peak Rx sync delay 182, resyncs 0/0, no step interrupt scheduled VIN voltage: min 48.0, current 48.0, max 48.1 V12 voltage: min 12.1, current 12.1, max 12.1 MCU temperature: min 33.0C, current 33.0C, max 36.0C Last sensors broadcast 0x00000000 found 0 136 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 2480, send timeouts 0, received 2766, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
...and it happened again. Here's another set of
M122
s in case they help:12/27/2022, 9:45:05 PM M122 B51 Diagnostics for board 51: Duet EXP1HCL firmware version 3.5beta1 (2022-12-23 18:43:49) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 52392, free system stack 200 words Tasks: Move(notifyWait,0.0%,162) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,70) CanRecv(notifyWait,0.0%,81) CanClock(notifyWait,0.0%,72) TMC(notifyWait,31.5%,351) CLSend(notifyWait,0.0%,152) MAIN(running,66.6%,411) IDLE(ready,0.0%,40) AIN(notifyWait,1.9%,265), total 100.0% Last reset 00:00:48 ago, cause: software Last software reset data not available Closed loop enabled: no, pre-error threshold: 1.00, error threshold: 2.00, encoder type rotaryQuadrature, position 0 Encoder reverse polarity: no, raw count 0 Driver 0: pos 0, 640.0 steps/mm,standstill, SG min n/a, mspos 519, reads 36961, writes 23 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 2/11, peak Rx sync delay 184, resyncs 0/0, no step interrupt scheduled VIN voltage: min 48.0, current 48.0, max 48.1 V12 voltage: min 12.1, current 12.1, max 12.1 MCU temperature: min 36.0C, current 36.0C, max 36.9C Last sensors broadcast 0x00000000 found 0 75 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 416, send timeouts 0, received 439, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 12/27/2022, 9:44:58 PM M122 B50 Diagnostics for board 50: Duet EXP1HCL firmware version 3.5beta1 (2022-12-23 18:43:49) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 52392, free system stack 200 words Tasks: Move(notifyWait,0.0%,162) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,70) CanRecv(notifyWait,0.0%,81) CanClock(notifyWait,0.0%,72) TMC(notifyWait,31.5%,351) CLSend(notifyWait,0.0%,152) MAIN(running,66.6%,409) IDLE(ready,0.0%,40) AIN(notifyWait,1.9%,265), total 100.0% Last reset 00:00:41 ago, cause: software Last software reset data not available Closed loop enabled: no, pre-error threshold: 1.00, error threshold: 2.00, encoder type rotaryQuadrature, position 0 Encoder reverse polarity: no, raw count 0 Driver 0: pos 0, 640.0 steps/mm,standstill, SG min n/a, mspos 363, reads 60810, writes 23 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 0/10, peak Rx sync delay 180, resyncs 0/0, no step interrupt scheduled VIN voltage: min 48.1, current 48.1, max 48.1 V12 voltage: min 12.1, current 12.2, max 12.2 MCU temperature: min 31.4C, current 31.4C, max 32.1C Last sensors broadcast 0x00000000 found 0 54 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 366, send timeouts 0, received 383, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 12/27/2022, 9:44:29 PM M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.01 (SBC mode) Board ID: 08DJM-956L2-G43S8-6J1DJ-3SJ6N-980LG Used output buffers: 1 of 40 (17 max) === RTOS === Static ram: 151524 Dynamic ram: 74328 of which 16 recycled Never used RAM 121948, free system stack 200 words Tasks: SBC(ready,0.7%,477) HEAT(notifyWait,0.0%,327) Move(notifyWait,0.0%,350) CanReceiv(notifyWait,0.0%,822) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,340) TMC(notifyWait,7.5%,90) MAIN(running,87.8%,953) IDLE(ready,3.9%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:00:12 ago, cause: software Last software reset at 2022-12-28 03:44, reason: User, GCodes spinning, available RAM 121320, slot 0 Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 133 MCU temperature: min 51.8, current 52.2, max 52.3 Supply voltage: min 23.8, current 23.9, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/15, heap memory allocated/used/recyclable 2048/328/96, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min n/a, mspos 4, reads 3909, writes 20 timeouts 0 Driver 1: standstill, SG min n/a, mspos 8, reads 3915, writes 14 timeouts 0 Driver 2: standstill, SG min n/a, mspos 520, reads 3915, writes 14 timeouts 0 Driver 3: standstill, SG min n/a, mspos 8, reads 3909, writes 20 timeouts 0 Driver 4: standstill, SG min n/a, mspos 8, reads 3909, writes 20 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 3909, writes 20 timeouts 0 Date/time: 2022-12-28 03:44:29 Slowest loop: 1.50ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x1000003 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 122, received 266, lost 0, boc 0 Longest wait 1ms for reply type 6042, peak Tx sync delay 436, free buffers 50 (min 49), ts 63/62/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 36104/529 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.0-b1 (2022-12-23 20:41:36) Failed to deserialize the following properties: - ModelCollection`1 -> Int32 from 0.030 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 1 Full transfers per second: 47.41, max time between full transfers: 597.4ms, max pin wait times: 74.6ms/10.1ms Codes per second: 0.50 Maximum length of RX/TX data transfers: 8184/828
-
I too am getting 100% SPI reset every time with beta 1. I can't initialize a print at all.
Here is the M122 for the main board AFTER the SPI error....
1/9/2023, 11:47:51 PM M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5beta1 (2022-12-23 18:27:08) running on Duet 3 MB6HC v1.0 or earlier (SBC mode) Board ID: 08DJM-956L2-G43S4-6J1F2-3SJ6T-1A6QH Used output buffers: 1 of 40 (17 max) === RTOS === Static ram: 151524 Dynamic ram: 73064 of which 176 recycled Never used RAM 109588, free system stack 200 words Tasks: SBC(ready,0.6%,476) HEAT(notifyWait,0.0%,325) Move(notifyWait,0.0%,350) CanReceiv(notifyWait,0.0%,796) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,340) TMC(notifyWait,7.5%,90) MAIN(running,91.8%,953) IDLE(ready,0.1%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:04:45 ago, cause: software Last software reset at 2023-01-10 04:43, reason: HardFault unaligned, GCodes spinning, available RAM 108088, slot 0 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x01000000 ICSR 0x00400803 BFAR 0x00000000 SP 0x20435e48 Task SBC Freestk 571 ok Stack: 00000001 00000000 204311b0 00000000 204311b0 00443f89 00443fe4 81030000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 132 MCU temperature: min 36.8, current 37.5, max 37.7 Supply voltage: min 23.9, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min n/a, mspos 168, reads 22349, writes 14 timeouts 0 Driver 1: standstill, SG min n/a, mspos 968, reads 22349, writes 14 timeouts 0 Driver 2: standstill, SG min n/a, mspos 392, reads 22349, writes 14 timeouts 0 Driver 3: standstill, SG min n/a, mspos 808, reads 22349, writes 14 timeouts 0 Driver 4: standstill, SG min n/a, mspos 808, reads 22350, writes 14 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 22353, writes 11 timeouts 0 Date/time: 2023-01-10 04:47:51 Slowest loop: 1.43ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x1000003 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 2555, received 5734, lost 0, boc 0 Longest wait 2ms for reply type 6026, peak Tx sync delay 272, free buffers 50 (min 49), ts 1428/1427/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 23674/11120 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x29b04 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.0-b1 (2022-12-23 20:41:36) Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 54.08, max time between full transfers: 44.2ms, max pin wait times: 248.4ms/5.6ms Codes per second: 27.80 Maximum length of RX/TX data transfers: 4232/2848
And here is the M122 for the toolboard, also after the SPI reset...
1/9/2023, 11:48:40 PM M122 B20 Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.5beta1 (2022-12-23 18:47:04) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) All averaging filters OK Never used RAM 2820, free system stack 88 words Tasks: Move(notifyWait,0.0%,155) HEAT(notifyWait,0.4%,87) CanAsync(notifyWait,0.0%,61) CanRecv(notifyWait,0.0%,76) CanClock(notifyWait,0.0%,65) ACCEL(notifyWait,0.0%,61) TMC(notifyWait,3.0%,57) MAIN(running,91.7%,350) IDLE(ready,0.0%,27) AIN(delaying,4.9%,142), total 100.0% Last reset 00:08:48 ago, cause: power up Last software reset at 2022-01-07 21:18, reason: WatchdogTimeout, available RAM 2664, slot 1 Software reset code 0x00a0 ICSR 0x14413011 SP 0x20007f18 Task MAIN Freestk 5935 ok Stack: d2531820 41000000 0000001f 00000015 41000000 0000ad65 00018528 01000013 20004788 000071bb 00000020 000174f5 a5a5a5a5 fffffbc4 200017e4 00000000 00000000 fffffffd a29e9d69 00000000 00000002 00000000 00000002 0001a037 00000000 20002138 200020dc Driver 0: pos 0, 1299.0 steps/mm,standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 20411, writes 4, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 5/10, peak Rx sync delay 212, resyncs 0/1, no step interrupt scheduled VIN voltage: min 23.7, current 24.2, max 24.3 MCU temperature: min 38.0C, current 42.5C, max 42.5C Last sensors broadcast 0x00000002 found 1 84 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 8795, send timeouts 0, received 3934, lost 0, free buffers 37, min 37, error reg 20000 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer: LIS3DH, status: 00 I2C bus errors 0, naks 0, other errors 0
-
Upgrading the bootloader to 2.4 seems to at least NOT result in 100% SPI resets. Let me see if it will now at least start a print...
-
@Nuramori @MaxGyver does either of you use multiple Z leadscrews and G32 to tram them?
Please install the newer RRF main board binaries and test again. See https://forum.duet3d.com/topic/30847/software-bundle-3-5beta1-released/8?_=1673271161662 for the link to the new files.
-
@dc42 said in [3.5beta1] Random SPI-Resets after update:
@Nuramori @MaxGyver does either of you use multiple Z leadscrews and G32 to tram them?
Please install the newer RRF main board binaries and test again. See https://forum.duet3d.com/topic/30847/software-bundle-3-5beta1-released/8?_=1673271161662 for the link to the new files.
Yes, I do use multiple Z lead screws and G32 to tram them. I will test the new version as soon as I get the chance.
-
@dc42 , yes, I have triple Z screws. I’ll look at applying the patch in a bit. Since upgrading the boot loader to 2.4, it’s been running better. Only one spi reset error.
-
With the new binaries, I did not have any SPI resets so far.
-
undefined MaxGyver marked this topic as a question
-
undefined MaxGyver has marked this topic as solved