Solved Bad Wifi Module?
-
I have a new Duet 3 Mini 5 running a Duet 3 Toolboard for a E3D Hemera XS. Even when I first connected to the board it would give me a scrolling error "Error: Wifi module reported: Failed to load credentials" I can enter a M552 S-1 from my Paneldue and it stops. Still from the Paneldue, I input M552 S0 and it replies with "Wifi Module Started" I follow that with a status check of M552 and it is in fact idle. When I enter the M552 S1 the scrolling error returns. It may be worth noting that the Wifi Module LED indicator does not light up at all during all this. I considered adding a 10 second delay in a start wifi folder but I don't think it will help in this case since I essentially done that manually several times. I will include my still new and being commissioned config as well as a M122 below.
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: K4V3J-AP6KL-K65J0-409NG-2012Z-7P0WG Used output buffers: 16 of 40 (40 max) Error in macro line 61 while starting up: invalid Z probe index === RTOS === Static ram: 103232 Dynamic ram: 120628 of which 64 recycled Never used RAM 14636, free system stack 140 words Tasks: NETWORK(2,nWait 7,9.0%,218) HEAT(3,nWait 1,0.0%,351) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,0.0%,122) MAIN(1,running,90.1%,445) IDLE(0,ready,0.0%,30) AIN(4,delaying,0.9%,266), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:17:33 ago, cause: power up Last software reset at 2024-05-19 14:44, reason: User, Gcodes spinning, available RAM 16996, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00487000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 1053240, completed 1053240, timed out 0, errs 0 MCU temperature: min 31.1, current 31.2, max 33.4 Supply voltage: min 0.5, current 0.5, max 0.5, under voltage events: 0, over voltage events: 0, power good: no Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/32/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok, SG min n/a, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 1: ok, SG min n/a, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 2: ok, SG min n/a, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 3: ok, SG min n/a, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 4: ok, SG min n/a, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 5: ok, SG min n/a, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 6: ok, SG min n/a, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-05-20 19:13:35 Cache data hit count 2048426791 Slowest loop: 99.94ms; fastest: 0.15ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 4.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 === DDARing 1 === 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 === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle 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 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 8851, received 0, lost 0, errs 4783886, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 4917/0/0 Tx timeouts 0,0,4917,0,0,3934 last cancelled message type 30 dest 127 === Network === Slowest loop: 77.95ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) 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 e8:68:e7:e1:50:dd Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 33200 WiFi IP address 192.168.1.133 Signal strength -50dBm, channel 8, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 5 0 0 0 0 0 0
; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:28 GMT-0400 (Eastern Daylight Time) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"Lulzbot Workhorse" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M552 S1 ; enable network M586 P0 S1 ; configure HTTP M586 P1 S1 ; configure FTP M586 P2 S0 ; disable Telnet ; Expansion Board G4 S2 ; Wait a moment for the CAN expansion boards to become available ; Accelerometers M955 P121.0 I24 ; configure accelerometer on board #121 ; Smart Drivers M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis) M569 P0.2 S0 D2 ; driver 0.2 goes forwards (X axis) M569 P0.3 S0 D2 ; driver 0.3 goes forwards (LEFT Z axis) M569 P0.4 S1 D2 ; driver 0.4 goes backwards (RIGHT z axis) M569 P121.0 S1 D2 ; driver 121.0 goes forwards (extruder 0) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes M584 X0.2 Y0.1 Z0.3:0.4 ; set axis mapping M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X1200 Y1200 Z800 ; set axis driver currents M92 X80 Y80 Z80 ; configure steps per mm M208 X-42:309 Y-10:320 Z0:290 ; set minimum and maximum axis limits M566 X600 Y600 Z12 ; set maximum instantaneous speed changes (mm/min) M203 X9000 Y9000 Z180 ; set maximum speeds (mm/min) M201 X500 Y500 Z20 ; set accelerations (mm/s^2) ; Extruders M584 E121.0 ; set extruder mapping M350 E16 I1 ; configure microstepping with interpolation M906 E900 ; set extruder driver currents M92 E397 ; configure steps per mm M566 E120 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ; Kinematics M669 K0 ; configure Cartesian kinematics ; Probes M558 K0 P9 C"121.io0.in" H5 F120 T6000 ; configure BLTouch probe via slot #0 G31 P500 X49.7 Y-19.3 Z0.7 ; set Z probe location, trigger value, offset and trigger height. If you have to move the nozzle closer to the bed, increase the G31 Z value by the amount of baby stepping used. If you have to move the nozzle farther away from the bed, decrease the G31 Z value by the amount of baby stepping used. M950 S0 C"121.io0.out" ; create servo #0 for BLtouch M376 H10 ; taper off bed compensation over 10mm ; Endstops M574 X1 P"io1.in" S1 ; configure X axis endstop M574 Y1 P"io2.in" S1 ; configure Y axis endstop M574 Z1 S2 ; configure Z axis endstop M574 'z2 P"io3.in" S1 ; configure z axis endstop ; Mesh Bed Compensation M557 X25:275 Y25:275 S62.5:62.5 ; define grid for mesh bed compensation ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"121.temp0" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 ; Heaters M950 H0 C"out1" T0 ; create bed heater #0 M140 P0 H0 ; configure heated bed #0 M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for bed heater #0 M307 H0 R0.321 K0.450:0.000 D1.20 E1.35 S1.00 B0 ; configure model of heater #0 M950 H1 C"121.out0" T1 ; create hotend heater #1 M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for hotend heater #1 M307 H1 R3.832 K0.446:0.329 D2.21 E1.35 S1.00 B0 V24.1 ; configure model of hotend heater #1 ; Fans M950 F0 C"121.out2" ; create fan #0 M106 P0 C"Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0 M950 F1 C"121.out1" Q250 ; create fan #1 M106 P1 C"Part Cooling Fan" S0 B0.1 L35 X250 ; configure fan #1 ; Tools M563 P0 S"Tool 0" D0 H1 F1 ; create tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C ; Miscellaneous
As I'm going through the steps writing this post, connected through YAT I input my M587 parameters again. Then I entered the M552 S1 and the wifi light comes on and am able to pull up the DWC. Issue is, that I've been through this before. It'll work for a bit then it doesn't for two days. Always seems like it'll work for a bit after I reenter my M587 parameters. I shouldnt have to do that every time I want to connect. Please tell me this is a known issue with an easy fix. TYIA!
Update: Lost connection and I cant get it back no matter what I try now. Geesh!
-
@SonnyD1 Not a 'known issue' but could be caused by a physical problem with the WiFi module, or possibly a bad firmware flash. Check the WiFi antenna is plugged in firmly at the Duet end, and the cable is screwed into the antenna firmly.
If that doesn't help, can you try reflashing the WiFi firmware?
Check that you have the "DuetWiFiServer.bin" file from https://github.com/Duet3D/RepRapFirmware/releases/tag/3.5.1 in the /firmware folder of the SD card. It may be a good idea to download it again and refresh the version on the SD card. Then connect via USB, or via PanelDue, and send
M997 S1
. This should flash the firmware to the module. Test and see if there is any improvement.Ian
-
@droftarts
Ian,
It's been a busy week for me but I finally went through your steps. Its still giving me the same error. I unplugged the wifi antenna and plugged it back in for good measure. I then pulled the SD card, removed the "DuetWiFiServer.bin" file and replaced it with a fresh download from the link provided. It installed perfectly with the M997 S1 command. Then I input new M587 parameters. Everything went well without any issues. Lastly, I turned off the machine and turned it back on and amazingly, it connected. As soon as I made changes to the config and reset...it went back to its old erroneous ways. It doesn't error out every single time. Just most of the time. Essentually, its not working as intended. I'd really hoped this would fix it as I don't want to swap the board. Is there anything else we can try or is it becoming more likely that I have a bad wifi module?I bought the MB from Filastruder on March 12, 2024; ORDER #101146.
Sonny
-
@SonnyD1 Can you send
M587
on it's own? This will list the remembered networks. It's possible you have multiple entries for the same WiFi access point, and it's messing up the connection. Deleting all of them withM588 S"*"
, then adding your WiFi parameters with M587 again, may help.I've asked @rechrtb, who writes the WiFi firmware, to have a look as well, as this is an error I haven't seen before. It could be a hardware error, but I'd like his opinion first.
Ian
-
Ian,
So the M587 did indicate that I had two. Apparently, its case sensitive. I had one in all caps and one not in caps of the same network. I can see how that could be confusing to a computer. I cleared them both out with the M588 and confirmed with a M587. Then I input new M587 parameters. I think that may have been the issue. I just went through about 10 off/on cycles and it connected quickly every time. I couldn't see that before because I was working with the paneldue. The DWC shows everything much better. I will conduct some additional testing to confirm, but I think that's got it. I'll let you know.
Sonny
-
@SonnyD1 Hi. I know you mentioned that it's ok now, but I want to do some light digging into this. Just to confirm, you are connecting to an enterprise network, right? And also, regarding the duplicate SSID but different capitalization, they both had the same secret (username/password, certificate,)?
-
-
@rechrtb Yes same UN and PW. They were both the same network. One I entered in all caps, the second was lowercase. The M587 command showed them both. When it attempted to connect, that apparently caused a conflict. Once I cleared them both out and entered in one single M587 parameter, the issue went away and it connects perfectly now.
-
-