Wifi Errors: SPI timeout
-
Duet Wifi h/w 1.04
RRF 2.02 (release)
Wifi Server 1.22
DWC 1.22.6In the middle of a print, I was unable to connect to DWC. I was also unable to connect via telnet (which I have enabled.) According to my wifi AP, the duet was connected to the AP. In addition, I was able to successfully ping the duet from a PC. Finally, forcing my AP to disassociate from the duet (and letting the duet reconnect) didn't resolve the issue.
On the paneldue "console" tab, I found lots of "Error retrieving WiFi status message: SPI timeout." This message was repeated 5 times every 5 seconds.
I used an old macro to reset wifi via the paneldue (M552 S-1, G4 P500, M552 S1) and wifi came back up just fine with no issues/problems or messages. M122 run after the wifi was reset (via DWC) didn't show any problems (but I've included the text below for completeness.)
For future use (in case I get this problem again), is there a set of commands I can put into a macro (that I can run from the paneldue) that will generate more useful information AND write it to a file on the duet's SD card? I have the feeling that M122 output would have been more useful before resetting wifi (but I doubt the paneldue would have displayed it.)
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.02(RTOS) running on Duet WiFi 1.02 or later Board ID: 08DGM-9T6BU-FG3SN-6JKD6-3S46P-KUYVD Used output buffers: 3 of 20 (16 max) === RTOS === Static ram: 25524 Dynamic ram: 98612 of which 0 recycled Exception stack ram used: 472 Never used ram: 6464 Tasks: NETWORK(ready,544) HEAT(blocked,1232) MAIN(running,600) IDLE(ready,200) Owned mutexes: === Platform === Last reset 04:04:26 ago, cause: software Last software reset time unknown, reason: User, spinning module GCodes, available RAM 6660 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 43.8, current 45.3, max 46.3 Supply voltage: min 23.4, current 24.2, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: ok, SG min/max 0/1023 Driver 1: ok, SG min/max 0/414 Driver 2: ok, SG min/max 0/286 Driver 3: ok, SG min/max 0/1023 Driver 4: standstill, SG min/max not available Date/time: 2019-01-19 18:19:28 Cache data hit count 4294967295 Slowest loop: 99.40ms; fastest: 0.08ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0 === Move === Hiccups: 1185, StepErrors: 0, LaErrors: 0, FreeDm: 222, MinFreeDm: 120, MaxWait: 253197ms, Underruns: 0, 0 Scheduled moves: 28388, completed moves: 28383 Bed compensation in use: none Bed probe heights: -0.012 0.009 0.001 0.016 -0.007 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.5 Heater 1 is on, I-accum = 0.6 === GCodes === Segments left: 1 Stack records: 2 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 F2400 X-19.313 Y-8.565 E1.3258" in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon 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 === Slowest loop: 202.94ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.22 WiFi MAC address xx:xx:xx:xx:xx:xx WiFi Vcc 3.41, reset reason Turned on by main processor WiFi flash size 4194304, free heap 27768 WiFi IP address 192.168.7.10 WiFi signal strength -56dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0
-
I don't recall anyone reporting that message before, neither have I seen it myself. My guess is that the WiFi module locked up.
If it happens again, then the most useful thing you could do to help me diagnose it would be to connect a PC via USB, send M111 S1 P14 from it, and see if you get any WiFi debug messages. The M122 output might also be useful.