Duet 3 fails to start print
-
@michaelr123 said in Duet 3 fails to start print:
Duet Control Server v3.4-rc2
@michaelr123 said in Duet 3 fails to start print:
RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode)
Your Pi is running the release candidate for 3.4 but your Duet firmware is still on 3.3
Which are you actually intending to use?
Try sending M997 in the gcode console to prompt the Duet to update it's firmware. The 3.4 RC2 firmware bin is probably present, but just hasn't been applied.
You can also try sending sudo apt update and sudo apt upgrade again in the pi terminal.
Perhaps you were using 3.4 on your previous Duet+SBC but the new board is still using the last stable firmware.
-
I tried to update the system once I installed it through the packet manager, it must not have fully taken across the whole system. I'm trying to move to 3.4 to start working on input shaping. I'll give that another shot tonight. I need to be able to at least start running a Gcode script to figure out the other problem.
As for the system losing signal, I ordered some shielded cable to re-run the stepper wires. I was reading about how long stepper cables can sometimes cause problems on large systems. My other idea is to remove motors from the system and let them run on a bench to figure out what exactly is introducing the SPI reset problem. I'd appreciate any input from someone running a large format machine.
-
I would say all your problems are from the firmware mismatch. Just send M997 and see what happens.
-
You were correct on the M997 code, that got everything caught up and I was able to start a print and load the height map on the SD card which is all good, unfortunately I didn't make it very far into the print, here's the error code I got:
3/8/2022, 6:39:02 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.4.0rc2 (2022-02-22 17:04:17) running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-9P63L-DJ3T8-6J1D4-3SD6R-9U479
Used output buffers: 1 of 40 (12 max)
=== RTOS ===
Static ram: 150984
Dynamic ram: 65544 of which 0 recycled
Never used RAM 134144, free system stack 219 words
Tasks: SBC(ready,0.5%,515) HEAT(notifyWait,0.0%,325) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,343) TMC(notifyWait,7.4%,92) MAIN(running,91.3%,1245) IDLE(ready,0.7%,30), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:00:24 ago, cause: software
Last software reset at 2022-03-08 18:38, reason: HardFault bfarValid precise, GCodes spinning, available RAM 133760, slot 2
Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x0044a803 BFAR 0x40857f40 SP 0x2041b4f0 Task MAIN Freestk 1670 ok
Stack: 00000000 40857e60 2041b594 00000000 fffffdc2 20429f28 0045c350 01000000 00000000 2042ba18 20419a7c 2042e1c4 00000000 00000001 00000000 004844d7 2042e1c4 00000000 00000000 0048481f 00000000 004849f7 a5a5a5a5 ffffffff a5a5a5a5 2042e1c4 ffffffff
Error status: 0x00
Step timer max interval 133
MCU temperature: min 47.9, current 48.2, max 48.3
Supply voltage: min 23.9, 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 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: pos 0, standstill, SG min 0, mspos 600, reads 3924, writes 14 timeouts 0
Driver 1: pos 0, standstill, SG min 0, mspos 152, reads 3924, writes 14 timeouts 0
Driver 2: pos 0, standstill, SG min 0, mspos 460, reads 3924, writes 14 timeouts 0
Driver 3: pos 0, standstill, SG min 0, mspos 596, reads 3925, writes 14 timeouts 0
Driver 4: pos 0, standstill, SG min 0, mspos 8, reads 3928, writes 11 timeouts 0
Driver 5: pos 0, standstill, SG min 0, mspos 8, reads 3928, writes 11 timeouts 0
Date/time: 2022-03-08 18:39:01
Slowest loop: 1.12ms; 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
=== MainDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
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 ===
Segments left: 0
Movement lock held by 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
Code queue is empty
=== CAN ===
Messages queued 215, received 0, lost 0, boc 0
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 121/0/0
Tx timeouts 0,0,120,0,0,93 last cancelled message type 30 dest 127
=== SBC interface ===
Transfer state: 4, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 23656/962
SPI underruns 0, overruns 0
State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x2b8b0
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server v3.4-rc2
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 17
Full transfers per second: 39.60, max time between full transfers: 70.4ms, max pin wait times: 68.0ms/9.1ms
Codes per second: 1.14
Maximum length of RX/TX data transfers: 3352/1124
3/8/2022, 6:38:39 PM Error: M307: Heater 1 not found
3/8/2022, 6:38:38 PM Warning: SPI connection has been reset -
I think I figured it out, well partially. I started running a print with just one axis unplugged (manually pressed endstops, and yes, I turned off the system before I unplugged it).
I found that the Y axis wasn't the problem, but when I ran the print with the X axis, the print ran for a whole hour with no issues, other than the constant yellow warnings that driver 0.0 may be unplugged. I have a beautiful straight line blob to show for it!
So now I just need to figure out what about this stepper is causing the issue. The back case of the stepper is grounded already, any other ideas on where to ground the system? My other thought is the belt, or that the X axis isn't connected to the rest of the frame, its isolated by the plastic V-wheels. Maybe this is the issue?
Remember the system is a X-YY gantry with a moving Z platform.
-
Take a look through here: https://github.com/Duet3D/DuetSoftwareFramework/wiki/SBC-Setup-Guide#troubleshooting
@michaelr123 said in Duet 3 fails to start print:
3/8/2022, 6:38:38 PM Warning: SPI connection has been reset
Is this the error that happens consistently when the print fails?
-
Yes that's correct. The new thing I'm getting with 3.4 firmware is an M307 error "heater 1 not found" in addition to the spi reset error. This is what the system reports in DWC after the board resets:
3/7/2022, 7:49:00 PM Error: M307: Heater 1 not found
3/7/2022, 7:49:00 PM Warning: SPI connection has been resetI hope I got my point across in the last one, but the print ran successfully with the X-axis stepper unplugged. So the entire system ran happily for over an hour without the X-axis stepper running. I'll try using a shielded cable to run the signal to that stepper and see if that helps. I may also need to ground the suspended X-axis and belt system as this could potentially be generating problems?
-
@michaelr123 said in Duet 3 fails to start print:
Error: M307: Heater 1 not found
Can you post your config.g and config-override.g? And the results of sending M98 P"config.g"?
-
running M98:
3/9/2022, 8:56:02 PM M98 P"config.g"
3/9/2022, 8:56:02 PM Warning: M307: Heater 1 predicted maximum temperature at full power is 678°CI don't have a config-override at the moment actually, that's strange.
-
; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H1 B0 R1.388 C470.8:420.6 D8.03 S1.00 V23.8 ; enable bang-bang mode for the bed heater and set PWM limit PID auto tuned on 3/7/2022 M140 H0 ; map heated bed to heater 0 M143 H0 S60 ; set temperature limit for heater 0 to 60C M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R1.222 K0.253:0.000 D12.18 E1.35 S1.00 B0 V23.8 M143 H1 S300
You have M307 H1 for both heaters.
I suggest you delete both of those M307 lines and then retune the heaters. This time use M500 to save the results to config-override.g and then add M501 to the end of config.g to load those settings at startup.
-
-
Has that made any difference to the errors you're getting?
M307 H0 R0.130 K0.150:0.000 D10.00 E1.35 S1.00 B1
M307 H1 R1.374 K0.164:0.000 D8.22 E1.35 S1.00 B0 V23.8Also, can you share the logs from the SBC after an error has occurred?
access the service logs from this particular unit by running
journalctl -u duetcontrolserver -e
. This will output the latest logs -
I ran a print and it went for about 15 minutes before faulting out, here's the log:
3/10/2022, 12:08:35 PM m122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.4.0rc2 (2022-02-22 17:04:17) running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-9P63L-DJ3T8-6J1D4-3SD6R-9U479
Used output buffers: 1 of 40 (12 max)
=== RTOS ===
Static ram: 150984
Dynamic ram: 65760 of which 0 recycled
Never used RAM 133928, free system stack 219 words
Tasks: SBC(ready,0.5%,494) HEAT(notifyWait,0.0%,327) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.4%,92) MAIN(running,90.7%,1245) IDLE(ready,1.4%,30), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:00:17 ago, cause: software
Last software reset at 2022-03-10 11:49, reason: HardFault undefInstr, GCodes spinning, available RAM 133784, slot 2
Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00010000 ICSR 0x00427803 BFAR 0x00000000 SP 0x2041b500 Task MAIN Freestk 1674 ok
Stack: 00000004 20432748 0000002c 00000144 00000002 00408d01 00408d48 010f0000 00000000 00000001 00000000 004844d7 2042bf34 00000000 00000000 0048481f 00000000 004849f7 2042c2d8 20429f28 00000000 2041b594 a5a5a5a5 0045c6ef ffffffff 00000000 2042c2d8
Error status: 0x00
Step timer max interval 133
MCU temperature: min 49.8, current 50.0, max 50.1
Supply voltage: min 23.9, current 23.9, max 24.0, 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 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: pos 0, standstill, SG min 0, mspos 1016, reads 34398, writes 14 timeouts 0
Driver 1: pos 0, standstill, SG min 0, mspos 744, reads 34398, writes 14 timeouts 0
Driver 2: pos 0, standstill, SG min 0, mspos 204, reads 34398, writes 14 timeouts 0
Driver 3: pos 0, standstill, SG min 0, mspos 588, reads 34399, writes 14 timeouts 0
Driver 4: pos 0, standstill, SG min 0, mspos 8, reads 34402, writes 11 timeouts 0
Driver 5: pos 0, standstill, SG min 0, mspos 8, reads 34402, writes 11 timeouts 0
Date/time: 2022-03-10 12:08:34
Slowest loop: 1.08ms; fastest: 0.03ms
=== 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
=== MainDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
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 ===
Segments left: 0
Movement lock held by 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
Code queue is empty
=== CAN ===
Messages queued 159, received 0, lost 0, boc 0
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 90/0/0
Tx timeouts 0,0,89,0,0,68 last cancelled message type 30 dest 127
=== SBC interface ===
Transfer state: 4, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 45652/727
SPI underruns 0, overruns 0
State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x2b8b0
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server v3.4-rc2
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 70
Full transfers per second: 20.28, max time between full transfers: 654.7ms, max pin wait times: 76.3ms/10.6ms
Codes per second: 0.61
Maximum length of RX/TX data transfers: 5824/1100
3/10/2022, 12:08:18 PM Warning: M307: Heater 1 predicted maximum temperature at full power is 507°C
3/10/2022, 12:08:18 PM Warning: M307: Heater 0 predicted maximum temperature at full power is 114°C
3/10/2022, 12:08:17 PM Warning: SPI connection has been reset
3/10/2022, 12:08:17 PM Connection to Duet established
3/10/2022, 12:08:17 PM Warning: Lost connection to Duet (Board is not available (no header)) -
@phaedrux said in Duet 3 fails to start print:
access the service logs from this particular unit by running journalctl -u duetcontrolserver -e. This will output the latest logs
Were you able to gather this?
-
yes here it is, had to login to the pi and send this. It looks like there is a line about the spi connection right before the system spits out some info about the heaters. Maybe that is a result of the config override having M307 code in it and its just reporting some info on the H0 and H1 heaters. The other interesting thing is that I didn't add or tune H0. H0 is so that I can have a thermistor on the bed which is an AC heater. I just create the channel so I can monitor it. At the moment I just let it heat to max temperature (around 45C) without any PWM or bang-bang control going to the SSR.
Mar 10 12:09:25 Duet3 DuetControlServer[447]: [info] Environment initialized
Mar 10 12:09:25 Duet3 DuetControlServer[447]: [info] Connection to Duet establis
Mar 10 12:09:25 Duet3 DuetControlServer[447]: [info] IPC socket created at /run/
Mar 10 12:09:25 Duet3 systemd[1]: Started Duet Control Server.
Mar 10 12:09:26 Duet3 DuetControlServer[447]: [info] Starting macro file config.
Mar 10 12:09:28 Duet3 DuetControlServer[447]: [error] Failed to open 0:/sys/fila
Mar 10 12:09:28 Duet3 DuetControlServer[447]: System.IO.FileNotFoundException
Mar 10 12:09:28 Duet3 DuetControlServer[447]: File name: '/opt/dsf/sd/sys/filame
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at Microsoft.Win32.SafeHandles.
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at Microsoft.Win32.SafeHandles.
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at System.IO.Strategies.OSFileS
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at System.IO.Strategies.FileStr
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at System.IO.FileStream..ctor(S
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at DuetControlServer.SPI.Interf
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Starting macro file config-
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [warn] M307: Heater 0 predicted ma
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [warn] M307: Heater 1 predicted ma
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file config-
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Starting macro file tpre0.g
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file tpre0.g
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Starting macro file tpost0.
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file tpost0.
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file config.
lines 7-29/29 (END)
Mar 10 12:09:25 Duet3 DuetControlServer[447]: [info] Environment initialized
Mar 10 12:09:25 Duet3 DuetControlServer[447]: [info] Connection to Duet established
Mar 10 12:09:25 Duet3 DuetControlServer[447]: [info] IPC socket created at /run/dsf/dcs.sock
Mar 10 12:09:25 Duet3 systemd[1]: Started Duet Control Server.
Mar 10 12:09:26 Duet3 DuetControlServer[447]: [info] Starting macro file config.g on channel Trigger
Mar 10 12:09:28 Duet3 DuetControlServer[447]: [error] Failed to open 0:/sys/filaments.csv for reading
Mar 10 12:09:28 Duet3 DuetControlServer[447]: System.IO.FileNotFoundException: Could not find file '/opt/dsf/sd/sys/filaments.csv'.
Mar 10 12:09:28 Duet3 DuetControlServer[447]: File name: '/opt/dsf/sd/sys/filaments.csv'
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at System.IO.FileStream..ctor(String path, FileMode mode)
Mar 10 12:09:28 Duet3 DuetControlServer[447]: at DuetControlServer.SPI.Interface.HandleOpenFile() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/Interface.cs:line 1434
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Starting macro file config-override.g on channel Trigger
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [warn] M307: Heater 0 predicted maximum temperature at full power is 114°C
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [warn] M307: Heater 1 predicted maximum temperature at full power is 507°C
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file config-override.g
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Starting macro file tpre0.g on channel Trigger
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file tpre0.g
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Starting macro file tpost0.g on channel Trigger
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file tpost0.g
Mar 10 12:09:29 Duet3 DuetControlServer[447]: [info] Finished macro file config.g -
Can you perform this loop back test?
-
herer are the results from running the 3 script line. only difference I see is the SPI mode, is that something that should be fixed?
spi mode: 4
bits per word: 8
max speed: 500000 Hz (500 KHz)FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D -
@michaelr123 said in Duet 3 fails to start print:
spi mode: 4
I'm not sure. I'll have to check.
Do you happen to have another Pi to test with?
-
I have a raspberry Pi 4 that I've tried with this system before and had the same issue as before unfortunately.
I can run the same check and see what it says though,
-
The other thing I would try is a fresh download and image of DuetPi.