Can't connect to Wifi - SPI Timeout
-
Hi all!
So my SD card slot stopped working out of nowhere and I am in the process of putting in a replacement board.
I've upgraded the firmware from 3.1.1 -> 3.3 -> 3.4.6 and in all of these instances, I cannot get my WiFi access to work as every time I try to set my network details with M587, I get errors stating SPI Timout.Here's my M587 command
>>> M587 S"Skynet" P"******" SENDING:M587 S"SKYNET" P"*******" Error: M587: Failed to add SSID to remembered list: SPI timeout [ERROR] Error: M587: Failed to add SSID to remembered list: SPI timeout
Once this happens, I did try turning the WiFi module off and back on, but got the same result.
I've tried re-installing the firmware, but still the same SPI error.
I read on an old Git issue that sometimes M587 will not work the first time, but the second time it always does, and so I tried that, but after the first failed M587, the WiFi module turns off:>>> M552 S0 SENDING:M552 S0 Error: WiFi module reported: no known networks found [ERROR] Error: WiFi module reported: no known networks found WiFi module is idle >>> M552 S1 SENDING:M552 S1 Error: WiFi module reported: no known networks found [ERROR] Error: WiFi module reported: no known networks found >>> M587 S"Skynet" P"******" SENDING:M587 S"SKYNET" P"*******" Error: M587: Failed to add SSID to remembered list: SPI timeout [ERROR] Error: M587: Failed to add SSID to remembered list: SPI timeout >>> M587 S"Skynet" P"******" SENDING:M587 S"SKYNET" P"*******" Error: M587: Failed to add SSID to remembered list: WiFi module is disabled [ERROR] Error: M587: Failed to add SSID to remembered list: WiFi module is disabled
I do see that 3.4.6 does not have a
Duet2_SDIAP32_WiFiEth.bin
, but 3.4.5 does and this is the one I used... Unsure if that's an issue?And below is the output of M122, I do see that my WiFi version is 1.02 - is that the most recent?
Output of M122
>>> M122 SENDING:M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.6 (2023-07-21 14:08:28) running on Duet WiFi 1.02 or later Board ID: 0JD0M-9P6B2-NJ4S8-6JKD4-3SJ6T-9A46J Used output buffers: 1 of 26 (3 max) === RTOS === Static ram: 23896 Dynamic ram: 75924 of which 0 recycled Never used RAM 9404, free system stack 193 words Tasks: NETWORK(ready,7.5%,336) HEAT(notifyWait,0.0%,353) Move(notifyWait,0.0%,363) MAIN(running,90.8%,456) IDLE(ready,1.7%,30), total 100.0% Owned mutexes: USB(MAIN) === Platform === Last reset 00:00:54 ago, cause: power up Last software reset details not available Error status: 0x00 [ERROR] Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 27.9, current 30.4, max 30.7 Supply voltage: min 1.4, current 1.8, max 1.8, under voltage events: 0, over voltage events: 0, power good: no Heap OK, handles allocated/used 99/26, heap memory allocated/used/recyclable 2048/374/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: 1970-01-01 00:00:00 Cache data hit count 2329443531 Slowest loop: 4.28ms; fastest: 0.13ms 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 3.1ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === 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 === 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 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 Code queue is empty === Filament sensors === Extruder 0 sensor: ok === Network === Slowest loop: 1.34ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 0 of 8 = WiFi = Interface state: active Module is idle Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23 WiFi MAC address e0:98:06:23:00:47 WiFi Vcc 3.47, reset reason Turned on by main processor WiFi flash size 4194304, free heap 27448 Clock register ffffffff Socket states: 0 0 0 0 0 0 0 0
Keen to see if I missed a step or updated the firmware in the incorrect order and if someone knows how I can get out of this SPI Timeout error?
Thanks for reading!
Tim -
@TimsWorkshop your WiFi firmware is 1.23 with the latest being 1.27. So you could do with updating that.
When sending your M587 command, send M552 S0 before hand.
-
@jay_s_uk - thanks mate. I did some backwards looking through previous releases, and found the most recent wifi version update, so I'm now on 1.27. Good shout.
I've gone back and did the following, which shows my network, but with an IP of 0.0.0.0
>>> M552 S0 SENDING:M552 S0 Error: WiFi module reported: no known networks found [ERROR] Error: WiFi module reported: no known networks found WiFi module is idle >>> M587 SENDING:M587 Remembered networks: TNCAPF2FD81 IP=192.168.1.14 GW=0.0.0.0 NM=0.0.0.0 SKYNET IP=0.0.0.0 GW=0.0.0.0 NM=0.0.0.0
So seeing this, I then decided to clear the list with
M588 S"*"
.
I thenM552 S0
and then re-added my network withM587....
but I still can't connect.Very weird behaviour
-
Not sure if worth mentioning, but I have it set as client mode.
I did try with AP mode, but same problem persisted. -
@TimsWorkshop what type of network is it? The ESPs are 2.4ghz only
-
@jay_s_uk It's a 2.4
-
Can you send these commands and report the responses?
M552 S-1 M552 S0 M552 S1 M997 S1 M588 S"*" And then your M587 command to add your SSID.
Another thing to test is to try in AP mode to see if the module is working correctly there or same issues.