Duet Wifi Webserver not responding
-
No, got no further details. But it noticed sometimes it takes >30 seconds to load http://192.168.178.15/js/dwc.js in an own browser tab, so i suspect its a timeout. After restarting wifi the loadtime is consistantly around 1 second.
This javascript is very large, above 1MB (300 KB zipped) and not cached in the browser. This could probably be optimized, but should not be the root cause. But if memory is in short supply and the gzip version is created on the fly this could be a problem(?)webinterface just lost connection again, this time if found an "Unexpected state change on socket X":
New conn on socket 6 for local port 80 Found responder Received 488 bytes New conn on socket 7 for local port 80 Found responder Received 475 bytes Client disconnected on socket 6 New conn on socket 6 for local port 80 Found responder Received 475 bytes New conn on socket 7 for local port 80 Found responder Received 488 bytes New conn on socket 6 for local port 80 Found responder Received 475 bytes Unexpected state change on socket 7 New conn on socket 7 for local port 80 Found responder Received 488 bytes New conn on socket 6 for local port 80 Found responder Received 475 bytes Unexpected state change on socket 7 New conn on socket 7 for local port 80 Found responder Received 488 bytes New conn on socket 6 for local port 80 Found responder Received 488 bytes Unexpected state change on socket 7
-
What make and model is your router?
-
Hi!
Same problem. Try connect … connect ... connect ... F5 ... nothing.
I connect via USB. I make Disable Wi-Fi / Enable Wi-Fi. After that it works 1 hour ... 2 ... 3 hours ... Ping is always stable (2-100 ms).
1.20 firmware.
-
I'm using a Fritz!Box 7490.
Just now lost connection again (webinterface won't load at all, but ping is successful) and tried your instruction but with no usefull output during deactivating/activating http and couldn't connect after that.
>>> M552 SENDING:M552 WiFi module is connected to access point ewl-internet.ch_40357, IP address 192.168.178.15 >>> M586 P0 S0 SENDING:M586 P0 S0 HTTP is disabled >>> M586 P0 S1 SENDING:M586 P0 S1 HTTP is enabled on port 80
I tried rebooting the Fritz!Box and duet wifi will timeout while trying to reconnect (as booting the router takes about a minute). I reactivated wifi with M552 S1 but webinterface will still not load. Diable/Enable HTTP did again not help. (ping does work)
Disabling and reenabling Wifi (M552 S0 M552 S1) did bring the webinterface back.
So M552 S0 seems to "unblock" the webinterface.Did not yet update the webserver to 1.21, will do next.
-
Tonight i printed a model and closed the webinterface windwo in the brower.
This morning i couldn't connect to the webinterface (but ping still ok), so its probably not the polling from the webinterface thats causing the issue.
The log only contains about a hundret entries "Class Network spinning", no error messages. -
When you are unable to connect but able to ping, if you run M552 without parameters, does it report that the Duet is connected to your network, or not?
-
Yes, i actually included that part in my last message because i thought you would ask that
>>> M552 SENDING:M552 WiFi module is connected to access point ewl-internet.ch_40357, IP address 192.168.178.15
-
Updated Webserver to 1.21.RC1 and immediatly having an instable connection, debug log:
WiFi: fGLUE: fragmented pbuf (932!=1514)! WiFi: GLUE: fragmented pbuf (932!=1514)! WiFi: GLUE: fragmented pbuf (932!=1514)! WiFi: GLUE: fragmented pbuf (932!=1514)! [...]
When reloading the page:
Unexpected state change on socket 0 Can't send anymore New conn on socket 0 for local port 80 HTTP connection accepted Found responder New conn on socket 5 for local port 80 HTTP connection accepted Found responder Received 330 bytes Sending reply, file = yes HTTP req, command words { GET / HTTP/1.1 }, parameters { } Received 339 bytes Sending reply, file = yes HTTP req, command words { GET /css/dwc.css HTTP/1.1 }, parameters { } New conn on socket 0 for local port 80 HTTP connection accepted Found responder Received 357 bytes Sending reply, file = yes HTTP req, command words { GET /js/dwc.js HTTP/1.1 }, parameters { } WiFi: GLUE: fragmented pbuf (788!=1514)! [...]
Still having the same issue with http://192.168.178.15/js/dwc.js
When the connection is stable there are no messages with 'WiFi: GLUE: fragmented pbuf <…>', so this might be the cause of the problem.
Edit:
Additionally there is a problem with the html in line 1708:should be
-
Webinterface was online 6 hours without a problem then failed again.
I used Wireshark to capture the network traffic, maybe this can help fpr further analysis.This happened in the moment the connection was lost:
https://www.dropbox.com/sh/r9zkw9id482i9z0/AAA-x0NTtIISPxijZnqTiZj0a/Wireshark_DuetWifi.PNG?dl=0
This was from Microsoft Edge Browser. So my PC sent an reset and from then on all requests to the duet wifi return a reset. This continues until the ajax retry limit is reached (i set it to 50 retries).
I found other occurences earlier where my PC closed the connection but a new one could be established without problems.Then tried to open the webinterface in a different browser (Firefox) and got:
https://www.dropbox.com/sh/r9zkw9id482i9z0/AADPnonPL1ApvNZzF8qBnV-Va/Wireshark_DuetWifi_2.PNG?dl=0I suspect for some reason all available sockets from the wifi module in the duet to the internal modules get blocked and won't be unblocked until restarting the wifi. This would explain why the wifi connection works in general (can ping and open tcp connection) but it fails when trying to get the status report.
-
Thanks, I suspected that these problems might be caused by a lack of sockets. Which version of DuetWiFiServer are you using?
-
Firmware Name:
RepRapFirmware for Duet WiFi
Firmware Electronics:
Duet WiFi 1.0
Firmware Version:
1.20 (2017-12-23)
WiFi Server Version:
1.21RC1
Web Interface Version:
1.20 -
Hi!
Is it possible to make a program reset of the Wi-Fi module on an external button? For example, execute a script:
M552 S-1;
M552 S1;
?
-
Yes, if you set up a trigger using M581.
-
if you do that I think you will need a pause in between the M552 S-1 and M552 S1 commands (I tried to make a macro for this but the S1 was executed too soon after the disable (while the wifi was still changing state) so it did not work.
-
And then what to do?
Now I connect a USB cable during printing…...brrrrrr)))) -
You can insert a pause between the two M552 commands using G4.
-
G4 is bad. Stops printing ….
Is there a NOP command? -
Good point, if a print is running then G4 will wait for everything to stop. Try this:
M552 S0 ; disconnect and shutdown wifi services
M587 ; list access points, with luck this will wait for the shutdown to complete
M552 S-1
M552 S1 -
Another data point:
I lost connection to a DuetWifi during a long print. About six hours in. M582 (via PanelDue) stop/start did not fix. M552 stop/start and connectivity was fine.
Firmware Name: RepRapFirmware for Duet WiFi
Firmware Electronics: Duet WiFi 1.0
Firmware Version: 1.20 (2017-12-23)
WiFi Server Version: 1.20
Web Interface Version: 1.20Wireless router is a Google WiFi mesh. It is about 15 feet from the printer. It is also true that my Desktop PC is cabled to that same Google node that serves the printer, and the wireless mesh from that node is the only connectivity available to my PC. Meaning that I'd know it instantly if the router mesh node itself dropped.
As mentioned, just another data point. No explicit reply needed.
-
As im a software developer myself i know such bugs can be hard to track down.
Some minor information which may or may not help:- wifi may fail even when the printer is not printing (turn printer on, connect webinterface, wait some time, connection lost)
- wifi may fail within a few seconds after restart. Looks realy random, sometimes hours, and today it failed after <10 seconds
Its a really annoying problem, probably will finally add my PanelDue which i bought with the printer but never bothered to mount it as the wifi interface did not leave anything to be desired.