Help! DWC Disconnects and Drops after extensive troubleshooting


  • administrators

    Which version of DWC are you using? DWC2 is in some ways more demanding than DWC1.

    Some possible reasons for the WiFi behaviour changing:

    • You have acquired another device that uses the 2.4GHz band, e.g. cordless phone or baby monitor
    • Your close neighbours have got a new router, or changed WiFi channel
    • Your router is set to automatic channel switching and has changed channel.

    I suggest you check which channel your router is set to and try changing it. There are smartphone apps that will show you which channels are in use.

    Also use M122 to check that you are running DuetWiFiServer version 1.23.



  • Thank you for your response!

    I've attempted to update the DuetWifiServer to version 1.23, but cannot get it to go past version 1.21. I've tried uploading it directly through the DWC and by drag/dropping it into the /sys folder and applicable folders within on the SD card. I've also tried multiple SD cards to see if my problem was a bad SD card.

    I will try changing the wifi channel and report back with my findings. As far as new devices go, there is nothing else new on the network that was not previously there when it was functioning correctly.



  • @alexd607 said in Help! DWC Disconnects and Drops after extensive troubleshooting:

    I've attempted to update the DuetWifiServer to version 1.23

    what is the error message?



  • No error message.

    When doing it via the DWC, it acts like it's going to take but then never restarts completely. I get prompted to install the firmware, select yes, and then it does its thing but freezes. I've left it completely alone for upwards of 20 minutes after uploading the new firmware and it never recovered or rebooted on its own. I have to physically cycle the power and then once rebooted it is reverted back to 1.21.



  • Also,

    @dc42 changing the wifi channel had no effect.



  • @alexd607 said in Help! DWC Disconnects and Drops after extensive troubleshooting:

    No error message.

    please see
    https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware
    try upgrading via usb

    the wifi firmware has to match the duet firmware.



  • @Veti
    I was able to successfully update the firmware to the latest versions, to include the wifi firmware.

    Seems like the problem may be resolved, but it's too early to tell just yet. I'll report back either way in case someone else finds themselves facing this issue as well.



  • @Veti @dc42

    It seemed to improve for a time, but has since worsened.

    DWC constantly disconnects now to the point that it's impossible to make changes in my config.g file without powering down and removing the SD card...

    Any ideas or further troubleshooting tips would be greatly appreciated. What are my options for being able to print if I'm unable to restore DWC functionality?


  • administrators

    Please confirm which versions of the main firmware, DuetWiFiServer, and Duet Web Control you are now running (as reported by Duet Web Control), and the WiFi signal strength reported by M122.



  • @alexd607 WiFi can be a real pain. Not sure it's a network issue but it would be good to rule it out with a simple ping test while the issue is occurring. https://iihelp.iinet.net.au/How_to_run_a_ping_test

    It would also be good to leave the ping test running to see what the packet loss is over time.



  • @mwolter

    I'll be sure to give this a try and report back with what I find! At this point, anything is worth a shot.



  • @dc42 Here's what I get back when entering m122.

    Here's what my console looks like:
    dwc console.JPG

    M122
    

    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.04 running on Duet WiFi 1.02 or later
    Board ID: 08DGM-9T6BU-FG3S0-7J1F6-3S06T-9A43F
    Used output buffers: 3 of 24 (11 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 92808 of which 356 recycled
    Exception stack ram used: 268
    Never used ram: 11960
    Tasks: NETWORK(ready,628) HEAT(blocked,1232) MAIN(running,3744) IDLE(ready,200)
    Owned mutexes:
    === Platform ===
    Last reset 00:00:14 ago, cause: software
    Last software reset at 2019-12-04 09:23, reason: Heat task stuck, spinning module FilamentSensors, available RAM 11568 bytes (slot 1)
    Software reset code 0x40ad HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x20004a9c Task 0x4e49414d
    Stack: 0044d38f 004451d6 6100f000 3f000000 00000000 00000000 00000000 3331bb4c 41880000 3e178897 3e1cd04f be09b238 3e3a3fd4 00000000 00000000 00000000 3f800000 3f800000 3f000000 20000010 20003258 20002b88 0044d38f
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.5, current 29.1, max 29.2
    Supply voltage: min 24.3, current 24.4, max 24.5, 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: 2019-12-04 09:23:41
    Cache data hit count 38669759
    Slowest loop: 1.17ms; fastest: 0.06ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 2 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    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
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 39.88ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.23
      WiFi MAC address 84:f3:eb:83:48:e5
      WiFi Vcc 3.39, reset reason Power on
      WiFi flash size 4194304, free heap 24384
      WiFi IP address 192.168.1.151
      WiFi signal strength -22dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0 0

    @mwolter I did the ping test several times, and they all came back successful with 0 packet loss.



  • @alexd607 said in Help! DWC Disconnects and Drops after extensive troubleshooting:

    Last software reset at 2019-12-04 09:23, reason: Heat task stuck, spinning module FilamentSensors, available RAM 11568 bytes (slot 1)

    That's interesting. Are you having problems with the filament sensor? Is the wiring running close to stepper motors or PanelDue (if fitted)?

    Ian



  • @droftarts

    I don't have a filament sensor or panel due fitted.

    It's strange that that is what it's reporting considering the last reset was done by me via M112.



  • Here's what my Config.g file looks like:

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M669 K1 ; Select CoreXY mode

    ; Network
    M550 P"HyperSpoob" ; Set machine name
    M552 S1 ; Enable network
    M587 S"Houseofnerd2" P"Nerdgasm2" ; Configure access point. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S1 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E402.91 ; Set steps per mm
    M566 X900.00 Y900.00 Z30.00 E3000.00 ; Set maximum instantaneous speed changes (mm/min)
    M201 X6000.00 Y6000.00 Z30.00 E8000.00 ; Set accelerations (mm/s^2)
    M203 X15000.00 Y15000.00 Z300.00 E15000.00 ; Set maximum speeds (mm/min)
    M906 X900.00 Y900.00 Z900.00 E900.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X50 Y50 Z0 S1 ; Set axis minima
    M208 X380 Y400 Z500 S0 ; Set axis maxima

    M584 X0 Y1 Z2:4 ; two Z motors connected to driver outputs Z and E1
    M671 X-50:450 Y200:200 S5.0 ; leadscrews at left and right of X axis
    M208 X50:380 Y50:400 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

    ; Endstops
    M574 X1 Y1 S1 ; Set active high endstops

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M307 H3 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
    M307 H4 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
    M558 P9 H5 F120 T9000 ; Set Z probe type to bltouch and the dive height + speeds
    G31 P25 X27 Y-2 Z1.90 ; Set Z probe trigger value, offset and trigger height
    M557 X100:380 Y100:380 S50 ; Define mesh grid

    ; Heaters
    M307 H0 A173.6 C420.0 D6.9 B0 S1.00 ;M307 H0
    ; Heater 0 model: gain 173.6, time constant 420.0, dead time 6.9, max PWM 1.00, calibration voltage 24.3, mode PID, inverted no, frequency default
    ; Computed PID parameters for setpoint change: P62.3, I1.154, D302.3
    ; Computed PID parameters for load change: P62
    M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M307 H2 A266.7 C116.4 D5.8 S1 ; M307 H2
    ; Heater 2 model: gain 266.7, time constant 116.4, dead time 5.8, max PWM 1.00, calibration voltage 24.1, mode PID, inverted no, frequency default
    ; Computed PID parameters for setpoint change: P13.4, I0.513, D54.6
    ; Computed PID parameters for load change: P13.
    M305 P2 T100000 B4725 C7.060000e-8 R4700 X2 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 2
    M143 H2 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S0 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 S"Solo" D0 H2 ; 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

    ; Automatic power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

    ; Custom settings are not configured

    ; Miscellaneous
    T0 ; Select first tool



  • Strictly for troubleshooting, have you considered putting the printer in Access Point mode?

    Then testing with a phone or tablet or laptop a few feet from the printer, then further away, etc. Then with the mobile device in the next room... then near the router... etc, etc. A demonstrable "map" of connectivity.

    This type of testing removes your home network from the picture. Once you've verified that the DWC is (or is not!!!) stable from various distances when the link is direct printer<>device, you can go back to making it reliable on your home network, with some data points in your mind about the printer's basic physical capability to wirelessly reach various places in your home.



  • @Danal

    I attempted access point mode already with no success. It's not a matter of physical distance for sure, as my printer is literally adjacent to my wifi modem with no barriers between them.



  • Edit: Wrong thread. What I meant to say here:

    If AP mode is unstable, it is guaranteed that everything else will be unstable. Go back to AP mode, thus eliminating a whole bunch of variables, and debug from there.



  • Probably minor, but you have M587 in your config.g. You should comment this out or delete. From the Gcode dictionary:

    Important! Do not use M587 within config.g. As well as being a security hazard, writing the access point parameters to WiFi chip every time you start the Duet may eventually wear out the flash memory. Also, the wifi module does not get enabled until the end of running config.g. It is better to use a macro to send M587 (source: https://forum.duet3d.com/post/42798)

    Ian



  • Well...it has officially quit working completely...

    When I try to access the DWC I'm met with a blank white screen that never populates...

    @dc42 would doing a hard firmware reset be a possible solution?


Log in to reply