Duet wifi lost web connection
-
@dc42 See the video https://youtu.be/psSlSt5nMyk
I'm trying send command M122 but result is truncated and not full =( -
@avaradus use YAT instead of Pronterface (and don't forget to set the line ending to <LF> in YAT)
-
@whosrdaddy Trying YAT and nothing changes. IMHO problem in firmware, does not send complete data.
-
I have a similar sounding problem, using a 1.01 duet wifi and most recent rc firmware, dwc2. When connection is lost, even rebooting the host PC and restarting browser (firefox) doesn't help. The print continues to finish perfectly. With YAT, M122 gives no response (on earlier occasions I have had a truncated response). M552 S-1 switches off the wifi, and M552 S1 switches it on, but still no connection. Board responds to M999 with reset, but M122 then gives a partial response and halts YAT with the error message 'an unhandled asynchronous non synchronised exception occurred while running YAT' the detailed info 0_1556045927327_20190423_yat_exception.txt
On restarting YAT, M122 then works fine. -
YAT can be a bit funny when the USB COM port disappears and the reappears, as it does when you reboot the Duet.
My guess is that the Duet is running out of buffer RAM, but I don't know why.
@Adrian52 , which versions of firmware (main and WiFi) exactly are you running? How many PC/tablets/smartphones are or have accessed the Duet since it was originally powered on or reset?
-
@dc42 I am on main 2.03beta3(2019-03-25b6), WiFi 1.23, dwc 2.0.0rc6. I am only connecting via win10 pc/Firefox - deleted the duet app from phone and tablet at the moment, to eliminate concurrent connections.
Have the impression that this is a progressive thing - I initially get no response to M122, then M122 triggers a disconnect /reconnect, then connection is lost with multiple retrys from dwc. -
It's possibly a progressive loss of message buffers, which prevents both a full status response to DWC and a full M122 report.
Is it any different if you use DWC 1.22.6 instead of DWC2? You can revert to DWC 1.22.x just by putting "/reprap.htm" after the Duet IP address in your browser address bar.
-
@dc42 same behaviour when using dwc 1.22 with the ip/reprap.htm method
-
I guess I'll have to start leaving my printers on overnight to see if I can reproduce this. Does the problem occur if you leave the printer idle for 2-3 days, or only if it is printing?
-
@dc42 away for the weekend - will check next week
-
@adrian52 I think I may have found the answer for my issue - this comment on a thread yesterday rang a bell:
gnydick 1 May 2019, 07:33 One possibility. I found I have a DC power brick plugged into the same circuit that is SQUEEEEELING, I think a cap is ready to blow. That could be interfering.
I had a noisy DC brick supplying a desk lamp next to the duet. Since I unplugged it, I have had the printer on all day with no lost connection or failed M122
-
@adrian52 said in Duet wifi lost web connection:
I had a noisy DC brick supplying a desk lamp next to the duet. Since I unplugged it, I have had the printer on all day with no lost connection or failed M122
That's interesting. Why would that be?
-
@dc42 In my case, this happens when it is printing
-
@avaradus said in Duet wifi lost web connection:
@dc42 See the video https://youtu.be/psSlSt5nMyk
I'm trying send command M122 but result is truncated and not full =(Does it get as far as displaying the "Used output buffers" bit? That's the 4th line down from the top.
-
@dc42 Yes, that is right 20 of 20 max. How can i increase the number of buffers?
-
I will increase the number of buffers in the 2.03 release, however I am not sure that increasing the number of buffers is the solution. The question is, why are all the buffers allocated and not getting released?
Do you access the Duet via the web interface from a single device (PC/tablet/smartphone), or from multiple devices? Many firmware versions ago there was a problem with buffer management if you turned a device off without disconnecting it from the Duet in DWC first; but that was fixed (it now times out and releases the buffers for that client after 10 seconds of inactivity form the client).
You can monitor the number of buffers when the machine is idle. When I run M122 from DWC with just a single web client and an attached PanelDue, it reports either 1 or 3 buffers allocated.
-
@dc42 I have only one computer and one connection to the web interface.
DWC too often sends requests. When many requests fail, repetitions are performed without a timer delay. IMHO at this moment buffers overflow. -
@avaradus, I'll ask chrishamm how long DWC waits for a response before timing out and sending another request.
Next time this happens, please try closing the browser tab that DWC is open in. Then wait more than 10 seconds, and after that either use YAT to send M122 and check whether the buffers have been released, or try reloading DWC. What should happen is that if DWC doesn't receive any traffic from an IP address in 10 seconds, it should time out that client and release any associated buffers.
-
@dc42 Now again it happens. I'm connect via USB and send M122. And i see Used output buffers: 15 of 20 (20 max).
Then i wait 10 secs, i wait 30 secs, i wait 30 minutes and nothing changes.
i see the Used output buffers: 15 of 20 (20 max).
I try to turn off Wi-Fi with M552 S-1
WiFi module stopped
Again send M122
And still nothing has changed: Used output buffers: 15 of 20 (20 max)
DWC cannot connect and results M122 truncated and not full again. -
I confirm the problems with the Wifi connection in 2.03RC1. In combination with HTTP + FTP, the connection was extremely unstable, it was impossible to transfer files over hundreds of bytes either via http or ftp.
Editing config.g to disable ftp caused it to self-delete when writing.
Recovered on sd card from backup.
In the only http mode, it became possible to record files, but the recording speed dropped 10 times.M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03RC1 running on Duet WiFi 1.02 or later + DueX5
Board ID: 08DGM-9T6BU-FG3S8-6J1DJ-3SD6P-1SKMF
Used output buffers: 3 of 24 (11 max)
=== RTOS ===
Static ram: 25656
Dynamic ram: 94672 of which 28 recycled
Exception stack ram used: 492
Never used ram: 10224
Tasks: NETWORK(ready,524) HEAT(blocked,1236) MAIN(running,3752) IDLE(ready,156)
Owned mutexes:
=== Platform ===
Last reset 05:55:41 ago, cause: software
Last software reset at 2019-05-12 13:42, reason: User, spinning module GCodes, available RAM 10128 bytes (slot 1)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 24
Free file entries: 8
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 403.7ms, max retries 0
MCU temperature: min 30.7, current 35.9, max 36.7
Supply voltage: min 0.5, current 24.2, max 24.5, under voltage events: 1, over voltage events: 0, power good: yes
Driver 0: ok, SG min/max 0/1023
Driver 1: ok, SG min/max 0/1023
Driver 2: standstill, SG min/max 0/93
Driver 3: standstill, SG min/max 0/1023
Driver 4: ok, SG min/max 0/1023
Driver 5: standstill, SG min/max not available
Driver 6: standstill, SG min/max not available
Driver 7: standstill, SG min/max not available
Driver 8: standstill, SG min/max not available
Driver 9: standstill, SG min/max not available
Date/time: 2019-05-12 19:37:56
Cache data hit count 4294967295
Slowest loop: 123.17ms; fastest: 0.06ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
=== Move ===
Hiccups: 58, FreeDm: 163, MinFreeDm: 106, MaxWait: 10107016ms
Bed compensation in use: none
Bed probe heights: 0.000 0.000 0.000 0.000 0.000
=== DDARing ===
Scheduled moves: 238342, completed moves: 238317, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
Heater 0 is on, I-accum = 0.0
Heater 2 is on, I-accum = 0.4
=== GCodes ===
Segments left: 1
Stack records: 2 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 doing "G1 X94.042 Y115.929 E0.22561" 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: 404.11ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(2) 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 cc:50:e3:14:fc:fb
WiFi Vcc 3.30, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 19184
WiFi IP address 192.168.1.6
WiFi signal strength -66dBm, reconnections 0, sleep mode modem
Socket states: 0 2 0 0 0 0 0 0
- WiFi -