Random Hard Fault resets on Duet 3 Mini WiFi
-
I am creating this thread to replace the following threads relating to https://github.com/Duet3D/RepRapFirmware/issues/935, to summarize what we know about this issue and what information I would like to collect for affected users.
https://forum.duet3d.com/topic/33998/reboots-crashes-rrf-3-5-0-rc1
https://forum.duet3d.com/topic/36314/hardfault-imprec-hardfault-invstate-printer-crashes
https://forum.duet3d.com/topic/35611/my-printer-reboots-alone-3-5-1
https://forum.duet3d.com/topic/35833/duet-3-mini5-nightly-restarts-3-5-2
https://forum.duet3d.com/topic/36094/duet-3-mini-5-standalone-3-5-2-hardfault-bfarvalid-precise
https://forum.duet3d.com/topic/36592/duet-3-mini5-randomly-resets-during-printing/What we know so far:
- This issue only affects Duet 3 Mini WiFi and only in standalone mode with WiFi enabled
- The symptom is that the machine resets. This can happen either during a print or when the machine is idle.
- A subsequent M122 report shows the reset reason as Hard Fault and that the Network task was active at the time. The fault is usually reported as imprecise unless a particular configuration command has been used to disable write buffering (see later).
- It only occurs when there is are least one instance of Duet Web Control communicating with the Duet
- A number of users have now reported it, however none of us at Duet3D have been able to reproduce it. So it likely depends on machine configuration, or network configuration, or browser or DWC configuration, or processor silicon revision.
- My previous investigations aided by a one user (thanks Exequtor!), strongly suggest that it is not caused by a firmware bug, but likely caused by a chip-level issue with the DMA controller. Therefore I need to find a workaround to the issue rather than just find a software bug.
If any of you experience this issue and would like to help me to find a solution, please do the following:
-
Make sure you are running firmware 3.5.3 or 3.6.0-beta.1. These are the only firmware versions I will be working with.
-
Add the following command to your config.g file:
M122 P500 S0
This command disables write buffering in the CPU. It has the effect of making the Hard Fault precise so that the diagnostic data is more useful, at the cost of reducing performance slightly.
-
After performing #2 above and rebooting, any time the fault appears run M122 afterwards and post the result in this thread. Also post your config.g file.
-
Perform the following - note that comments starting with <---- are instructions to help you, not part of the command to be entered.
- Send M122 P106. Example response:
m122p106 Platform 2001d138-2001e737 SbcInterface 2001e740-2001ea70 Network 2001ea80-2001eb67 <--------------- take the first of these two values, in this case 2001ea80 GCodes 2001eb70-2001ff6f Move 20023ff8-20024d33 Heat 20025110-20025237 PrintMonitor 20025240-2002544f FansManager 20025458-200254d7 PortControl 200254e0-2002550f Display 20025518-20025533 ExpansionManager 20025540-200282f7
- Send M122 P1007 A{0x########+8} where ######## is the first hex value in the Network line of the previous response. Example response:
m122p1007 a{0x2001ea80+8} <----------- put the value from the previous response between the 0x and the +8} 2001ea88: 2002c420 <----------- take the second value reported here, in this case 2002c420 (your value may be different)
- Send M122 P1007 A{0x########+136} where ######## is the second number in that response. Example response:
m122p1007 a{0x2002c420+136} <----------- put the value from the previous response between the 0x and the +138} 2002c4a8: 20032dd0 <----------- the second value reported here is the value I need, in this case 20032dd0
Copy the transcript of this sequence from DWC and post it here along with your M122 report showing the Hard Fault.
-
-
-
-
-
-
-
@dc42 In one of the earlier threads I reported having this issue on RRF 3.5.3.
I now temporarily swapped my Mini5+ WiFi for a 6HC since I have a project due.
I'd be happy to lend out my Mini WiFi if that would help you to eg. reproduce the issue and find a solution? -
@Maurits that may help if you include the SD card so that I can boot it with exactly the same configuration. Which country are you in?
-
@dc42 I'm located in the Netherlands and of course I'll provide the board including SD card. Please contac met via email or other non-public way to make futher arrangements.
-
@dc42 Thanks for investigating this further. It's really the last couple of days there was no error. Today I started to print and wanted to turn WiFi of, just to be sure. I encountered this error:
9/27/2024, 1:11:00 PM === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3 (2024-09-18 11:25:48) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: UF2UK-QQ6KL-K65J0-409NA-L7X1Z-Z1P2J Used output buffers: 9 of 40 (36 max) === RTOS === Static ram: 103368 Dynamic ram: 124444 of which 12 recycled Never used RAM 11072, free system stack 198 words Tasks: NETWORK(2,nWait 7,11.7%,219) HEAT(3,nWait 6,0.0%,356) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.1%,798) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,0.8%,101) MAIN(1,running,85.9%,665) IDLE(0,ready,0.6%,29) AIN(4,delaying,0.8%,259), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:00:53 ago, cause: software Last software reset at 2024-09-27 13:09, reason: StuckInSpinLoop, Gcodes spinning, available RAM 10032, slot 2 Software reset code 0x4083 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0000080f BFAR 0xe000ed38 SP 0x200040f0 Task NETW Freestk 4294953500 ok Stack: 00000000 2000305c 10000000 e000e000 00000053 000a1bd5 000a129a 61000000 000a1283 20021728 ffffffff 00000000 051c8834 20004244 2002c424 ffffffff 20011800 ffffffff 000a1337 20004198 2002c420 2002c420 0009e587 2002c420 0002dd17 2002c424 b5ddceae Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 40234, completed 40233, timed out 0, errs 0 MCU temperature: min 48.7, current 48.7, max 49.9 Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/43, heap memory allocated/used/recyclable 2048/848/24, gc cycles 1 Events: 0 queued, 0 completed Driver 0: standstill, SG min 16, read errors 0, write errors 1, ifcnt 60, reads 2795, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 110, read errors 0, write errors 1, ifcnt 76, reads 2795, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 54, read errors 0, write errors 1, ifcnt 90, reads 2795, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 196, read errors 0, write errors 1, ifcnt 89, reads 2796, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 180, read errors 0, write errors 1, ifcnt 59, reads 2795, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-09-27 13:10:57 Cache data hit count 105473860 Slowest loop: 99.58ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.4ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle 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 === Filament sensors === check 0 clear 0 Extruder 1: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 === CAN === Messages queued 515, received 2200, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6053, peak Tx sync delay 6, free buffers 26 (min 25), ts 268/267/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 12.65ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 3 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address c4:5b:be:46:4f:6c Module reset reason: Power up, Vcc 3.43, flash size 2097152, free heap 42972 WiFi IP address 192.168.3.139 Signal strength -53dBm, channel 11, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0 9/27/2024, 1:12:59 PM M122 P106 Platform 2001d138-2001e737 SbcInterface 2001e740-2001ea70 Network 2001ea80-2001eb67 GCodes 2001eb70-2001ff6f Move 20023ff8-20024d33 Heat 20025110-20025237 PrintMonitor 20025240-2002544f FansManager 20025458-200254d7 PortControl 200254e0-2002550f Display 20025518-20025533 ExpansionManager 20025540-200282f7 9/27/2024, 1:13:55 PM M122 P1007 A{0x2001ea80+8} 2001ea88: 2002c420 9/27/2024, 1:14:47 PM M122 P1007 A{0x2002c420+136} 2002c4a8: 200336b0
-
Here's my output:
M122
9/29/2024, 10:53:53 AM: m122: === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3 (2024-09-18 11:25:48) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 14 of 40 (34 max) === RTOS === Static ram: 103368 Dynamic ram: 124668 of which 12 recycled Never used RAM 10848, free system stack 192 words Tasks: NETWORK(2,nWait 7,15.6%,232) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,325) Move(4,nWait 6,0.0%,341) CanReceiv(6,nWait 1,0.1%,773) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,1.5%,101) MAIN(1,running,82.0%,665) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.8%,255), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:50:15 ago, cause: software Last software reset at 2024-09-29 10:03, reason: HardFault bfarValid precise, Gcodes spinning, available RAM 9244, slot 0 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000803 BFAR 0x00000004 SP 0x20012008 Task NETW Freestk 482 ok Stack: 0000016e 00000002 200014e4 0000016d 20033b4a 000a0f9f 00030392 810f0000 00030389 00000000 00000000 00000000 2003219c 00000800 200366c0 2002c640 2001882c 2002c496 2001882c 2001ea80 00030523 00000000 00000000 00000000 200120b8 00000014 b5dde89b Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 2262005, completed 2262004, timed out 0, errs 0 MCU temperature: min 32.9, current 33.3, max 36.9 Supply voltage: min 24.3, current 24.3, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/300/128, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 2, read errors 0, write errors 1, ifcnt 214, reads 11963, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 217, reads 11962, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 142, reads 11965, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 233, reads 11962, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 2, read errors 0, write errors 1, ifcnt 230, reads 11963, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 2, read errors 0, write errors 1, ifcnt 215, reads 11962, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 142, reads 11965, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-09-29 10:53:53 Cache data hit count 4294967295 Slowest loop: 11.68ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 4.7ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, 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 idle 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 0x0000803 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 27148, received 84467, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6031, peak Tx sync delay 264, free buffers 26 (min 25), ts 15078/15077/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 12.78ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(4) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 3 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 9/29/2024, 10:53:54 AM: : Firmware version 2.1.0 MAC address d8:bf:c0:14:e5:fc Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 36056 WiFi IP address 192.168.2.8 Signal strength -42dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
M122 P106
Platform 2001d138-2001e737 SbcInterface 2001e740-2001ea70 Network 2001ea80-2001eb67 GCodes 2001eb70-2001ff6f Move 20023ff8-20024d33 Heat 20025110-20025237 PrintMonitor 20025240-2002544f FansManager 20025458-200254d7 PortControl 200254e0-2002550f Display 20025518-20025533 ExpansionManager 20025540-200282f7
M122 P1007 A{0x2001ea80+8}:
2001ea88: 2002c420
M122 P1007 A{0x2002c420+136}:
2002c4a8: 20033940
config.g
;=== initialize variables ===; M98 P"0:/sys/init_pre.g" ;; set some variables that we need for configuration ;=== discard if necessary ===; ;=== configuration - initial networking setup ===; M586 P0 S1 ;; enable http, disable ftp, disable telnet, set printer name, wait 5s for expansion boards M586 P1 S0 M586 P2 S0 G4 S5 M550 P"legionXY" ;; in SBC mode, M550 goes in dsf-config.g, not config.g M552 S1 ;G4 S5 M122 P500 S0 ;=== configuration - PanelDue init ===; M575 P1 S1 B57600 ;=== configuration - printer ===; G90 ;; absolute coordinates, relative extruder moves M83 M669 K1 ;; Kinematics type: 1 = CoreXY ;=== configuration - drive ===; M569 P0.0 S0 D2 ;; Z-axis motors, 0.driver0,0.driver1,0.driver2 M569 P0.1 S0 D2 M569 P0.5 S0 D2 M569 P0.3 S1 D2 ;; Left and right motors (X- and Y- axis), 0.driver3,0.driver4 M569 P0.4 S1 D2 M569 P20.0 S1 D2 ;; Extruder, RRF36.driver0 ;=== configuration - drive - axis mapping ===; M584 X0.3 Y0.4 Z0.1:0.0:0.5 E20.0 ;; map E-axis here as toolboard will be connected ;=== configuration - drive - microstepping ===; M350 X16 Y16 Z16 I1 ;=== configuration - drive - steps/mm, current, idle timeout ===; M92 X80 Y80 Z800 ;; set steps/mm, current (mA), idle timeout M84 S30 ;; set idle hold 30s ;=== configuration - drive - speed, acceeleration, jerk ===; ;M98 P"0:/sys/setMaxSpeed.g" ;; set all the max speeds below as these are adjusted during home moves so we only want to adjust in one spot ;=== configuration - drive - current and idle factor ===; M906 X1400 Y1400 Z1400 I30 ;; set motor currents and motor idle factor in per cent, December 2023 M913 X100 Y100 Z100 ;; ensure motors are at 100% current after homing ;=== configuration - drive - jerk ===; M566 X550.0 Y550.0 Z250 P1 ;; set maximum instantaneous speed changes (mm/min) and jerk policy ;=== configuration - drive - speed ===; M203 X18000.00 Y18000.00 Z800.00 ;; set maximum speeds (mm/min) ;=== configuration - drive - acceleration ===; M201 X10000.00 Y10000.00 Z350.00 ;; set accelerations (mm/s^2) M204 P6000 T8000 ;; Set printing and travel acceleration (mm/s^2) ;=== configuration - axis - min/max ===; M208 X0 Y0 Z0 S1 M208 X310 Y300 Z300 S0 ;=== configuration - axis - endstops ===; M574 X1 S1 P"20.io2.in" ;; configure active high (S1) X endstop at X- (X1) on RRF36.io2.in (20.io.in) M574 Y2 S1 P"0.io2.in" ;; configure Y active high (S1) endstop at Y+ (Y2) on duet.io2.in (0.io2.in) M574 Z1 S2 ;; configure Z-probe (S2) endstop at low end (Z1) ;=== configuration - axis - z-probe ===; M558 P8 C"^20.io0.in" H5:1 F300:120 T9000 A20 B0 ;; klicky pcb probe installed on RRF36.io0.in (20.io0.in) ;=== configuration - axis - mesh compensation and bed dismensions ===; M557 X5:275 Y5:275 P20 ; set values as you would normally do in config.g.g if !exists(global.bedCenterX) ;; calculate bed center, insert into object model global bedCenterX = floor(move.axes[0].max / 2) if !exists(global.bedCenterY) global bedCenterY = floor(move.axes[1].max / 2) ;=== configuration - axis - lead screw position ===; M671 X-4.5:150:304.5 Y-4.52:305:-4.52 S5 ;=== configuration - sensor - bed heater & thermistor ===; M308 S0 P"0.temp0" Y"thermistor" T100000 B3950 A"Bed" ;; create sensor S0 on duet.temp0 named "Bed" M950 H0 C"0.out0" T0 Q11 ;; create heater (H0) for bed M307 H0 B0 S1.00 ;; on bed H0 disable bang-bang mode and set PWM limit M140 H0 ;; map heated bed to heater 0 (H0) M143 H0 S120 ;; set heater H0 temperature limit to 120C ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; ;; run bed PID tune using code below ;;; ;;; H0 = heater 0, or bed ;;; ;;; S = temperature in C (90C) ;;; ; M303 H0 S90 ;;; ;;; replace M307 below with results from M303 ;;; M307 may have a Vnnn included with it ;;; if you're using mains (AC) bed heater on your bed, omit it ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; ;M307 H0 R0.480 K0.256:0.000 D2.03 E1.35 S1.00 B0 ;; this is my M307, find your own M307 H0 R0.475 K0.253:0.000 D1.98 E1.35 S1.00 B0 ;=== configuration - sensor - accelerometer ===; M955 P20.0 I10 ;; create accelerometer on RRF36 ;;; I = accelerometer orientation, expressed as 2-digit number. see ;;; https://www.dropbox.com/s/hu2w5mk57l4zqpg/Accelerometer%20Orientation.pdf ;;; for all possible permutations ;=== configuration - sensor - chamber monitoring ===; M308 S5 P"0.io4.out+0.io4.in" Y"dht22" A"Chamber" ;; DHT22 setup M308 S8 P"S5.1" Y"dht-humidity" A"Humidity[%]" M308 S11 Y"mcu-temp" A"MCU" ;; MCU temperature, with offset M912 P0 S-1.2 M950 F2 C"0.out3" Q250 ;; create fan 0 (F0) on pin 0.out2 M106 P2 C"mainboard cooling" S0 H1 T155 L255 ;; set fan 0 (P0) to thermostatic control (45C), full-speed (L255) named "mainboard cooling" ;=== configuration - LEDs, chamber & toolhead ===; M950 P0 C"0.out5" Q1000 ;; configure Dayspring LEDs P0 on duet.out5 (0.out5) ;=== configuration - overrides ===; ;M501 ;; config-override.g should remain empty ;=== configuration - gizmo1 ===; ;=== gizmo1 - fan ===; M950 F1 C"!0.out4+0.out4.tach" ;; create fan F1 named "4028" with duet.out4+duet.out4.tach (0.out4+0.out4.tach) M106 P1 C"4028" S0 H-1 ;=== gizmo1 - hotend thermistor ===; M308 S1 P"20.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 A"heatercore" ;; configure sensor 1 (S1) on pin RRF36.temp0 (20.temp0) as thermistor M950 H1 C"20.out0" T1 ;; create heater output (H1) on RRF36.out0 (20.out0) and map to sensor 1 (T1) M307 H1 B0 S1.00 ;; set PWM limit (S1.00) M563 P0 S"revo" D0 H1 F1 ;; define tool0 (T0) ;; assign fan F1, extruder drive D0 (E0) and heater H1 to tool T0 named "revo" G10 P0 X0 Y0 Z0 ;; set axis offsets, max temperature, initial temperature M143 H1 S290 G10 P0 R0 S0 ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; ;; run hotend PID tune!! using code below ;;; T0 = PID tune tool0 ;;; S210 = temperature in C (210C) ;;; F0.45 = Fan PWM value; 0.45 = 45% ;;; ; M303 T0 S210 F0.45 ;;; replace M307 below with results from M303 ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; M307 H1 R3.611 K0.702:0.541 D1.95 E1.35 S1.00 B0 V23.5 ;; this is my M307, find your own ;=== gizmo1 - fan - hotend ===; M950 F0 C"20.out2" Q250 ;; create fan 0 (F0) on pin RRF.out2 (20.out2) M106 P0 C"tool" S0 H1 T45 L255 ;; set fan 0 (P0) to thermostatic control (45C), full-speed (L255) named "tool" ;=== gizmo1 - extruder ===; ;; VZ-Hextrudort Low with LDO motor M906 E1400 ;; set extruder motor current M350 E16 I1 ;; set microstepping to 16 with interpolation M92 E891.09 M203 E7200 ;; set max speed, jerk, acceleration M205 E5.0 M201 E3000 T0 P0 ;; select T0, don't run toolchange macro M703 ;; load filament specific gcode ;; I keep filament-specific PID tuning, retraction, and pressure advance ;; settings here. ;=== configuration - scanning z-probe ===; M558 K1 P11 C"20.i2c.ldc1612" F18000 T36000 M308 A"SZP" S4 Y"thermistor" P"20.temp1" T100000 B4092; thermistor on PCB/coil M558.2 K1 S16 R217324 ;=== gizmo1 - options ===; M955 P20.0 I12 ;; accelerometer on RRF36 M950 E0 C"20.rgbled" T2 U2 Q3000000 ;; configure toolhead LED E0 on FLY36.rgbled (20.rgbled) M568 P0 R0 S0 A0 ;; turn tool0 heater off M140 S-273.1 ;; turn bed off T0 P0 ;; select T0, don't run any toolchange macros ;=== configuration ===; ;=== configuration - housekeeping ===; ;;;;===== global variables for preheating, review, extract, and extrapolate for filament load/preheat macros);;;; ; extrusion if !exists(global.loadedFilament) || global.loadedFilament=null; global variable to hold filament name global loadedFilament="No_Filament" ; create a filament variable G4 P10 if move.extruders[state.currentTool].filament="" echo "No filament loaded. Cold extrude & retract set to defaults" M302 S190 R110 ; Allow extrusion starting from 190°C and retractions already from 110°C (defaults) set global.loadedFilament="No_Filament" else set global.loadedFilament=move.extruders[state.currentTool].filament ; set the variable to the currently loaded filament echo "Loading config for " ^ global.loadedFilament ^ " filament" M703 ; if a filament is loaded, set all the heats and speeds for it by loading config.g G4 P10 ;=== configuration - bed - mesh compensation ===; ;M376 H3 ;; fade mesh compensation at 3mm ;=== configuration - bed - z-probe offset ===; ;;set in config.g, but change here // old offset: G31 K0 P500 X-27.8 Y-12.0 Z1.55 G31 K0 P500 X-23.34 Y-20.49 Z5.440 ;; klickyPCB with plunger switch G31 K1 X0.0 Y23.00 Z2.000 ;; SZP
init_pre.g (global variables for config.g)
if !exists(global.runDaemon) global runDaemon = false if !exists(global.bedPreheatTemp) global bedPreheatTemp = 60 if !exists(global.cancelled) ; global variable for exiting out of loops global cancelled = false if !exists(global.filamentDistance) global filamentDistance = 0 if !exists(global.filamentFeedSpeed) global filamentFeedSpeed = 1800 if !exists(global.filamentRetractSpeed) global filamentRetractSpeed = 3600 if !exists(global.filamentDistance) global filamentDistance = 0 ; global for use to allow filament to feed for set distance after sensor trips else set global.filamentDistance =
I believe that is everything. Let me know if there is any additional information I can provide.
-
@dc42 Here is a "clean" Network error
9/29/2024, 8:51:57 PM M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3 (2024-09-18 11:25:48) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: UF2UK-QQ6KL-K65J0-409NA-L7X1Z-Z1P2J Used output buffers: 15 of 40 (36 max) === RTOS === Static ram: 103368 Dynamic ram: 124556 of which 0 recycled Never used RAM 10972, free system stack 192 words Tasks: NETWORK(2,nWait 7,15.3%,228) HEAT(3,nWait 6,0.0%,325) Move(4,nWait 6,0.0%,341) CanReceiv(6,nWait 1,0.1%,773) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,0.8%,101) MAIN(1,running,82.9%,665) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.8%,259), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 02:21:45 ago, cause: software Last software reset at 2024-09-29 18:30, reason: HardFault imprec, Gcodes spinning, available RAM 10972, slot 0 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00000400 ICSR 0x00000803 BFAR 0xe000ed38 SP 0x20012020 Task NETW Freestk 488 ok Stack: 2002c658 20032820 200014e4 00000000 200339bf 0003039d 000302b4 610f6000 20036538 2002c640 2001882c 2002c496 2001882c 2001ea80 00030523 00000000 00000000 00000000 200120b8 00000014 b5ddb6d6 00000002 19e40050 1b03a8c0 08000163 00000001 00034c99 Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 6379360, completed 6379360, timed out 0, errs 0 MCU temperature: min 40.5, current 40.7, max 42.6 Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/43, heap memory allocated/used/recyclable 2048/1028/204, gc cycles 141 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 153, reads 54428, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 378, read errors 0, write errors 1, ifcnt 187, reads 54427, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 256, read errors 0, write errors 1, ifcnt 234, reads 54427, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 238, read errors 0, write errors 1, ifcnt 228, reads 54428, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 152, reads 54428, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-09-29 20:51:55 Cache data hit count 4294967295 Slowest loop: 10.03ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 7.5ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle 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 === Filament sensors === check 0 clear 0 Extruder 0: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 Extruder 1: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 === CAN === Messages queued 76586, received 348775, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6053, peak Tx sync delay 272, free buffers 26 (min 25), ts 42529/42528/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 10.66ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(2) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 3 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address c4:5b:be:46:4f:6c Module reset reason: Power up, Vcc 3.43, flash size 2097152, free heap 37744 WiFi IP address 192.168.3.139 Signal strength -51dBm, channel 11, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0 9/29/2024, 8:52:42 PM M122 P106 Platform 2001d138-2001e737 SbcInterface 2001e740-2001ea70 Network 2001ea80-2001eb67 GCodes 2001eb70-2001ff6f Move 20023ff8-20024d33 Heat 20025110-20025237 PrintMonitor 20025240-2002544f FansManager 20025458-200254d7 PortControl 200254e0-2002550f Display 20025518-20025533 ExpansionManager 20025540-200282f7 9/29/2024, 8:53:38 PM M122 P1007 A{0x2001ea80+8} 2001ea88: 2002c420 9/29/2024, 8:54:06 PM M122 P1007 A{0x2002c420+136} 2002c4a8: 20033850
-
-
Hi, I have a Big Dipper board with 3.5.3 installed
In case it will be of any help
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3 (2024-09-18 11:25:48) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: RHYS5-6J9MK-K65J0-40TK2-JRW2Z-ZLX8A Used output buffers: 3 of 40 (18 max) === RTOS === Static ram: 103368 Dynamic ram: 121908 of which 12 recycled Never used RAM 16460, free system stack 206 words Tasks: NETWORK(2,nWait 7,14.4%,217) HEAT(3,nWait 6,0.0%,325) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.0%,939) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,1.4%,110) MAIN(1,running,83.4%,665) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.8%,264), total 100.0% Owned mutexes: === Platform === Last reset 00:16:28 ago, cause: software Last software reset at 2024-10-12 09:04, reason: HardFault invState, Gcodes spinning, available RAM 13464, slot 0 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00020000 ICSR 0x00489803 BFAR 0xe000ed38 SP 0x20012008 Task NETW Freestk 482 ok Stack: 0000017d 00000002 200014e4 00000000 20032fe9 000a0f9f 00000000 600f0000 00000000 00000000 00000000 00000000 20031e34 00000800 2002c640 2002c640 00000001 2002c496 2001882c 2001ea80 00030523 00000000 00000000 00000000 200120b8 00000014 b5dd500a Error status: 0x00 MCU revision 3, ADC conversions started 741990, completed 741988, timed out 0, errs 0 MCU temperature: min 29.1, current 31.6, max 31.8 Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 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 38, read errors 0, write errors 1, ifcnt 36, reads 24344, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 6, read errors 0, write errors 1, ifcnt 36, reads 24343, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 35, reads 24343, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 32, reads 24343, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 32, reads 24344, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 33, reads 24343, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 32, reads 24343, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-10-12 09:20:57 Cache data hit count 1872586024 Slowest loop: 7.85ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 1.4ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle 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 8900, received 0, lost 0, errs 4675536, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 4945/0/0 Tx timeouts 0,0,4944,0,0,3954 last cancelled message type 4514 dest 127 === Network === Slowest loop: 5.85ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address 08:3a:8d:eb:24:44 Module reset reason: Power up, Vcc 3.38, flash size 2097152, free heap 42932 WiFi IP address 192.168.1.69 Signal strength -48dBm, channel 7, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0 m122p106 Platform 2001d138-2001e737 SbcInterface 2001e740-2001ea70 Network 2001ea80-2001eb67 GCodes 2001eb70-2001ff6f Move 20023ff8-20024d33 Heat 20025110-20025237 PrintMonitor 20025240-2002544f FansManager 20025458-200254d7 PortControl 200254e0-2002550f Display 20025518-20025533 ExpansionManager 20025540-200282f7 m122p1007 a{0x2001ea80+8} 2001ea88: 2002c420 m122p1007 a{0x2002c420+136} 2002c4a8: 20032e60
Update: had another one. The printer was heating up an extruder and the bed
m122p1007 a{0x2002c420+136} 2002c4a8: 20032e60 m122p1007 a{0x2001ea80+8} 2001ea88: 2002c420 m122p106 Platform 2001d138-2001e737 SbcInterface 2001e740-2001ea70 Network 2001ea80-2001eb67 GCodes 2001eb70-2001ff6f Move 20023ff8-20024d33 Heat 20025110-20025237 PrintMonitor 20025240-2002544f FansManager 20025458-200254d7 PortControl 200254e0-2002550f Display 20025518-20025533 ExpansionManager 20025540-200282f7 m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3 (2024-09-18 11:25:48) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: RHYS5-6J9MK-K65J0-40TK2-JRW2Z-ZLX8A Used output buffers: 3 of 40 (18 max) === RTOS === Static ram: 103368 Dynamic ram: 121884 of which 12 recycled Never used RAM 16484, free system stack 202 words Tasks: NETWORK(2,nWait 7,9.8%,217) HEAT(3,nWait 1,0.0%,333) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.0%,939) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,1.4%,110) MAIN(1,running,86.0%,665) IDLE(0,ready,1.9%,29) AIN(4,delaying,0.8%,264), total 100.0% Owned mutexes: === Platform === Last reset 00:00:11 ago, cause: software Last software reset at 2024-10-12 19:13, reason: HardFault invState, Gcodes spinning, available RAM 16484, slot 0 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00020000 ICSR 0x00000803 BFAR 0xe000ed38 SP 0x20012008 Task NETW Freestk 482 ok Stack: 0000017d 00000002 200014e4 00000000 20032fe9 000a0f9f 00000000 600f0000 00000000 00000000 00000000 00000000 20031e34 00000800 2002c640 2002c640 00000001 2002c496 2001882c 2001ea80 00030523 00000000 00000000 00000000 200120b8 00000014 b5dd500a Error status: 0x00 MCU revision 3, ADC conversions started 8945, completed 8943, timed out 0, errs 0 MCU temperature: min 38.0, current 38.4, max 38.4 Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 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 2, read errors 0, write errors 1, ifcnt 33, reads 1025, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 2, read errors 0, write errors 1, ifcnt 33, reads 1025, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 2, read errors 0, write errors 1, ifcnt 35, reads 1025, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 219, reads 1024, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 219, reads 1025, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 226, reads 1025, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 4, read errors 0, write errors 1, ifcnt 49, reads 1025, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-10-12 19:13:30 Cache data hit count 22185019 Slowest loop: 4.54ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 0.7ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle 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 103, received 0, lost 0, errs 55179, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 58/0/0 Tx timeouts 0,0,57,0,0,44 last cancelled message type 4514 dest 127 === Network === Slowest loop: 5.72ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address 08:3a:8d:eb:24:44 Module reset reason: Power up, Vcc 3.38, flash size 2097152, free heap 41020 WiFi IP address 192.168.1.69 Signal strength -38dBm, channel 7, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
-
If anyone who experiences this issue would like to help track down this issue, I have put a build of RRR 3.5.3 for the Duet 3 Mini with extra debugging info at https://www.dropbox.com/scl/fo/vp24fllwuua9yejr8pej1/ANRHyUhbMU5DRTJBNeF1sKg?rlkey=97mm1rpm4h0m22bjalgxmrrwq&dl=0. Please install this, connect a PC running a terminal emulator to the USB port, and leave it running with at least one DWC session connected to it. If you see any "Memory difference" messages on the terminal then please report them here, and if you get any resets then please post a M122 report.
-
@dc42 Build installed and running.
and I've logged a message in the console already:
*** Memory difference at offset 24: was a5a5a5a5 now 00000000
That was the final message in the console before the reset. The printer was idle. DWC was open in Chrome.
No reset to report.
M122=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3+1dbg (2024-10-14 09:45:56) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 3 of 40 (26 max) === RTOS === Static ram: 103368 Dynamic ram: 124576 of which 0 recycled Never used RAM 10952, free system stack 156 words Tasks: NETWORK(2,nWait 7,8.3%,228) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,361) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.1%,798) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,350) TMC(4,nWait 6,1.5%,101) MAIN(1,running,87.7%,665) IDLE(0,ready,1.6%,29) AIN(4,delaying,0.8%,259), total 100.0% Owned mutexes: === Platform === Last reset 00:00:18 ago, cause: software Last software reset at 2024-10-17 18:07, reason: HardFault bfarValid precise, Gcodes spinning, available RAM 7892, slot 0 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000803 BFAR 0x00000004 SP 0x20012008 Task NETW Freestk 482 ok Stack: 00000165 00000002 200014e4 00000164 20033af1 000a102f 0003041a 810f0000 00030411 00000000 00000000 00000000 2003111c 00000800 20036670 2002c5d8 2001882c 2002c42e 2001882c 2001ea80 000305ab 00000000 00000000 00000000 200120b8 00000014 b5ddddb2 Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 14510, completed 14510, timed out 0, errs 0 MCU temperature: min 33.7, current 33.7, max 35.1 Supply voltage: min 24.3, current 24.4, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/304/132, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 47, reads 1693, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 47, reads 1693, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 32, reads 1696, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 51, reads 1692, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 51, reads 1693, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 47, reads 1693, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 32, reads 1696, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-10-17 18:07:41 Cache data hit count 35094639 Slowest loop: 5.03ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 0.5ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, 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 idle 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 0x0000803 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 181, received 573, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6060, peak Tx sync delay 90, free buffers 26 (min 25), ts 95/94/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 4.31ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address d8:bf:c0:14:e5:fc Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 42932 WiFi IP address 192.168.2.8 Signal strength -47dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
And a second reset about an hour later.
M122
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3+1dbg (2024-10-14 09:45:56) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 3 of 40 (28 max) === RTOS === Static ram: 103368 Dynamic ram: 124564 of which 12 recycled Never used RAM 10952, free system stack 156 words Tasks: NETWORK(2,nWait 7,15.5%,241) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,335) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.1%,773) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,1.5%,101) MAIN(1,running,82.1%,665) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.8%,259), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 01:14:36 ago, cause: software Last software reset at 2024-10-17 19:14, reason: HardFault bfarValid precise, none spinning, available RAM 10952, slot 1 Software reset code 0x0073 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000803 BFAR 0x0000001c SP 0x20012008 Task NETW Freestk 482 ok Stack: 2002c5f0 200328a0 200014e4 00000000 ffffffff 00030425 00030338 610f0000 00030411 00000000 00000000 00000000 200328ac 00000800 200365c0 2002c5d8 2001882c 2002c42e 2001882c 2001ea80 000305ab 00000000 00000000 00000000 200120b8 00000014 b5ddddb2 Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 3357571, completed 3357570, timed out 0, errs 0 MCU temperature: min 30.2, current 30.7, max 32.1 Supply voltage: min 24.3, current 24.3, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/304/132, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 61, reads 13726, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 61, reads 13726, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 43, reads 13729, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 65, reads 13726, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 65, reads 13726, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 61, reads 13726, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 43, reads 13729, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-10-17 20:29:25 Cache data hit count 4294967295 Slowest loop: 9.45ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 4.7ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, 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 idle 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 0x0000803 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 40299, received 127619, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6031, peak Tx sync delay 282, free buffers 26 (min 25), ts 22384/22383/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 7.94ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address d8:bf:c0:14:e5:fc Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 42772 WiFi IP address 192.168.2.8 Signal strength -48dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
-
@omtek thanks for your feedback. Please continue to report any instances of this message and resets (whether associated with a debug message or not).
Please note, if you are using YAT on a PC as the terminal emulator, then after any reset of the Duet you need to tell YAT to disconnect and then reconnect. Older versions of YAT used to reconnect automatically, but sadly the current version does not.
FWIW I have been running this and similar debug builds since the start of this week, and I have seen messages giving memory differences at offsets 32, 24 and 16 although in most cases they did not result in a reset.
-
@dc42 Logged another message. Printer was idle at the time, and this was the first memory difference message since my last post. There haven't been any resets since my last post, either.
*** Memory difference at offset 20: was 2001ea80 now 00000000
-
Had another reset this morning. I didn't record any additional memory difference messages. The printer was sitting idle, cooling down after completing a print about 35-40 minutes prior.
M122
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.3+1dbg (2024-10-14 09:45:56) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 3 of 40 (28 max) === RTOS === Static ram: 103368 Dynamic ram: 124564 of which 12 recycled Never used RAM 10952, free system stack 156 words Tasks: NETWORK(2,nWait 7,15.5%,240) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,325) Move(4,nWait 6,0.0%,341) CanReceiv(6,nWait 1,0.1%,773) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,delaying,1.5%,101) MAIN(1,running,82.1%,665) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.8%,259), total 100.0% Owned mutexes: === Platform === Last reset 03:15:48 ago, cause: software Last software reset at 2024-10-20 05:47, reason: HardFault bfarValid precise, Expansion spinning, available RAM 7204, slot 0 Software reset code 0x4072 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00446803 BFAR 0x00000004 SP 0x20012008 Task NETW Freestk 482 ok Stack: 00000167 00000002 200014e4 00000166 20033af3 000a102f 0003041a 810f0000 00030411 00000000 00000000 00000000 20032964 00000800 20036670 2002c5d8 2001882c 2002c42e 2001882c 2001ea80 000305ab 00000000 00000000 00000000 200120b8 00000014 b5ddddb2 Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 8811290, completed 8811289, timed out 0, errs 0 MCU temperature: min 33.0, current 33.3, max 35.4 Supply voltage: min 24.3, current 24.4, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/304/132, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 115, reads 19406, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 2, read errors 0, write errors 1, ifcnt 113, reads 19406, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 65, reads 19409, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 2, read errors 0, write errors 1, ifcnt 120, reads 19406, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 119, reads 19406, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 2, read errors 0, write errors 1, ifcnt 113, reads 19406, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 65, reads 19409, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-10-20 09:02:56 Cache data hit count 4294967295 Slowest loop: 9.39ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 4.8ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === 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, 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 idle 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 0x0000803 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 105742, received 334856, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6060, peak Tx sync delay 284, free buffers 26 (min 25), ts 58741/58740/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 13.05ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address d8:bf:c0:14:e5:fc Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 42764 WiFi IP address 192.168.2.8 Signal strength -51dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
-
@omtek thanks again. Based on your results and some messages from my own system, I have built up a picture of what is happening.
@omtek @Exerqtor @wschadow @Maurits @Inlinebrother please install the new 3.5.3 debug firmware that I have just put at https://www.dropbox.com/scl/fo/vp24fllwuua9yejr8pej1/ANRHyUhbMU5DRTJBNeF1sKg?rlkey=97mm1rpm4h0m22bjalgxmrrwq&dl=0. Like the previous version, this will print a debug message to USB when it detects that something is amiss. This build also attempts to recover from the situation in order to avoid a reset.
As before, please leave this running on your machine with a PC running a terminal emulator connected to the Duet USB port, and at least one instance of DWC connected to it via WiFi. Please report any "Memory difference" messages appearing on that terminal, also the M122 report if you are unlucky enough to have a reset.
Based on your reports and any further messages that my own system produces, I will evaluate whether this code with the debug removed can form the basis of a solution to this annoying issue.
-
@dc42 Logged a memory difference message with the new build. Printer was idle. No reset as of yet.
*** Memory difference at line 2228 offset 12: original 0d0a0d39 copy 20032958, original changed, copy ok, fix=yes
Logged another memory difference message. Still no reset.
*** Memory difference at line 2228 offset 60: original 2001882c copy 0d0a0d39, original ok, copy changed, fix=no
-
@dc42 Haven't had time to look at this before now (like I mentioned in the email), but do you have a debug version based on 3.6 as well?
-
@Exerqtor I'll prepare a 3.6 version with the debug in it today.
-
@Exerqtor I've put a 3.6.0-beta.1+debug build for the Duet 3 Mini at https://www.dropbox.com/scl/fo/01s6pikmcusa2e3vu0rkh/APdYxDkXDSIWqeQl0R__Gag?rlkey=iwd3zb2dk3ggjw7ihcy2whg5h&dl=0. The instructions are slightly different from the 3.5.3 version:
- Install it
- Preferably, connect a PC running a terminal emulator to the USB port, check it is communicating with the Duet, and execute M111 P8 S1 to enable debug messages
- Leave it running with at least one DWC session connected
- Report any "Mem diff" messages that are displayed on the terminal emulator
- If you get any unexpected resets, post a M122 report
If you don't wish to connect a terminal emulator, then don't run M111 P8 S1 and it won't attempt to output the debug messages to USB. It will still log up to 4 memory difference reports internally, but only if the board doesn't reset. Running M122 will report these messages just before the "Storage" section of the report, and clear them.
-
@omtek thanks, that's useful information. The first memory difference would likely have resulted in a reset in previous firmware versions, but the memory check detected and fixed it. The second memory difference was harmless.
-
@omtek said in Random Hard Fault resets on Duet 3 Mini WiFi:
@dc42 Logged a memory difference message with the new build. Printer was idle. No reset as of yet.
Out of curiosity, how long had you had the logging going before it threw these messages?