Having an issue with the DWC disconnecting and not coming back on RRF 3.5.2
I've been at this for the last couple days gathering information so please bear with me and all the data. Here is my journey and thought process as it was happening (there are multiple posts due to how long the message is)
Setup:
- Duet WiFi 1.02 (older board)
- Bought new back in 2016(ish) and genuine
- This ran flawlessly on RFF 3.1.x and even 3.3 (for the short time)
- FTP is off
- Telnet is off
"Day 1"
Started on RRF 3.1.x with WIFI server 1.2x
Decided to brave the upgrade to the latest
Read the docs and it mentioned to update to RFF3.3 using the supplied link: (link)
Upgrade went okay....
with the exception that the WIFI server side did not update
All .bin files were in /sys as expected
Had to go to USB to execute M997 S1... error
Error mentioned that is was expecting the duetwifiserver.bin file to be in /firmware (which i found odd)
Moved the file to /firmware and re-executed M997 S1... success
Rebooted... we're good and stable
Uploaded the latest RFF 3.5.2
Rebooted
Logged into the DWC, started looking around.... lost connection to the DWC
Tried to ping, nothing.
Kept ping going
Rebooted
Starting pinging but noticed that ping times were erratic and high (AP is next to printer)
64 bytes from xxx.xxx.xxx.254: icmp_seq=14829 ttl=255 time=51.159 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14830 ttl=255 time=70.098 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14831 ttl=255 time=94.846 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14832 ttl=255 time=115.751 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14833 ttl=255 time=34.175 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14834 ttl=255 time=54.924 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14835 ttl=255 time=74.399 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14836 ttl=255 time=99.713 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14837 ttl=255 time=117.319 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14838 ttl=255 time=36.338 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14839 ttl=255 time=59.409 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14840 ttl=255 time=81.360 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14841 ttl=255 time=105.182 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14842 ttl=255 time=25.483 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14843 ttl=255 time=42.118 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14844 ttl=255 time=65.051 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14845 ttl=255 time=85.469 ms
64 bytes from xxx.xxx.xxx.254: icmp_seq=14846 ttl=255 time=105.408 ms
Connected back to DWC
Shortly after, disconnects again
Pings drop
Connect USB... just seeing if things are responding
Can issue commands and it's responding
Now i'm lost at this point so I come to the forums to see what I can do and found others getting information for the gurus
So here's some output and some comments in between
Armed with some commands, wanted to start with a fresh reboot
So I rebooted and immediately issued a M122
Connecting...
Printer is now online.
>>> M122
SENDING:M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.2 (2024-06-11 17:13:43) running on Duet WiFi 1.02 or later
Board ID: 08DAM-9K9K2-NGNSN-6J9DJ-3S86S-17T3J
Used output buffers: 1 of 26 (14 max)
=== RTOS ===
Static ram: 23384
Dynamic ram: 73040 of which 0 recycled
Never used RAM 16720, free system stack 188 words
Tasks: NETWORK(1,ready,13.8%,222) HEAT(3,nWait 5,0.0%,330) Move(4,nWait 5,0.0%,359) MAIN(1,running,85.1%,764) IDLE(0,ready,1.1%,29), total 100.0%
Owned mutexes: USB(MAIN)
=== Platform ===
Last reset 00:01:35 ago, cause: power up
Last software reset details not available
Error status: 0x00
Error status: 0x00
MCU temperature: min 19.3, current 24.5, max 37.3
Supply voltage: min 0.4, current 1.4, max 1.4, under voltage events: 0, over voltage events: 0, power good: no
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: ok, SG min n/a
Driver 1: ok, SG min n/a
Driver 2: ok, SG min n/a
Driver 3: ok, SG min n/a
Driver 4: ok, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2024-07-08 20:26:20
Cache data hit count 4108839345
Slowest loop: 11.01ms; fastest: 0.14ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 1.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is ready with "M122" in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Q0 segments left 0
Code queue 0 is empty
=== Network ===
Slowest loop: 11.14ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 0, noresp 0
Firmware version 2.1.0
MAC address a0:20:a6:19:27:48
Module reset reason: Turned on by main processor, Vcc 3.25, flash size 4194304, free heap 42936
WiFi IP address xxx.xxx.xxx.254
Signal strength -34dBm, channel 6, mode 802.11n, reconnections 0
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
Log into the DWC, and a couple minutes later, it started to act up
Lost pings as well to the Duet
Next issue of the M122:
- Everything looks normal except Wifi section
- Noticed "notrdy" is > 0
- Also noticed socket state, went from all "0" to have "6 6 0 0 0 0 0 0"
>>> M122
SENDING:M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.2 (2024-06-11 17:13:43) running on Duet WiFi 1.02 or later
Board ID: 08DAM-9K9K2-NGNSN-6J9DJ-3S86S-17T3J
Used output buffers: 1 of 26 (14 max)
=== RTOS ===
Static ram: 23384
Dynamic ram: 73040 of which 0 recycled
Never used RAM 16720, free system stack 186 words
Tasks: NETWORK(1,ready,18.4%,222) HEAT(3,nWait 5,0.0%,328) Move(4,nWait 5,0.0%,359) MAIN(1,running,81.6%,764) IDLE(0,ready,0.0%,29), total 100.0%
Owned mutexes: USB(MAIN)
=== Platform ===
Last reset 00:09:35 ago, cause: power up
Last software reset details not available
Error status: 0x00
Error status: 0x00
MCU temperature: min 24.4, current 26.8, max 28.3
Supply voltage: min 1.3, current 1.3, max 1.4, under voltage events: 0, over voltage events: 0, power good: no
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: ok, SG min n/a
Driver 1: ok, SG min n/a
Driver 2: ok, SG min n/a
Driver 3: ok, SG min n/a
Driver 4: ok, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2024-07-08 20:34:20
Cache data hit count 4294967295
Slowest loop: 750.14ms; fastest: 0.14ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 101.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is ready with "M122" in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Q0 segments left 0
Code queue 0 is empty
=== Network ===
Slowest loop: 201.82ms; fastest: 0.07ms
Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 0 of 8
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 176, noresp 1
Failed to get WiFi status
Socket states: 6 6 0 0 0 0 0 0
Waiting a little bit longer, issued M122 again
- Noticed that NETWORK is 99%, consuming all CPU (i'm guessing)
- Noticed "notrdy" in the WIFI section is increasing
- Socket state still "6 6 0 0 0 0 0 0"
>>> M122
SENDING:M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.2 (2024-06-11 17:13:43) running on Duet WiFi 1.02 or later
Board ID: 08DAM-9K9K2-NGNSN-6J9DJ-3S86S-17T3J
Used output buffers: 1 of 26 (14 max)
=== RTOS ===
Static ram: 23384
Dynamic ram: 73040 of which 0 recycled
Never used RAM 16720, free system stack 186 words
Tasks: NETWORK(1,ready,99.6%,222) HEAT(3,nWait 5,0.0%,328) Move(4,nWait 5,0.0%,359) MAIN(1,running,0.4%,764) IDLE(0,ready,0.0%,29), total 100.0%
Owned mutexes: WiFi(NETWORK) USB(MAIN)
=== Platform ===
Last reset 00:10:37 ago, cause: power up
Last software reset details not available
Error status: 0x00
Error status: 0x00
MCU temperature: min 26.3, current 26.7, max 27.3
Supply voltage: min 1.3, current 1.3, max 1.4, under voltage events: 0, over voltage events: 0, power good: no
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: ok, SG min n/a
Driver 1: ok, SG min n/a
Driver 2: ok, SG min n/a
Driver 3: ok, SG min n/a
Driver 4: ok, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2024-07-08 20:35:22
Cache data hit count 4294967295
Slowest loop: 750.13ms; fastest: 0.14ms
I2C nak errors 0, send timeouts 0, receive timeout
s 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 101.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is ready with "M122" in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Q0 segments left 0
Code queue 0 is empty
=== Network ===
Slowest loop: 182.91ms; fastest: 100.54ms
Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 0 of 8
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 790, noresp 1
Failed to get WiFi status
Socket states: 6 6 0 0 0 0 0 0
At this point, i'm just refreshing M122
- Network stays high at 99%
- "notrdy" continues to increase
- Socket states are the same
Still looking around on the forums for other similarities (found a few and started reading)
However, decided to issue a few more commands for sanity
>>> M587
SENDING:M587
Failed to retrieve network list: another SPI transfer is pending
>>> M552
SENDING:M552
WiFi module is connected to access point esperville, IP address xxx.xxx.xxx.254
Found some debug commands and decided, why not?
>>> M111 P14 S1
SENDING:M111 P14 S1
ResponseBusy
Debugging enabled for modules: WiFi(14 - 0xffffffff)
Debugging disabled for modules: Platform(0) Network(1) Webserver(2) Gcodes(3) Move(4) Heat(5) Kinematics(6) InputShaping(7) unused(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamenResponseBusy
tSensors(13) Display(15) SbcInterface(16) CAN(17) Expansion(18)
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
ResponseBusy
WiFi: /home/duet3d/WiFiSocketServerRTOS/src/Connection.cpp(572): refused conn on port 80 already 4 conns
ResponseBusy
ResponseBusy
ResponseBusy
>>> M111 P14 S0
At this point "ResponseBusy" is just constant with "refused conn on port 80 already 4 conns" thrown in there
All of a sudden, the duet starts pinging again
All debugging is off at this point and this message starts coming up
Error: failed to retrieve WiFi status message: SPI timeout
Error: failed to retrieve WiFi status message: SPI timeout
Error: failed to retrieve WiFi status message: SPI timeout
Error: failed to retrieve WiFi status message: SPI timeout
Issue the M122 command again and find some interesting changes
- Network went to a nominal 7% but changed from "ready" to "nWait"
- "notrdy" no longer increases
- "noresp" starts to increase
- Socket states are the same
>>> M122
SENDING:M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.2 (2024-06-11 17:13:43) running on Duet WiFi 1.02 or later
Board ID: 08DAM-9K9K2-NGNSN-6J9DJ-3S86S-17T3J
Used output buffers: 1 of 26 (14 max)
=== RTOS ===
Static ram: 23384
Dynamic ram: 73040 of which 0 recycled
Never used RAM 16720, free system stack 186 words
Tasks: NETWORK(1,nWait 6,95.2%,222) HEAT(3,nWait 5,0.0%,328) Move(4,nWait 5,0.0%,359) MAIN(1,running,4.7%,526) IDLE(0,ready,0.0%,29), total 100.0%
Owned mutexes: WiFi(NETWORK) USB(MAIN)
=== Platform ===
Last reset 01:08:51 ago, cause: power up
Last software reset details not available
Error status: 0x00
Error status: 0x00
MCU temperature: min 27.4, current 28.5, max 29.0
Supply voltage: min 1.3, current 1.3, max 1.4, under voltage events: 0, over voltage events: 0, power good: no
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: ok, SG min n/a
Driver 1: ok, SG min n/a
Driver 2: ok, SG min n/a
Driver 3: ok, SG min n/a
Driver 4: ok, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2024-07-08 21:33:35
Cache data hit count 4294967295
Slowest loop: 756.03ms; fastest: 0.14ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 101.9ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is ready with "M122" in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Q0 segments left 0
Code queue 0 is empty
=== Network ===
Slowest loop: 147.96ms; fastest: 99.65ms
Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 0 of 8
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 34996, noresp 386
Failed to get WiFi status
Socket states: 6 6 0 0 0 0 0 0
Error: failed to retrieve WiFi status message: SPI timeout