-
@Phaedrux Sorry it took me so long to answer.
I tried with version 3.3 which use to work fine and I still have the problem.
I have download the diagnostics both for the 3.5RC1 and for the 3.3.0.
Please let me know if you see something unusual here.
I see the error 0x04 Output buffer starvation. What is it ?I'm open to any idea that could help me diagnose the problem.
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.0-rc.1 (2023-08-31 16:16:15) running on Duet Ethernet 1.02 or later + DueX5v0.11 Board ID: 0JD0M-9X6JA-JUNSW-6JTD0-3S46P-TBL7V Used output buffers: 4 of 26 (26 max) === RTOS === Static ram: 23076 Dynamic ram: 75504 of which 0 recycled Never used RAM 11108, free system stack 126 words Tasks: NETWORK(1,ready,95.5%,180) HEAT(3,nWait,2.2%,287) Move(4,nWait,3.9%,261) DUEX(5,nWait,0.0%,26) MAIN(1,running,129.0%,619) IDLE(0,ready,0.2%,29), total 230.8% Owned mutexes: === Platform === Last reset 20:03:42 ago, cause: software Last software reset at 2023-10-18 18:09, reason: User, Gcodes spinning, available RAM 11284, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU temperature: min 34.8, current 38.7, max 44.5 Supply voltage: min 24.1, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/32, heap memory allocated/used/recyclable 2048/1344/936, gc cycles 0 Events: 2 queued, 2 completed Driver 0: standstill, SG min 0 Driver 1: standstill, SG min 0 Driver 2: standstill, SG min 0 Driver 3: standstill, SG min 0 Driver 4: standstill, SG min 0 Driver 5: standstill, SG min n/a Driver 6: standstill, SG min 0 Driver 7: standstill, SG min n/a Driver 8: standstill, SG min 0 Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2023-10-19 14:12:51 Cache data hit count 4294967295 Slowest loop: 231.49ms; fastest: 0.15ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.1ms, write time 25.4ms, max retries 0 === Move === DMs created 83, segments created 25, maxWait 49576689ms, bed compensation in use: none, height map offset 0.000, ebfmin -0.52, ebfmax 1.00 no step interrupt scheduled Moves shaped first try 6195, on retry 85, too short 4365, wrong shape 39, maybepossible 14 === DDARing 0 === Scheduled moves 411, completed 411, 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 0 is on, I-accum = 0.3 === GCodes === Movement locks held by 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Q0 segments left 0 Code queue 0 is empty === DueX === Read count 1, 0.00 reads/min === Network === Slowest loop: 128.44ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet Ethernet 1.02 or later + DueX5 Board ID: 0JD0M-9X6JA-JUNSW-6JTD0-3S46P-TBL7V Used output buffers: 3 of 24 (24 max) === RTOS === Static ram: 23876 Dynamic ram: 74400 of which 0 recycled Never used RAM 13284, free system stack 118 words Tasks: NETWORK(ready,24.7%,227) HEAT(delaying,0.1%,330) Move(notifyWait,0.2%,313) DUEX(notifyWait,0.0%,24) MAIN(running,75.1%,441) IDLE(ready,0.0%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:05:05 ago, cause: software Last software reset at 2023-10-18 18:09, reason: User, GCodes spinning, available RAM 11284, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 39.1, current 39.9, max 40.1 Supply voltage: min 24.2, current 24.3, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/23, heap memory allocated/used/recyclable 2048/290/0, gc cycles 0 Driver 0: position 16290, standstill, SG min/max 0/239 Driver 1: position 6710, ok, SG min/max 0/242 Driver 2: position 6664, standstill, SG min/max 0/180 Driver 3: position 2855, standstill, SG min/max not available Driver 4: position 3641, ok, SG min/max 0/191 Driver 5: position 0, standstill, SG min/max not available Driver 6: position 0, standstill, SG min/max not available Driver 7: position 0, standstill, SG min/max not available Driver 8: position 0, standstill, SG min/max not available Driver 9: position 0, standstill, SG min/max not available Driver 10: position 0 Driver 11: position 0 Date/time: 2023-10-19 14:20:33 Cache data hit count 4294967295 Slowest loop: 13.31ms; fastest: 0.15ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 0.5ms, write time 0.0ms, max retries 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 329, completed moves 309, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 Heater 0 is on, I-accum = 0.0 Heater 1 is on, I-accum = 0.3 === GCodes === Segments left: 1 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is doing "G1 X147.681 Y85.998 E.0195" 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === DueX === Read count 0, 0.00 reads/min === Network === Slowest loop: 16.21ms; fastest: 0.04ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex
-
Do you connect to DWC from multiple devices?
-
@Phaedrux
No. A single computer is connected to the duet.
However, this computer is connected to multiple duet. -
Can you open a windows command prompt and send a command to have it ping the duet continuously while you do a print?
ping -t 93.184.216.34
Where you insert the IP address of the Duet.
If you don't want to watch it while it prints you could pipe it to a file to look at later
ping -t 93.184.216.34 > %username%\desktop\pings.txt
When the DWC disconnects do the pings fail as well?
-
The ping does not seem to fail. I have watched it for a full 15 minutes print and the higher it got was 10ms. And there was quite a few disconnection.
This image was taken 4-5 seconds after the last disconnection.
@Phaedrux It does not seem to fail much :
Also, the frequency seems to depend on the gcode I print. Yesterday I was printing a retraction calibration test with firmware retraction to tune it live. The disconnections were so frequent I barely had the time to send the command to change the retraction value.
-
I just tried to replace the Duet with a brand new one that I had and the problem is still there.
I also tried to replace the SD card with a formated one.Do you think the problem might come from the Duex5 ? I also have one of these that I can swap.
This is my config.g for reference :
; Configuration file for Duet WiFi / Ethernet running RRF3 on E3D Tool Changer ; executed by the firmware on start-up ;######################## ; General preferences ;######################## M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin M669 K1 ; Select CoreXY mode ;######################## ; Network ;######################## M550 P"ToolChanger" ; Set machine name M553 P***** ; Ethernet Settings - Mask M554 P***** ; Ethernet Settings - Passerelle M552 P***** ; Ethernet Settings - Adresse M552 S1 ; Enable Networking M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ;######################## ; Drive ;######################## ;Drive directions M569 P0 S0 ; Drive 0 (X) M569 P1 S0 ; Drive 1 (Y) M569 P2 S1 ; Drive 2 (Z) M569 P3 S0 ; Drive 3 (C) M569 P4 S0 ; Drive 4 (E0) M569 P5 S0 ; Drive 5 (E3) M569 P6 S0 ; Drive 6 (E2) M569 P7 S0 ; Drive 7 (E1) M569 P8 S1 ; Drive 8 (W) M569 P9 S0 ; Drive 9 UNUSED Future 5 axes ;Drive mapping and control M584 X0 Y1 Z2 C3 W8 E4:7:6:5 ; Stepper motor connection points, see C:\Users\YN14386\Documents\Documentation\Toolchanger for wiring diagram M208 X-25:338.5 Y-49:243 Z-0.2:300 C-45:360 W-3:65 ; Set axis maxima & minima M92 X100 Y100 Z800 C91.022 W360 E392:392:392:392 ; Set steps per mm assuming x16 microstepping M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation for the extruders M350 E16:16:16:16 I1 ; Configure microstepping with interpolation for the XYZ movements M350 C16 I1 ; Configure microstepping with interpolation for the coupler M350 W16 I1 ; Configure microstepping with interpolation for the pebble wiper ;Drive speeds and acceleration M203 X35000 Y35000 Z1200 C5000 W2400 E5000:5000:5000:5000 ; Set maximum speeds (mm/min) M201 X2000 Y2000 Z400 C500 W800 E2500:2500:2500:2500 ; Set maximum accelerations (mm/s^2) was X6000 Y6000 M566 X300 Y300 Z20 C2 W100 E400:400:400:400 ; Set the jerk : maximum instantaneous speed changes (mm/min) ; reset this to 400 400 ; Motor current M906 X1800 Y1800 Z1330 I30 ; Idle motion motors to 30% M906 E1000:1000:1000:1000 C500 I10 ; Idle extruder and cooupler motors to 10% M906 W600 I20 ; Idle pebble wiper to 20% ;######################## ; Endstops ;######################## ;X and Y axis M574 X1 Y1 S3 ; Set X / Y endstop stall detection M915 X Y S3 F0 H400 R1 ; Stall Detection for the X and Y Axes ; ; Coupler Axis M574 C0 Z0 ; No C Z endstop, it just crashes ;P axis M574 W1 S3 ; Set W endstop stall detection ;Z axis M558 P8 C"zstop" H3 F360 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height M557 X10:290 Y20:180 S40 ; Define mesh grid ;M557 X10:290 Y20:180 S280:160 ; Define mesh grid to test quickly ;M376 H15 ; bed compensation taper ;######################## ; Heaters ;######################## ;see C:\Users\YN14386\Documents\Documentation\Toolchanger\*** for connection points names ;Tool 0 M308 S1 P"e1temp" Y"thermistor" A"Heater 0" T100000 B4725 C7.06e-8 ; Set thermistor number (S), connection point (P), name (A) and parameters (YTBC) M950 H1 C"e1heat" T1 ; Set heater number (H) and connection point (C) M143 H1 S285 ; Set temperature limit for heater to 285C ;Tool 1 M308 S2 P"duex.e2temp" Y"thermistor" A"Heater 1" T100000 B4725 C7.06e-8 ; Set thermistor number (S), connection point (P), name (A) and parameters (YTBC) M950 H2 C"duex.e2heat" T2 ; Set heater number (H) and connection point (C) M143 H2 S290 ; Set temperature limit for heater to 285C ;Tool 2 M308 S3 P"duex.e3temp" Y"thermistor" A"Heater 2" T100000 B4725 C7.06e-8 ; Set thermistor number (S), connection point (P), name (A) and parameters (YTBC) M950 H3 C"duex.e3heat" T3 ; Set heater number (H) and connection point (C) M143 H3 S285 ; Set temperature limit for heater to 285C ;Tool 3 M308 S4 P"duex.e4temp" Y"thermistor" A"Heater 3" T100000 B4725 C7.06e-8 ; Set thermistor number (S), connection point (P), name (A) and parameters (YTBC) M950 H4 C"duex.e4heat" T4 ; Set heater number (H) and connection point (C) M143 H4 S285 ; Set temperature limit for heater to 285C ;Heated bed M308 S0 P"bedtemp" Y"thermistor" A"Bed" T100000 B4138 C0 ; Set thermistor number (S), connection point (P), name (A) and parameters (YTBC) M950 H0 C"bedheat" T0 ; Set heater number (H) and connection point (C) M143 H0 S115 ; Set temperature limit for bed heater to 110C M140 H0 ; Bed heater is heater 4 ;######################## ; Fans ;######################## ;Tool 0 M950 F4 C"fan1" ; Set hotend fan number (F) and connection point (C) M106 P4 S255 H1 T60 ; Link fan to Heater (H) and turn it for temperature above 60C (T) M950 F0 C"fan2" ; Part cooling fan connection point M106 P0 S0 C"Tool 0" ; Turn off the part cooling fan. ;Tool 1 M950 F5 C"duex.fan3" ; Set hotend fan number (F) and connection point (C) M106 P5 S255 H2 T60 ; Link fan to Heater (H) and turn it for temperature above 60C (T) M950 F1 C"duex.fan4" ; Part cooling fan connection point M106 P1 S0 C"Tool 1" ; Turn off the part cooling fan. ;Tool 2 M950 F6 C"duex.fan5" ; Set hotend fan number (F) and connection point (C) M106 P6 S255 H3 T60 ; Link fan to Heater (H) and turn it for temperature above 60C (T) M950 F2 C"duex.fan6" ; Part cooling fan connection point M106 P2 S0 C"Tool 2" ; Turn off the part cooling fan. ;Tool 3 M950 F7 C"duex.fan7" ; Set hotend fan number (F) and connection point (C) M106 P7 S255 H4 T60 ; Link fan to Heater (H) and turn it for temperature above 60C (T) M950 F3 C"duex.fan8" ; Part cooling fan connection point M106 P3 S0 C"Tool 3" ; Turn off the part cooling fan. ;######################## ; Tools ;######################## ;Tool 0 M563 P0 S"Tool 0" D0 H1 F0 ; Define the tool : its number (P), its name (S), its extruder drive (D), its heater (H) and its part cooling fan (F) G10 P0 X0 Y0 Z0 ; Reset tool axis offsets G10 P0 R0 S0 ; Reset initial tool active and standby temperatures to 0C ;Tool 1 M563 P1 S"Tool 1" D1 H2 F1 ; Define the tool : its number (P), its name (S), its extruder drive (D), its heater (H) and its part cooling fan (F) G10 P1 X0 Y0 Z0 ; Reset tool axis offsets G10 P1 R0 S0 ; Reset initial tool active and standby temperatures to 0C ;Tool 2 M563 P2 S"Tool 2" D2 H3 F2 ; Define the tool : its number (P), its name (S), its extruder drive (D), its heater (H) and its part cooling fan (F) G10 P2 X0 Y0 Z0 ; Reset tool axis offsets G10 P2 R0 S0 ; Reset initial tool active and standby temperatures to 0C ;Tool 3 M563 P3 S"Tool 3" D3 H4 F3 ; Define the tool : its number (P), its name (S), its extruder drive (D), its heater (H) and its part cooling fan (F) G10 P3 X0 Y0 Z0 ; Reset tool axis offsets G10 P3 R0 S0 ; Reset initial tool active and standby temperatures to 0C ;######################## ; PID tune ;######################## ; run M303 T0 S230 with the tool you want to autotune (T) and the target temperature (S) ; for the bed, run M303 H4 S80 with the target temperature (S) ;Tool 0 M307 H1 R4.405 K0.459:0.607 D1.76 E1.35 S1.00 B0 V24.3 ;PID parameter for a heater (H) ;Tool 1 M307 H2 R4.395 K0.424:0.670 D1.72 E1.35 S1.00 B0 V24.3 ;Tool 2 M307 H3 R4.902 K0.455:0.686 D1.64 E1.35 S1.00 B0 V24.3 ;PID parameter for a heater (H) ;Tool 3 M307 H4 R5.197 K0.520:0.759 D1.42 E1.35 S1.00 B0 V24.3 ;PID parameter for a heater (H) ;Bed M307 H0 R1.286 K0.265:0.000 D3.49 E1.35 S1.00 B0 ; PID parameter for the bed heater (H) for magnetic + PEI ;######################## ; tool offsets ;######################## ; !ESTIMATED! offsets for: ; V6-tool: X-9 Y39 Z-5 ; Volcano-tool: X-9 Y39 Z-13.5 ; Hemera-tool: X20 Y43.5 Z-6 global xmicroscope = 338.4 ; global ymicroscope = 98.3 ; ; for the XY calibration, major divisions are 0.1 mm and minor are 0.05 mm ;G1 X336.8 Y99.5 F6000 ;G10 P0 X20.00 Y43.50 ; Tool 0 is the reference ;G10 P1 X19.65 Y43.55 ; Tool 1 was Y 43.25 ;G10 P2 X19.70 Y43.60 ; Tool 2 was X 19.55 Y 43.50 ;G10 P3 X19.75 Y43.45 ; Tool 3 was Y 43.30 ; X and Y offsets are set in the toolXYoffset files M98 P"0:/sys/toolXYoffset0.g" M98 P"0:/sys/toolXYoffset1.g" M98 P"0:/sys/toolXYoffset2.g" M98 P"0:/sys/toolXYoffset3.g" ; Z (and W) offsets are set in the toolZoffset files M98 P"0:/sys/toolZoffset0.g" M98 P"0:/sys/toolZoffset1.g" M98 P"0:/sys/toolZoffset2.g" M98 P"0:/sys/toolZoffset3.g" ;######################## ; Pressure advance ;######################## ;Default pressure advance for PLA, different values should be set in the slicer M572 D0 S0.025 ; pressure advance T0 M572 D1 S0.025 ; pressure advance T1 M572 D2 S0.025 ; pressure advance T2 M572 D3 S0.025 ; pressure advance T3 ;######################## ; Others ;######################## M593 F42.2 ; cancel ringing at 42.2Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) ; Pebble wiper servo motor M950 S0 C"duex.pwm5" Q500 M575 P1 S1 B57600 ; Enable LCD G29 S2 ; disable mesh T-1 ; deselect tools ;****************************** ;*******Macro parameters******* ;****************************** global homingSpeed = 4800 global movementSpeed = 18000 global zmovementSpeed = 900 global centerX = 155 global centerY = 100 global backX = 155 global backY = 210 global centerProbeX = {global.centerX - sensors.probes[0].offsets[0]} global centerProbeY = {global.centerY - sensors.probes[0].offsets[1]} global toolSafeY = 150 global notoolSafeY = 210 global toolapproachY = 217 global tool0X = -3.4 global tool0Y = 227.0 global tool1X = 87.2 global tool1Y = 227.2 global tool2X = 221.8 global tool2Y = 227.9 global tool3X = 312.4 global tool3Y = 227.9
I just found this post :
https://forum.duet3d.com/topic/30481/duet2-wifi-frequently-disconnects-when-paneldue-7i-is-connected/18
Might be my problem ! Will try to disconnect paneldue to see. -
@Shoki Disconnecting the PanelDue entirely fix the issue ! Not a single disconnection problem during a 1 hour print.
I tried to swap the PanelDue with one from another machine and the problem still appeared. I also tried to switch the cable with a new shielded one and no difference. The cable does not go near any motor or anything.
When the PanelDue is in the "Settings" window, the problem does not appear.The guy in the post above had the problem with his Jubilee 3D Printer. Maybe this is software related to having multiple tool displayed on the 1LC ?
Can i do something to fix the issue and still use a PanelDue or do I just have to live without it ?
-
@Shoki said in Duet 2 Ethernet disconnect when printing:
Can i do something to fix the issue and still use a PanelDue or do I just have to live without it ?
That's very interesting. What firmware version is on the PanelDue? Which paneldue hardware version is it?
-
-
-
@Phaedrux
This is a Panel Due 7i that I bought directly from you last year. Do you need more than this information ? Cant seem to find a version or serial number on the display.The firmware on the 7i has been updated recently, but I already has the problem before.
It is curently version 3.5.0-rc6-7.0i. -
Thanks for the info. 7i is the hardware version.
Can you gather another M122 report after having this issue happen?
-
@Phaedrux The M122 I show above are sent directly after an error.
-
@Shoki said in Duet 2 Ethernet disconnect when printing and paneldue connected:
@Phaedrux The M122 I show above are sent directly after an error.
Are they after a reboot though?
Can you get the fault to happen, then switch PD to the setup screen so that DWC can connect, then run M122?
-
@Phaedrux Not after a reboot of the Duet. Just when I can have access back to the DWC.
As I said, while this happen, the printer is printing and continuing like nothing happened.The thing is, I don't need to switch to the setup screen to get the DWC to connect back, it comes back on its own after 3-5 seconds.
-
Can you share the rest of your config files for your machine? Homing files, tool change, etc?
-
@Phaedrux I will download them and send them when I'm back to work on thurday !
Thanks a lot for taking the time to help me figure it out. -
@Shoki I had the exact same issue... I even went so far as to switch from a Duet2 Wifi to a Duet3, I'm happy I did but it did not solve the issue. I ultimately thought the PanelDue was faulty then I decided to keep trying. I erased the firmware on the paneldue several times then updated it to the latest firmware over USB using Bossa per instructions and now my issue seems to be resolved. On a side note I no longer see results of G32 on the consol of the PanelDue and it shows 0.0.0.0 as the IP but at least I don't have constant wifi disconnects.
See my original post here I fought this for almost a year and finally resolved within the past week.
edit: one common thread is that we both run tool changers, only I'm running a Jubilee
edit edit: I see you found my post... DOH... -
-
@edsped Thanks for replying with your solution. I will try it tomorrow and post the result here.
-
@Shoki Out of curiousity, before wiping see if the paneldue shows the IP address of the printer. I know mine used to but now it only shows 0.0.0.0 and I'm not sure if it's because I'm running a Duet3 with SBC or if wiping the paneldue had something to do with it. I didn't really pay attention to the IP on the paneldue and only noticed that it no longer showed the correct IP after everything was working properly.
I feel your pain though as it's been incredibly frustrating.
-
@edsped said in Duet 2 Ethernet disconnect when printing and paneldue connected:
I'm running a Duet3 with SBC
This is the reason because the SBC is handling all networking.