Duet wifi lost web connection
-
@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 -
-
I get this all of the time. I just turn my printer a little and it fixes everything.
-
@dc42 now i'm returned to WiFi Server Version: 1.21 and IMHO problem solved ?
Printer have uptume Last reset 98:00:53 ago, cause: power up
And connection not lost all that time!May be wifiserver version 1.23 totally consumes memory then controller lost any connection, and freezes.
-
@avaradus said in Duet wifi lost web connection:
@dc42 now i'm returned to WiFi Server Version: 1.21 and IMHO problem solved ?
Printer have uptume Last reset 98:00:53 ago, cause: power up
And connection not lost all that time!May be wifiserver version 1.23 totally consumes memory then controller lost any connection, and freezes.
Unlikely. Please try switching between 1.21 and 1.23 enough to be certain that there is a correlation between the DuetWiFiServer version and the problem occurring.
If you connect a USB host and send M111 P14 S1 then you may get some useful WiFi diagnostic messages reported to USB.
-
@dc42 Yes unlikely. Now with wifi server 1.21 again connection lost =(
With M122 I see Used output buffers: 24 of 24 (24 max)
All connection DWC to DUET is canceled.
i try disable wifi with M522 S-1 but used buffers is not release.
Automatic release of buffers is broken and not work =( -
Hi,
We have same problem with freezing duets in longer prints. Is this problem already solved ?
Thank, Supik (TriLAB)
-
Hi,
below I am sending a diagnostic report from today's freezing
Recv: === Diagnostics === Recv: RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03trilab7 running on Duet Ethernet 1.02 or later Recv: Board ID: 08DGM-917NK-F2MS4-7J1FD-3S86T-1ZTDD Recv: Used output buffers: 24 of 24 (24 max) Recv: === RTOS === Recv: Static ram: 25708 Recv: Dynamic ram: 93672 of which 312 recycled Recv: Exception stack ram used: 532 Recv: Never used ram: 10848 Recv: Tasks: NETWORK(ready,472) HEAT(blocked,1236) MAIN(running,372) IDLE(ready,160) Recv: Owned mutexes: Recv: === Platform === Recv: Last reset 13:34:00 ago, cause: software Recv: Last software reset at 2019-10-08 18:48, reason: User, spinning module GCodes, available RAM 11072 bytes (slot 3) Recv: Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Recv: Error status: 4 Recv: Free file entries: 9 Recv: SD card 0 detected, interface speed: 20.0MBytes/sec Recv: SD card longest block write time: 0.0ms, max retries 0 Recv: MCU temperature: min 44.0, current 44.4, max 44.6 Recv: Supply voltage: min 23.0, current 23.5, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes Recv: Driver 0: ok, SG min/max 0/171 Recv: Driver 1: ok, SG min/max 26/153 Recv: Driver 2: ok, SG min/max 0/168 Recv: Driver 3: ok, SG min/max 0/1023 Recv: Driver 4: standstill, SG min/max not available Recv: Date/time: 2019-10-09 08:23:40 Recv: Cache data hit count 4294967295 Recv: Slowest loop: 1.96ms; fastest: 0.07ms Recv: I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 Recv: === Move === Recv: Hiccups: 0, FreeDm: 141, MinFreeDm: 89, MaxWait: 0ms Recv: Bed compensation in use: mesh, comp offset 0.000 Recv: === DDARing === Recv: Scheduled moves: 1699629, completed moves: 1699589, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 Recv: === Heat === Recv: Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Recv: Heater 0 is on, I-accum = 0.2 Recv: Heater 1 is on, I-accum = 0.7 Recv: === GCodes === Recv: Segments left: 1 Recv: Stack records: 2 allocated, 0 in use Recv: Movement lock held by null Recv: http is idle in state(s) 0 Recv: telnet is idle in state(s) 0 Recv: file is doing "G1 X-16.905 Y-13.359 E0.01805 F1249.6" in state(s) 0 Recv: serial is idle in state(s) 0 Recv: aux is idle in state(s) 0 Recv: daemon is idle in state(s) 0 Recv: queue is idle in state(s) 0 Recv: autopause is idle in state(s) 0 Recv: Code queue is not empty: Recv: Queued 'M106 S153' for move 1699600 Recv: Queued 'M106 S184' for move 1699601 Recv: 2 of 16 codes have been queued. Recv: === Network === Recv: Slowest loop: 1.05ms; fastest: 0.02ms Recv: Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) Recv: HTTP sessions: 0 of 8 Recv: Interface state 5, link 100Mbps full duplex
-
-
Hi,
I couldn't figure out where the memory leak occurred. I tried to make a temporary fix - automatic reset when the buffer overflow.
Can you test this firmware ? (Based on version 2.04RC3)
https://github.com/mat100/RepRapFirmware/releases/tag/2.04RC3-fix-freeze
Matej
-
@mat100 Automatic reset (reboot) printer ?