I'm having this same problem.
I can save and forget networks as long as the wifi module has been set to active with m552 S0, but not with S-1 or S1 modifiers. When I try to check the status of the wifi module with M552 by itself, I consistently get "wifi module is changing modes" until there's an SPI timeout message like the one at the bottom of the excerpt below.
I've successfully reinstalled wifiserver.bin twice (i'm doing this over USB with pronterface and a 24vPSU for the board), but this has yielded no changes in anything. If I just let it sit, it'll eventually give me a bunch of these in a row:
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
WiFi reported error: network scan failed
WiFi module is idle
Error retrieving WiFi status message: SPI timeout
Error retrieving WiFi status message: SPI timeout
WiFi module is idle
Failed to change WiFi mode: SPI timeout
Once the SPI timeout message(s) come, m552 reports that the wifi module is disabled.
I know it's not a poor signal issue, as I've tried within a foot or two of the router.
Here's my m122 if it helps:
>>> M122
SENDING:M122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.3 (2021-06-15 21:46:11) running on Duet 3 Mini5plus WiFi (standalone mode)
Board ID: ZJ21Z-NV9RL-D65J0-40KMN-L3X2Z-HFGNV
Used output buffers: 1 of 40 (40 max)
=== RTOS ===
Static ram: 102724
Dynamic ram: 106504 of which 0 recycled
Never used RAM 34476, free system stack 157 words
Tasks: NETWORK(ready,7.6%,328) HEAT(notifyWait,0.0%,364) Move(notifyWait,0.1%,362) CanReceiv(notifyWait,0.0%,941) CanSender(notifyWait,0.0%,371) CanClock(delaying,0.0%,340) TMC(notifyWait,1.1%,115) MAIN(running,90.4%,426) IDLE(ready,0.0%,29) AIN(delaying,0.8%,264), total 100.0%
Owned mutexes: USB(MAIN)
=== Platform ===
Last reset 00:14:30 ago, cause: software
Last software reset at 2022-01-09 18:47, reason: StuckInSpinLoop, Display spinning, available RAM 41956, slot 1
Software reset code 0x408f HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0043380f BFAR 0xe000ed38 SP 0x20002a4c Task IDLE Freestk 43 ok
Stack: 00087e75 000888a8 61000000 a5a5a5a5 00087e75 a5a5a5a5 a5a5a5a5 2000390c 0001676d 20019104 2002ec9c 20002a68 200190fc 00000004 2001e0dc 2001e0dc 20002a68 2001e0d4 00000001 20002ac4 4e49414d 00000000 00000000 00000001 00000001 17c2fb96 00000000
Error status: 0x04
Error status: 0x04
Aux0 errors 0,0,1
MCU revision 3, ADC conversions started 870849, completed 870849, timed out 0, errs 0
Step timer max interval 597
MCU temperature: min 26.1, current 33.1, max 33.3
Supply voltage: min 23.9, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Driver 0: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 19, reads 13591, writes 9, timeouts 0, DMA errors 0
Driver 1: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 19, reads 13591, writes 9, timeouts 0, DMA errors 0
Driver 2: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 19, reads 13591, writes 9, timeouts 0, DMA errors 0
Driver 3: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 19, reads 13591, writes 9, timeouts 0, DMA errors 0
Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 19, reads 13591, writes 9, timeouts 0, DMA errors 0
Driver 5: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 19, reads 13591, writes 9, timeouts 0, DMA errors 0
Driver 6: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 19, reads 13591, writes 9, timeouts 0, DMA errors 0
Date/time: 1970-01-01 00:00:00
Cache data hit count 1789008195
Slowest loop: 99.69ms; fastest: 0.12ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 22.5MBytes/sec
SD card longest read time 0.5ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1, chamberHeaters = -1 -1
=== GCodes ===
Segments left: 0
Movement lock 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 assembling a command 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
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== CAN ===
Messages queued 7836, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 17 (min 17), ts 4354/0/0
Tx timeouts 0,0,4353,0,0,3481 last cancelled message type 4514 dest 127
=== Network ===
Slowest loop: 200.13ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 0 of 8
- WiFi -
Network state is disabled
WiFi module is disabled
Failed messages: pending 0, notready 0, noresp 2
Socket states: 0 0 0 0 0 0 0 0