WiFi disconnect errors


  • administrators

    A number of users have been experiencing spurious WiFi disconnection errors. If this issue affects you, please work through the following BEFORE posting that you are having the problem here:

    1. First, work through the troubleshooting list at https://duet3d.com/wiki/WiFi_disconnections_and_AJAX_timeout_errors. [You do not need to revert to 1.19.2 firmware if you are using a 1.20 beta version.]

    2. If after that you have a good RSSI figure but you are still experiencing this issue, upgrade DuetWiFiFirmware to version 1.20beta7, then upgrade DuetWiFiServer to 1.20beta8. You can find these files here: https://github.com/dc42/RepRapFirmware/tree/dev/Release/Duet-WiFi/Edge.

    3. If after that you still experience this issue, upgrade DuetWiFiServer to 1.20beta8-nosleep and see if that helps.

    4. Then post here to let us know whether either of steps 2 and 3 solved the problem for you. If the problem persists, please provide the following information:

    • A M122 diagnostic report produced when WiFi was connected
    • The make and model of your WiFi router
    • Does the problem occur mainly (or only) during printing, or does it occur equally frequently when the printer is idle?
    • When the problem occurs, are you able to reconnect by pressing the Connect button in DWC?
    • If you are unable to connect, are you still able to ping the IP address of the Duet WiFi?
    • Anything else that you think may be correlated with disconnections occurring


  • 1:44:13 PMDisconnected.
    1:19:18 PMConnection established!
    1:19:14 PMDisconnected.
    1:18:57 PMConnection established!
    1:18:11 PMUpdating Duet WiFi Server…


    the above is after loading the new WifiServer firmware and then doing nothing
    Firmware Version: 1.20beta6 (2017-11-03)
    WiFi Server Version: 1.20b8
    Web Interface Version: 1.19.3


    Network state is running
    WiFi module is connected to access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.20b8
    WiFi MAC address a0:20:a6:10:55:89
    WiFi Vcc 3.45, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 27928
    WiFi IP address 192.168.2.34
    WiFi signal strength -46dBm, reconnections 0, sleep mode modem
    HTTP sessions: 1 of 8
    Socket states: 0 0 0 0 0 0 0 0
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)

    • The make and model of your WiFi router - Asus RT-AC3100
    • during printing, and equally frequently when the printer is idle
    • When the problem occurs, are you able to reconnect by pressing the Connect button in DWC? - No
    • If you are unable to connect, are you still able to ping the IP address of the Duet WiFi? - No, timeout

    Will try the second firmware posted next



  • Loaded the no sleep version of 1.20 beta 8

    Now I cannot get the wifi module to connect.

    Using panel due:

    M552 alone says "Wifi Module Starting" then nothing ever happens
    M552 S0 no response on screen
    M552 S-1 "Wifi Module Stopped"
    M552 S1 "Turn Off the Current Wifi mode before selecting a new one"…....


  • administrators

    @Jarery:

    Loaded the no sleep version of 1.20 beta 8

    Now I cannot get the wifi module to connect.

    Using panel due:

    M552 alone says "Wifi Module Starting" then nothing ever happens
    M552 S0 no response on screen
    M552 S-1 "Wifi Module Stopped"
    M552 S1 "Turn Off the Current Wifi mode before selecting a new one"…....

    I had that problem on two of my test boards. It appears that the new DuetWiFiServer didn't install properly the first time. I checked the SD card and the DuetWiFiServer.bin file was correct. So I just ran M997 S1 from PanelDue to re-install it, and it worked after that.



  • Interesting. I had already done that, since had posted about it in your other post with the links.
    Repeating it a second time it seems to work.
    Thanks for the reminder to try again.



  • Ok Got the new 1.20 Beta 8 no sleep wifi server firmware up and loaded…
    12 min into a print it disconnected Ajax error.
    Unable to reconnect in DCW with connect button

    4:34:04 PMDisconnected.
    4:24:30 PMM200 D1.77
    4:22:04 PMM32 Standing_Target_Spinner.gcode


    PING 192.168.2.34 (192.168.2.34): 56 data bytes
    Request timeout for icmp_seq 0
    Request timeout for icmp_seq 1
    ping: sendto: No route to host
    Request timeout for icmp_seq 2
    ping: sendto: Host is down
    Request timeout for icmp_seq 3
    ping: sendto: Host is down
    Request timeout for icmp_seq 4

    My board is mounted in top triangle of Delta, so only the motors near, no power supply. I have my board removed and standing up on end such that the wifi module is about 200mm above the top triangle in the center, as far away from motors as I can get without re wiring.

    Edit 1:
    Instead of recycling the wifi module i let it sit. I didn't check non stop, but 20 min after the disconnect I could reconnect via Connect button.

    M122 after reconnect:
    === Move ===
    MaxReps: 12, StepErrors: 1335, FreeDm: 214, MinFreeDm 120, MaxWait: 3587444210ms, Underruns: 0, 4
    Scheduled moves: 9172, completed moves: 9164
    Bed compensation in use: mesh
    Bed probe heights: 0.023 -0.070 -0.063 0.030 0.009
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 0 is on, I-accum = 0.1
    Heater 1 is on, I-accum = 0.5
    === GCodes ===
    Segments left: 1
    Stack records: 2 allocated, 0 in use
    Movement lock held by file
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is doing "G1 X39.067 Y-34.939 E5.04276" 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 state is running
    WiFi module is connected to access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.20b8-nosleep
    WiFi MAC address a0:20:a6:10:55:89
    WiFi Vcc 3.45, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 28256
    WiFi IP address 192.168.2.34
    WiFi signal strength -46dBm, reconnections 0, sleep mode none
    HTTP sessions: 1 of 8
    Socket states: 2 0 0 0 0 0 0 0
    Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)

    Edit 2:
    20 min after reconnecting via DWC, another disconnect

    edit 3:

    Another disconnect, this time reset with recycling wifi module on off. But it disconnected 22 min later.
    6:33:24 PMDisconnected.
    6:01:03 PMWiFi module stopped
    6:01:03 PMConnection established!


  • administrators

    Thanks for the info. I'll continue work on making more debugging info available.

    Btw I notice that you have a lot of step errors in your M122 report. I'd like to find the cause of those. What were you printing, what microstepping do you have configured, and are you using pressure advance?



  • printing these for the kid…https://www.thingiverse.com/thing:2408692

    Ive recently switched to a E3D volcano, using a 0.8mm nozzle. And have yet to dial it in correctly, perhaps that has some bearing on it ?

    M350 E16 I0 ; Configure microstepping without interpolation
    M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation
    M92 X200 Y200 Z200 E2490 ; Set steps per mm
    M566 X1000 Y1000 Z1000 E60 ; Set maximum instantaneous speed changes (mm/min)
    M203 X16000 Y16000 Z16000 E900 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E120 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E600 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    The system is a 24V power, with 0.9 steppers for the delta X Y Z and 1.8 for the extruder, with a Zesty Nimble, on a smart effecter. The motors are the models you list in your Large Kossel BOM. Other items from Config below, yes i had pressure advance on.

    ; Firmware Retraction, called via G10/G11
    M207 S1.45 F1800 T1500 Z0.2 ; Retract 1.45mm at 30mm/s (1800mm/min), unretract at 25mm/s (1500mm/min)

    ; Volumetric Extrusion
    M200 D0 ; turn volumetric off for manual extrusion

    ; Smart effector
    M558 P5 R0.4 F1000 H5
    G31 P100 X0 Y0 Z-0.275

    M572 D0 S0.04 ; pressure advance

    M911 S19.8 R22.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000 // auto-pause at 19,8V, resume at 22then either stop at 12V or auto-resume at 22V
    M912 P0 S4 ; set cpu calibration +4 degrees



  • Made a big change. Switched my router system to an Netgear Orbi Mesh network.

    Downloaded the newest firmware. Couldn't use the Newest wifi server 1.20B8 no sleep, any command I types into web console just said wifi server stopped, and repeated my calibration results….

    Firmware Version: 1.20beta7 (2017-11-11)
    WiFi Server Version: 1.20b8
    Web Interface Version: 1.19.3

    Edit: any associated disconnections so far have been able to reconnect via connect button.
    With the new router system, it seems to stay connected to router, just disconnects from browser, probably due to laptop sleep but router page always shows connected, and always able to ping.

    The router I replaced was an Asus Rt-AC3100 with merlin firmware, which somehow would drop the client and the only method of reconnection was :

    1. cycle wifi module on/off
    2. cycle printer on/off
    3. wait about 30 min and reconnect via connect button in browser. This was about 50/50 success rate.


  • David, testing DuetWifiServer 1.20b8:

    • A M122 diagnostic report produced when WiFi was connected
      [c]Connecting…
      Printer is now online.

    M122
    SENDING:M122
    === Diagnostics ===
    Used output buffers: 2 of 32 (9 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.20beta7 running on Duet WiFi 1.0
    Board ID: 08DDM-9FAM2-LW4SD-6JTF0-3S86N-TLWZX
    Static ram used: 15472
    Dynamic ram used: 99192
    Recycled dynamic ram: 4120
    Stack ram used: 3992 current, 9196 maximum
    Never used ram: 3092
    Last reset 00:54:35 ago, cause: reset button or watchdog
    Last software reset reason: User, spinning module GCodes, available RAM 7296 bytes (slot 3)
    Software reset code 0x0003, HFSR 0x00000000, CFSR 0x00000000, ICSR 0x00400000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    [ERROR] Error status: 0

    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 14.6ms
    MCU temperature: min 29.0, current 33.5, max 34.6
    Supply voltage: min 12.2, current 12.7, max 12.9, under voltage events: 0, over voltage events: 0
    Driver 0: ok
    Driver 1: ok
    Driver 2: ok
    Driver 3: ok
    Driver 4: standstill
    Date/time: 2017-11-14 20:25:36
    Cache data hit count 4294967295
    Slowest main loop (seconds): 2.192716; fastest: 0.000042
    === Move ===
    MaxReps: 5, StepErrors: 0, FreeDm: 123, MinFreeDm 120, MaxWait: 4216772852ms, Underruns: 0, 0
    Scheduled moves: 32211, completed moves: 32181
    Bed compensation in use: none
    Bed probe heights: -0.042 0.010 -0.062 -0.060 -0.063
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 0 is on, I-accum = 0.3
    Heater 1 is on, I-accum = 0.5
    === GCodes ===
    Segments left: 1
    Stack records: 2 allocated, 0 in use
    Movement lock held by file
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is doing "G1 X9.258 Y-3.758 F1839" in state(s) 0
    serial is ready with "M122" 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 state is running
    WiFi module is connected to access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.20b8
    WiFi MAC address 5c:cf:7f:ef:51:6f
    WiFi Vcc 3.38, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 29096
    WiFi IP address 10.0.1.161
    WiFi signal strength -39dBm, reconnections 0, sleep mode modem
    HTTP sessions: 1 of 8
    Socket states: 0 0 0 0 0 0 0 0
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    [/c]

    • The make and model of your WiFi router
      Tenda AC18 - Does the problem occur mainly (or only) during printing, or does it occur equally frequently when the printer is idle?
      Both (from past experience) - When the problem occurs, are you able to reconnect by pressing the Connect button in DWC?
      Not this time - If you are unable to connect, are you still able to ping the IP address of the Duet WiFi?
      Could not ping the IP address - Anything else that you think may be correlated with disconnections occurring
      I had 24 hours of successful connection with DuetWifiServer 1.20b8-nosleep prior to this test. It took me 3 tries to upload the DuetWifiServer 1.20b8 firmware. I renamed the file, then uploaded via DWC. It "worked" but then via pronterface M552 only would report "wifi module starting." It took two consecutive runs of M997 S1 to get it fully working. I then started homing it, G32's and preheating. After about 15 minutes of that, I started a print. It disconnected 27 mins after the print started. This was a total connection time of about 40 mins.


  • Ok, a new problem….

    I revert back to WifiServer 1.20b8-nosleep since it had previously been working great. It took 2 installs to get it to work. Since then I've had 3 discontents in the last 2 hours. These were different though.

    The first was seems harmless, it disconnected and i just clicked connect in DWC and everything was up and running again. no problem.

    The second two were different. Both times They reported a new AJAX error, that gave no reason. It didn't have the normal timeout. Image attached. Both times, I could not connect to the duet via USB with pronterface. It was like the whole board was locked out or frozen. A power cycle resolved it the first time, but then it disconnected again near immediately. The second time I just let it sit and after about 10mins I was able to simply click connect in DWC again.

    I am lost.

    UPDATE: APPARENTLY I HAVEN'T SLEPT ENOUGH. I WAS TRYING TO PRINT A .STL FILE. INTERESTINGLY THIS CREATES AN IMMEDIATE DISCONNECT AND LOCKS UP THE BOARD.

    David, any way to adjust the firmware to prompt an error message rather than locking up the board for those times when we try to print an STL?



  • David, I'm not sure if that's the same problem or not, but here is what I'm observing:
    WiFi connection works most of the time, signal strength looks ok (between -60dBm and -50dBm) but sometimes it just fails throwing AJAX error and doesn't come back until I reset the WiFi module by using M552 S0 followed by M552 S1.
    It was always the case, and I thought it just a signal level issue. I tried using two different routers (one noname provided by my provider, the other one is Apple TimeCapsule). Now the strange part I noticed just recently, is that when it fails, it is till showing as connected in the WiFi router web UI. Even more, if I connect using the USB and issue M122, it is showing wifi as connected, with good signal strength and valid IP address. That makes me thinking that at least in some cases what looks like a WiFi connectivity issue is not related to connectivity. I believe it might be the web server firmware crashing or hanging.
    It happens pretty often, and I'm happy to provide further diagnostic data - just tell me what exactly do I need to do.


  • administrators

    zlowred, please upgrade to the just-released DuetWiFiFirmware 1.20beta8 and DuetWiFiServer 1.20beta9. Connect a PC via USB and send M111 S1 P14 to enable the new WiFi debugging feature. You will get a few WiFi debug messages during startup and initial connection to your router, but there should be no more after that. If the disconnect occurs again, look at the console on the PC to see whether any more debug messages have been received, and report what you find.



  • That means to keep USB connected all the time, right? (no problems with that, just to confirm)
    added: maybe it's better to keep debug log somewhere on the flash card so that nothing is lost in case when PC went to sleep for example.



  • I think I've sent my Duet3D WiFi to England, because of symptoms very similar to those described …

    I hope not....


  • administrators

    @peirof:

    I think I've sent my Duet3D WiFi to England, because of symptoms very similar to those described …

    I hope not....

    Yours was different, it wouldn't upload new wifi firmware.



  • i hope….



  • So I was able to reproduce the disconnect. Below is the full log. Note that I temporarily disabled M552 S1 in the config.g so that full log is captured.
    I issued M122 after the disconnect in case it contains something useful.

    RepRapFirmware for Duet WiFi Version 1.20beta8 dated 2017-11-17
    
    Executing config.g...HTTP is enabled on port 80
    FTP is disabled
    TELNET is disabled
    
    Done!
    Network disabled.
    RepRapFirmware for Duet WiFi is up and running.
    M111 S1 P14
    Debugging enabled for modules: WiFi(14)
    Debugging disabled for modules: Platform(0) Network(1) Webserver(2) GCodes(3) Move(4) Heat(5) DDA(6) Roland(7) Scanner(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13)
    ok
    M552 S1
    ok
    WiFi: 
    WiFi:  ets Jan  8 2013,rst cause:2, boot mode:(3,7)
    WiFi: 
    WiFi: load 0x4010f000, len 1384, room 16 
    WiFi: tail 8
    WiFi: chksum 0x2d
    WiFi: csum 0x2d
    WiFi: v00007fff
    WiFi: ~ld
    WiFi module started
    WiFi: mode : sta(ec:fa:bc:02:1e:41)
    WiFi: add if0
    WiFi: scandone
    WiFi: sleep enable,type: 2
    WiFi: scandone
    WiFi: state: 0 -> 2 (b0)
    WiFi: state: 2 -> 3 (0)
    WiFi: state: 3 -> 5 (10)
    WiFi: add 0
    WiFi: aid 3
    WiFi: cnt 
    WiFi: 
    WiFi: connected with Lrrr, channel 1
    WiFi: dhcp client start...
    Wifi module is connected to access point Lrrr, IP address 192.168.1.102
    WiFi: ip:192.168.1.102,mask:255.255.255.0,gw:192.168.1.1
    WiFi: pm open,type:2 0
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    WiFi: p->ref == 1
    M122
    === Diagnostics ===
    Used output buffers: 1 of 32 (8 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.20beta8 running on Duet WiFi 1.0
    Board ID: 08DDM-9FAM2-LW4S8-6JTDD-3SJ6P-9MXBY
    Static ram used: 15488
    Dynamic ram used: 99624
    Recycled dynamic WiFi: 
    ram: 3672
    Stack ram used: 4328 current, 5324 maximum
    NeveWiFi: LINK
    r used ram: 6964
    Last reset 00:02:07 ago, cause: power up
    Last software reset reason: User, spinning module GCodes, available RAM 6960 bytes (slot 4)
    Software reset code 0x0003, HFSR 0x00000000, CFSRWiFi: 	xmit: 0
     0x00000000, ICSR 0x00400000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    Free file entries:WiFi: 	recv: 0
     10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 31.5, current 34.8, max 35.0
    Supply voltage:WiFi: 	fw: 0
     min 0.3, current 0.5, max 0.5, under voltage events: 0, over voltage events: 0
    Driver 0: ok
    Driver 1: ok
    Driver 2: ok
    Driver 3: okWiFi: 	drop: 0
    
    Driver 4: ok
    Date/time: 2017-11-18 11:55:08
    Cache data hit count 436514026
    Slowest main loop (seconds): 0.099160; fastest: 0WiFi: 	chkerr: 0
    .000034
    === Move ===
    MaxReps: 0, StepErrors: 0, FreeDm: 240, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, completed moves: 0
    Bed compensation iWiFi: 	lenerr: 0
    n use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heater = 0, chaWiFi: 	memerr: 0
    mber heater = -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in stateWiFi: 	rterr: 0
    (s) 0
    file is idle in state(s) 0
    serial is ready with "M122" inWiFi: 	proterr: 0
     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 state is running
    WiFi module is connected to access point 
    Failed mWiFi: 	opterr: 0
    essages: pending 0, notready 0, nWiFi: 	err: 0
    oresp 0
    WiFi firmware version 1.20b9
    WiFi MAC address ec:fa:bc:02:1e:41
    WiFi Vcc 3.35, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 25224
    WiFi IP address 192.168.1.102
    WiFi signal strength -58dBm, reconnections 0, sleep mode WiFi: 	cachehit: 0
    modem
    HTTP sessions: 1 of 8
    Socket states:  0 0 0 0 0 0 0 0
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    ok
    WiFi: 
    WiFi: ETHARP
    WiFi: 	xmit: 4
    WiFi: 	recv: 2
    WiFi: 	fw: 0
    WiFi: 	drop: 39
    WiFi: 	chkerr: 0
    WiFi: 	lenerr: 0
    WiFi: 	memerr: 0
    WiFi: 	rterr: 0
    WiFi: 	proterr: 39
    WiFi: 	opterr: 0
    WiFi: 	err: 0
    WiFi: 	cachehit: 1605
    WiFi: 
    WiFi: IP
    WiFi: 	xmit: 1614
    WiFi: 	recv: 1892
    WiFi: 	fw: 0
    WiFi: 	drop: 1
    WiFi: 	chkerr: 1
    WiFi: 	lenerr: 0
    WiFi: 	memerr: 0
    WiFi: 	rterr: 0
    WiFi: 	proterr: 0
    WiFi: 	opterr: 0
    WiFi: 	err: 0
    WiFi: 	cachehit: 0
    WiFi: 
    WiFi: IGMP
    WiFi: 	xmit: 4
    WiFi: 	recv: 1
    WiFi: 	drop: 0
    WiFi: 	chkerr: 0
    WiFi: 	lenerr: 0
    WiFi: 	memerr: 0
    WiFi: 	proterr: 0
    WiFi: 	rx_v1: 0
    WiFi: 	rx_group: 0
    WiFi: rx_general: 1
    WiFi: rx_rmit: 1174
    WiFi: 	recv: 1831
    WiFi: 	fw: 0
    WiFi: 	drop: 0
    WiFi: 	chkerr: 0
    WiFi: 	lenerr: 0
    WiFi: 	memerr: 0
    WiFi: 	rterr: 0
    WiFi: 	proterr: 0
    WiFi: 	opterr: 0
    WiFi: 	err: 0
    WiFi: 	cachehit: 0
    
    

    The "WiFi: p->ref == 1" messages appeared around every few seconds or so, and the "AJAX error" appeared after the last "WiFi: p->ref == 1" message. I waited for another 10 minutes, but didn't see these messages after the "AJAX error"


  • administrators

    Thanks. Did the p->ref==1 messages start appearing as soon as you connected, or not until shortly before the disconnection message?



  • First message is seconds after I connected. Others are at irregular intervals between few seconds and somewhere around a minute between each other.
    In the meanwhile, I've replaced the wifi module with ESP-07S with external antenna, and it didn't change anything, e.g. behaviour is exactly the same.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.