Many disconnects - Duet Ethernet
-
I'm getting lots of disconnects and it's a big problem. I usually have to restart or reconnect multiple times every time I want to upload a new file/print. But it's not just when uplaoding. I get disconnects all the time and some times I see DWC grays out and disconnects while working in another window.
I have not found any spesific pattern.
I have Duet 2 Ethernet 1.04, the only thing is that I'm using an ASUS media bridge to give it wifi. I have no cabled network there now. Considering setting up my mac to share internet with it or an RPI. Pinging constantly shows no disconnects. My router shows no issues. and good connection
I'm able to log in to FTP but not upload or download any files. I was able to create filaments directory as it kept complaining about it missing. It seems the FTP connection is stable.
Some issues I see:
- Spurious disconnects
- Seems the browser doesn't always want to connect. The page stops loading without any error and is blank.
- Failed to get file list, network error
- Failed to upload dwc2settings.json, Could not complete action because the connection has been terminated
Diagnostics:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.01-RC6 running on Duet Ethernet 1.02 or later Board ID: 08DGM-9T6BU-FG3SN-6J9FA-3SJ6P-1BWRG Used output buffers: 3 of 24 (12 max) === RTOS === Static ram: 28052 Dynamic ram: 93692 of which 44 recycled Exception stack ram used: 496 Never used ram: 8788 Tasks: NETWORK(ready,76) HEAT(blocked,1244) MAIN(running,1212) IDLE(ready,80) Owned mutexes: === Platform === Last reset 00:30:18 ago, cause: software Last software reset at 2020-04-07 11:09, reason: User, spinning module GCodes, available RAM 9148 bytes (slot 3) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 8 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 71.1ms, max retries 0 MCU temperature: min 37.3, current 41.1, max 41.5 Supply voltage: min 23.7, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: ok, SG min/max 0/367 Driver 1: ok, SG min/max 0/594 Driver 2: standstill, SG min/max 0/372 Driver 3: ok, SG min/max 0/1023 Driver 4: standstill, SG min/max 0/368 Date/time: 2020-04-07 11:39:26 Cache data hit count 3573761994 Slowest loop: 126.12ms; fastest: 0.12ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0(0), FreeDm: 165, MinFreeDm: 134, MaxWait: 499542ms Bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves: 6218, completed moves: 6189, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: 3 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 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.8 === 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 X246.851 Y111.492 E14.6812" 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 344.92ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(1) Telnet(0) HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex
config.g:
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Mar 19 2020 21:32:43 GMT+0100 (Central European Standard Time) ;logging - remember to disable M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"E5P-TITAN" ; set printer name ; Network ;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network M552 S1 P10.10.100.40 ; (0 = DHCP) M554 P10.10.100.1 ; Gateway M553 P255.255.255.0 ; Netmask M586 P0 S1 ; enable HTTP M586 P1 S1 ; disable FTP M586 P2 S1 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 M569 P1 S0 ; physical drive 1 M569 P2 S0 ; physical drive 2 M569 P3 S1 ; physical drive 3 goes backwards M569 P4 S0 ; physical drive 3 M584 X0 Y1 Z2:4 E3 ; drive mapping, two Z motors connected to driver outputs Z and E1 M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z800.00 E396.38 ; set steps per mm M566 X900 Y700 Z24.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X25000 Y25000 Z2500.00 E600.00 ; set maximum speeds (mm/min) M201 X1600.00 Y1200.00 Z100.00 E1000.00 ; set accelerations (mm/s^2) M204 P1000 T1500 M906 X800 Y900 Z800:800 E700 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M572 D0 S0.7595 ; 0.8 nozzle, 0.6 layer height, petg ;A good starting point for tuning for PLA is as follows: ;Direct Drive: S0.025 and up ;Short Bowden (200mm): S0.1 and up ;Medium Bowden (400mm): S0.3 and up ;Long Bowden (600mm): S0.5 and up ;Very long bowden (800mm+): S0.7 and up ; dual z M671 X-31:384 Y184:184 S2 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X361 Y367 Z400 S0 ; set axis maxima ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"zprobe.in+zprobe.mod" H5 F300 T6000 A4 S0.5; set Z probe type to bltouch and the dive height + speeds G31 P500 X-43 Y-8 Z2.591 ; set Z probe trigger value, offset and trigger height M557 X0:318 Y8:359 P6 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M143 H0 S130 ; set temperature limit for heater 0 to 150C M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"e0temp" Y"thermistor" T100000 B4092 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M143 H1 S330 ; set temperature limit for heater 1 to 275C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; System temp sensors M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper ; Fans M950 F0 C"fan0" Q75 ; create fan 0 on pin fan0 and set its frequency M106 P0 L0.2 X1 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q200 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q200 ; create fan 2 on pin fan2 and set its frequency M106 P2 H2:3 L0.3 X1 B0.3 T30:60 ; set fan 2 value M950 F3 C"e1heat" Q15000 ;M106 P3 L2 X100 B0.5 S0.1 M106 P3 L4 X50 B0.5 S0.001 ; workaround, difficult fan, non linear power curve, noisy on low freq ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory T0 ; select first tool
Log of one disconnect:
power up + 00:00:01 Event logging started power up + 00:00:01 Warning: heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C. power up + 00:00:02 Network running, IP address = 10.10.100.40 power up + 00:00:03 HTTP client 10.10.20.192 login succeeded 2020-04-07 11:09:11 Date and time set at power up + 00:00:03 2020-04-07 11:09:30 HTTP client 10.10.20.192 disconnected 2020-04-07 11:09:57 HTTP client 10.10.20.192 login succeeded 2020-04-07 11:10:09 HTTP client 10.10.20.192 login succeeded
-
@strips I can't see anything particularly obvious, and no errors are being generated. The power supply seems a bit variable:
Supply voltage: min 23.7, current 23.9, max 24.1
Is it in good condition? Check main power cables are making good contact and are in good condition, so there's no ground leakage via other wires. Does it happen only when the printer is running, or just heaters on, or at any time (even when printer is idle)? Could be interference related.If it's happening during file uploads, it's possibly SD card related. Have you tried backing up the SD card, reformatting it with the official SD formatting tool from https://www.sdcard.org/downloads/formatter/index.html, and copying the files back on? SD card issues was actually my first thought.
Ian
-
Thanks for the reply.
I'm pretty certain it happens with heater on or off but I need to verify that. I have not found any ground issues. The PSU is stock Ender 5 Plus and I have all stock heaters. Just a smaller motor on the Titan extruder but that should use less current.
I have tested two SD-cards and had the same issue with 3.01-RC5 and 3.01-RC6. When upgrading to 3.01-RC6 I reformatted and copied over the new Duet Web Control 2.1.0.
I just got the following error as well. I have seen this multiple times.
"Failed to upload dwc2settings.json
Could not complete action because the connection has been terminated"This is how is usually is. The bed heater was on during these disconnects:
-
@strips Hmm... frustrating one. I'll share this with my colleagues, see if they have any ideas.
Ian
-
logging a session with wireshark might help shed some light on the issue, but i'd be very temped to rule out wifi of the equation.
-
randomly searched for a post of dc42 recommending grounding and this was the first post; suddenly seemed very relevant.
-
I need to check how the frame and motors are grounded. I have some electronics background and I would prefer not to have a reference between the high voltage side and the low voltage side. Any noise/static should affect both V+ and V- and cancel each other out. I need to borrow a scope
@bearer
Logging network traffic could be done. Not exactly sure what I would be looking for.As an update I get just as many disconnects while no heater or motor is running. Well the motors were holding so some current is passing through. I'm just to start a new print so I'll have to verify tomorrow.
-
@bearer said in Many disconnects - Duet Ethernet:
but i'd be very temped to rule out wifi of the equation.
@strips I agree with the above, that you need to try it without the ASUS media bridge. I'd guess wireshark would show up if this was the problem, though.
Ian
-
@strips said in Many disconnects - Duet Ethernet:
Logging network traffic could be done. Not exactly sure what I would be looking for.
me neither, but if you upload the file I'll take a look tomorrow. preferably without a capture filter
-
Ok,
I still need to eliminate the media bridge and analyse the traffic. I could just make a long TP-cable running down the stairs. My wife would freak out but it would only be temporary
Update:
I'm getting the issue with nothing turned on. I just tried to upload a file and i got a disconnect. Then I did a M999 to reboot. The first command after opening a new browser window 3 minutes after was M122. I got the output printet in console then a disconnect immediately after.08/04/2020, 10:53:01 Connection established 08/04/2020, 10:52:59 Failed to upload dwc2settings.json Could not complete action because the connection has been terminated 08/04/2020, 10:52:59 Connection interrupted, attempting to reconnect... Network error 08/04/2020, 10:52:57 M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.01-RC6 running on Duet Ethernet 1.02 or later Board ID: 08DGM-9T6BU-FG3SN-6J9FA-3SJ6P-1BWRG Used output buffers: 1 of 24 (9 max) === RTOS === Static ram: 28052 Dynamic ram: 93492 of which 44 recycled Exception stack ram used: 240 Never used ram: 9244 Tasks: NETWORK(ready,184) HEAT(blocked,1244) MAIN(running,1840) IDLE(ready,80) Owned mutexes: === Platform === Last reset 00:01:52 ago, cause: software Last software reset at 2020-04-08 10:51, reason: User, spinning module GCodes, available RAM 8788 bytes (slot 1) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.6ms, max retries 0 MCU temperature: min 36.7, current 37.0, max 37.6 Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 2020-04-08 10:52:56 Cache data hit count 229791096 Slowest loop: 8.67ms; fastest: 0.12ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0(0), FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 150.20ms; 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 08/04/2020, 10:52:29 Connected to 10.10.100.40
-
@strips Unfortunately, I can't see anything obviously wrong in that M122 report because the reset has cleared any errors. Is it possible to connect a PC/laptop/RPi to the USB port and log the debug information? If you can, send
M111 P1 S1
to log network debug info, andM111 P2 S1
to log webserver debug info to the USB port.If you can run a long cable to it, it would remove one possible failure point.
Ian
-
I just bought a RPI 4 and Pi-cam to use on the printer. I'll let the RPI be the wifi-bridge. Then I can have a closed network between RPI and Duet. It gives me the best way to analyse the traffic as well.
Just bear with me a few days and I'll report back when I got everything running. Depending on my wife I could have it fixed by tonight...
-
haha, with respect to the other issues is usually easier to get acceptance* if you present a worse alternative; i.e either there is a cable running downstairs, or the printer comes upstairs. Suddenly the cable looks like good option.
*) but you'll still "pay" for it I guess..
-
@bearer said in Many disconnects - Duet Ethernet:
if you present a worse alternative
Better still, don't present it, when she says no cable simply start to carry the printer upstairs. When she SEES the alternative she'll insist you run the cable.