Duet Wifi Webserver not responding
-
Duet Ethernet doesn't use the DuetWiFiServer.bin file. If you are getting disconnections on the Duet Ethernet and they only happen when you are homing the printer or when printing a file, run M122 after you reconnect and check the MaxReps figure in the report. Note: MaxReps gets reset back to zero after you run M122.
-
I think my disconnects have all been during print processes, but I'm not super confident in that statement. I will look into the maxreps thing. While I'm waiting for another disconnect event, can you explain what the maxreps means? And is any non-zero value bad, or…?
-
MaxReps figures above about 50 are bad. The value gives an indication of the interrupt load of the step pulse generator. If it gets too high then the http responder gets starved of CPU time.
-
Got it, thanks.
I just had an ethernet drop out, and when I did an M122 afterwards, I got a maxreps of 4. So I'm guessing that's not my problem…
-
Sad news on my front. I'm still seeing the web console stop responding on 1.21RC4. Looks like the same issue still. The packet trace shows the same pattern as before (HTTP GET followed immediately by a connection reset) and the console indicates the same message ("refused conn on port 80 no free conn").
I tried to do an [c]M586 P0 S0[/c]/[c]S1[/c] cycle and it looks like it might have crashed the WiFi module. My print froze and I got this on the console:
M586 P0 S0 HTTP is disabled ok WiFi: ESP reported status change WiFi: Soft WDT reset ESP reported status change WiFi: WiFi: ctx: cont WiFi: sp: 3fff2fc0 end: 3fff32c0 offset: 01b0 WiFi: WiFi: >>>stack>>> WiFi: 3fff3170: 40233576 00000030 0000001c 40225893 WiFi: 3fff3180: 40225d11 3fff6cac 3fff5b3c 40225a2b WiFi: 3fff3190: 00000003 3fff31d0 00000000 40105f8d WiFi: 3fff31a0: 00000050 000000ff 00000000 00000000 WiFi: 3fff31b0: 3fff2125 3fff2190 3fff2194 00000000 WiFi: 3fff31c0: 00000000 3fff211c 3fff1900 40106542 WiFi: 3fff31d0: 00000000 005000ff 20000000 00000000 WiFi: 3fff31e0: 00000000 3fffc6fc 00000001 3fff22a0 WiFi: 3fff31f0: 00000000 3fffdad
-
You could use M552 S0/S1 instead of M586, worked for me every time without problems during printing. (probably used 30+ times)
I'm still on 1.21.RC1 and had no wifi problems in the last 2 weeks.
I just installed my PanelDue and added two macros for disabling/enabling wifi, so i can restart it without connecting the usb. -
I'm sorry to hear you are still having problems. Have you confirmed that you are running version 1.21RC4 of both the main firmware and the wifi firmware? Look on the Settings->General page of DWC to check.
You could try downloading and installing DuetWiFiServer 1.21RC4 again, in case the file got corrupted somewhere.
-
Here's what DWC says I'm running right now:
Firmware Version: 1.21RC4 (2018-03-11 build 1) WiFi Server Version: 1.21RC4(08b3) Web Interface Version: 1.21-RC4
I will re-download and re-flash and report back.
-
Confirmed it still stops responding.
New conn on socket 7 for local port 80 HTTP connection accepted Found responder Received 459 bytes Sending reply, file = no HTTP req, command words { GET /rr_status HTTP/1.1 }, parameters { type=3 } WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn WiFi: ../src/Listener.cpp(62): refused conn on port 80 no free conn
-
Thanks, that gives me an idea of where to look. Do you use either FTP or Telnet, or just the web interface?
I'll add more debugging in RC5 so that M122 dumps the state of all the connections.
-
Just the web interface. Do you want me to test something on the others as well? (Or are you just wondering whether something else is also consuming sockets?)
-
I was wondering whether FTP or Telnet was consuming sockets.
I've completed version 1.21RC5 of the main firmware, so I'll look at why the wifi firmware might be running out of connections now.
-
I have just added DuetWiFiServer.bin version 1.21RC5 to the RRF 1.21RC5 files at https://github.com/dc42/RepRapFirmware/releases/tag/1.21RC5. Please install it on your system. When the problem next occurs, send M111 S1 P14 to enable WiFi debugging (if you haven't already), then send M122. The debug output at the end will include the status of all the connection objects. This should help me determine why none of them is free.
-
Will do! I'm waiting for a 24-hour print to finish up, so it will be tomorrow.
Any chance you added the remote port numbers to the output? That would help correlate them to a packet trace, and to the client's net state.
-
So, acknowledging that my issue may not be the same one being primarily discussed in this thread, I still think my issue is due some addressing as well. Would you like me to start a separate thread for it, or…?
-
If it's different symptoms then a separate thread would be better.
-
The full M122 output is at the bottom, but I picked out the socket status lines here. (I think there might be a threading bug in the new debug code because the output lines for socket status are interwoven through the entire M122 output.)
WiFi: Conn 0: aborted 80, 56749, 172.20.2.32 WiFi: Conn 1: aborted 80, 57066, 172.20.2.32 WiFi: Conn 2: aborted 80, 56482, 172.20.2.32 WiFi: Conn 3: aborted 80, 57367, 172.20.2.32 WiFi: Conn 4: aborted 80, 58524, 172.20.2.32 WiFi: Conn 5: aborted 80, 58528, 172.20.2.32 WiFi: Conn 6: aborted 80, 58814, 172.20.2.32 WiFi: Conn 7: aborted 80, 58821, 172.20.2.32
FWIW none of those port numbers show up in a netstat.exe dump from the client PC.
M122 === Diagnostics === Used output buffers: 1 of 32 (13 max) === Platform === RepRapFirmware for Duet 2 WiFi/Ethernet version 1.21RC5 running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DGM-95BNL-MGPSJ-6J1F6-3SS6L-T0XZZ Static ram used: 16152 Dynamic ram uWiFi: Conn 0: aborted 80, 56749, 172.20.2.32 sed: 100824 Recycled dynamic ram: 1808 Stack ram used: 3576 current, 6512 maximum Never used ram: 5776 Last reset 05:46:36 ago, cause: power up Last software reset at 2018-03-15 20:27, reason: User, spinning module GCodes, available RAM 6944 bytes (slot 1)WiFi: Conn 1: aborted 80, 57066, 172.20.2.32 Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0041f000, BFAR 0xe000ed38, SP 0xffffffff Error status: 0 Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 372.6ms MCU temperatureWiFi: Conn 2: aborted 80, 56482, 172.20.2.32 : min 39.5, current 42.9, max 45.5 Supply voltage: min 23.8, current 24.1, max 24.5, under voltage events: 0, over voltage events: 0 Driver 0: standstill, SG min/max 0/193 Driver 1: ok, SG min/max 0/1023 Driver 2: standstill, SG min/max not available DriveWiFi: Conn 3: aborted 80, 57367, 172.20.2.32 r 3: ok, SG min/max 0/1023 Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max 0/216 Driver 6: standstill, SG min/max 0/222 Driver 7: standstill, SG min/max 0/219 Driver 8: standstill, SG min/max 0/205 Driver 9: standstill, SG mWiFi: Conn 4: aborted 80, 58524, 172.20.2.32 in/max not availablWiFi: Conn 5: aborted 80, 58528, 172.20.2.32 e Expansion motor(s) stall indication: yes Date/time: 2018-03-17 18:18:45 Slowest main loop (seconds): 0.374137; fastest: 0.000050 === Move === MaxReps: 4, StepErrors: 0, LaErrors: 0, FreeDm: 222, MinFreeDm 150, MaxWait: 5190120ms, UnderWiFi: Conn 6: aborted 80, 58814, 172.20.2.32 runs: 0, 1 Scheduled moves: 833, completed moves: 826 Bed compensation in use: none Bed probe heights: -0.064 -0.078 -0.086 -0.077 0.000 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.4 Heater 1 is on, I-accum = 0WiFi: Conn 7: aborted 80, 58821, 172.20.2.32 .5 === GCodes === Segments left: 1 Stack records: 4 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 X111.412 Y110.526 E0.43514" in state(s) 0 serial is ready with "M122" in state(s) 0WiFi: aux is idle in state(s) 0 daemWiFi: xmit: 0 on 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 === Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiWiFi: recv: 0 Fi - Network state is running WiFi module is connected to access poWiFi: fw: 0 int Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.21RC5(16b1) WiFi MAC address 2c:3a:e8:0a:fb:70 WiFi Vcc 3.40, reset reason Turned on by main processor WiFi flaWiFi: drop: 0 sh size 4194304, free heap 14712 WiFi IP address 172.20.2.17 WiFi signal strength -53dBm, reconnections 0WiFi: chkerr: 0 , sleep mode modem Socket states: 0 0 0 0 0 0 0 0 === Expansion === DueX I2C errors 0 ok WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: rterr: 0 WiFi: proterr: 0 WiFi: opterr: 0 WiFi: err: 0 WiFi: cachehit: 0 WiFi: WiFi: xmit: 12 WiFi: recv: 13 WiFi: fw: 0 WiFi: drop: 2 WiFi: chkerr: 0 WiFi: lenerr: 0 WiFi: memerr: 0 WiFi: rterr: 0 WiFi: proterr: 2
-
Thanks, that's helped me to pin down a problem with error recovery. Please try the new main firmware at https://www.dropbox.com/s/iq9pzfaugyfei7x/Duet2CombinedFirmware.bin?dl=0.
-
Installed. Will report back.
-
I've done a few prints today without seeing the symptoms. Watching the console for a while showed connections on socket 0 and 1 after a few hours (even returning to 0 after being on 1 for a while) where yesterday this would climb incrementally up to 7 and then fail. Based on those two things, I'd tentatively say this seems to have resolved the issue.