Duet 3 Mini 5+ wifi works with USB, not through PSU
-
Hi fellow 3D-printers,
I recently adopted a printer with a duet board installed, I followed the steps to configure the wifi, gave it a static IP, updated the configuration so it would always connect to the static IP and it worked. Untill I disconnected my USB cable, powered on the 3D printer waited for a bit while refreshing the page... Nothing.
Shut it off, turned it on again... Nothing.
Shut it off, connected the USB cable again, it worked automatically as it was supposed to.
Did the whole thing again. No difference. So I came here. Do you guys (or girls) have ideas to fix this?
Below are my config.g file and the results in YAT for M122:
; Configuration file for Duet 3 Mini 5+ (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Dec 01 2021 11:48:08 GMT+0100 (Midden-Europese standaardtijd) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"SapphireS" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.3 S0 ; physical drive 0.3 goes backwards M569 P0.2 S0 ; physical drive 0.2 goes backwards M569 P0.0 S0 ; physical drive 0.0 goes backwards M569 P0.1 S0 ; physical drive 0.1 goes backwards M584 X0.3 Y0.2 Z0.0 E0.1 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E2000.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z600.00 E6000.00 ; set maximum speeds (mm/min) ;M201 X500.00 Y500.00 Z200.00 E3000.00 ; set accelerations (mm/s^2) M201 X3000.00 Y3000.00 Z200.00 E9000.00 ; set accelerations (mm/s^2) M906 X1500 Y1500 Z1500 E1200 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X204 Y210 Z228 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !io2.in M574 Y2 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !io1.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M558 P5 R0.4 C"io3.in" H5 F1200 T6000 ; set Z probe type to effector and the dive height + speeds G31 P500 X0 Y-24 Z0.59 ; set Z probe trigger value, offset and trigger height, C' (temperature coefficient of Z parameter in mm/°C, default zero ; Z0.49 is default z-offset is de hoogte van de probe ten opzichte van het bed M557 X4:200 Y0:175 S25 ; define mesh grid G29 S1 ; load mesh bed leveling ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H0 B0 R0.364 C295.6 D3.88 S1.00 V24.0 ; set PID Bed ; Fans M950 F0 C"out5" Q500 ; create fan 0 (Part Cooling) on pin out5 and set its frequency M106 P0 C"Part cooling Fan" S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out6" Q500 ; create fan 1 (Hotend) on pin out6 and set its frequency M106 P1 C"Hotend Fan" S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Lerdge Power Module M950 P0 C"io0.out" ; create output to io0 for power module (0=on / 1 = shutdown) ; Tools M563 S"Hotend" P0 D0 H1 F0 ; define tool 0 as hotend G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.2.2 running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: ZWBG6-5196U-D65J0-40KMS-JY03Z-RTZ63 Used output buffers: 1 of 40 (15 max) === RTOS === Static ram: 98732 Dynamic ram: 107800 of which 36 recycled Never used RAM 38648, free system stack 140 words Tasks: NETWORK(ready,358) HEAT(blocked,315) CanReceiv(blocked,947) CanSender(blocked,372) CanClock(blocked,362) TMC(blocked,123) MAIN(running,390) IDLE(ready,20) AIN(blocked,269) Owned mutexes: USB(MAIN) === Platform === Last reset 00:05:35 ago, cause: software Last software reset time unknown, reason: User, GCodes spinning, available RAM 38648, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 Supply voltage: min 1.3, current 1.3, max 1.3, under voltage events: 0, over voltage events: 0, power good: no Driver 0: position 0, ok, SG min/max not available, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 Driver 1: position 0, ok, SG min/max not available, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 Driver 2: position 0, ok, SG min/max not available, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 Driver 3: position 0, ok, SG min/max not available, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 Driver 4: position 0, ok, SG min/max not available, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 Driver 5: position 0, ok, SG min/max not available, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 Driver 6: position 0, ok, SG min/max not available, read errors 0, write errors 0, ifcnt 0, reads 0, writes 0, timeouts 0, DMA errors 0 Date/time: 1970-01-01 00:00:00 Cache data hit count 708958195 Slowest loop: 5.78ms; fastest: 0.12ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.3ms, 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 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 Code queue is empty. === Network === Slowest loop: 200.97ms; fastest: 0.06ms 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 active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 2 WiFi firmware version 1.26 WiFi MAC address 4D:A8:C8:4B WiFi Vcc 3.39, reset reason Power up WiFi flash size 2097152, free heap 25728 WiFi IP address 192.168.1.1 WiFi signal strength -67dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages queued 506, send timeouts 506, received 0, lost 0, longest wait 0ms for reply type 0, free buffers 16 ok
-
Can you take a photo of the LED lit on the board when powered only by the PSU?
-
@fakeerror Hope it is something simple. Maybe your jumpers are setup to turn off the internal 5v regulator.
Per the documentation.
5V input can come from one of these sources:
Onboard 5V regulator: Once 3.3V and other onboard demands are met approximately 700mA remains for use on the 5V_EXT rail.
USB: Can supply both 5V_INT and 5V_EXT. limits based on USB specification.
5V_EXT_INPUT: With the 5V_SELECT jumper set to this position, 5V is passed through to both 5V_EXT and 5V_INT from the EXT_5V header. When using EXT_5V, add jumper to Int_5V_Disable, to disable the onboard 5V regulator. The EXT_5V header also has a pin for controlling an external power supply (note signal shared with io4.out). This allows for the board to be powered from 5V, with an external supply for VIN turned on and off as required.
5V_SBC: In some, limited, cases it may be desirable to power the board from the 5V output of a SBC connected to the SBC header. Note that the total power of the Duet+ peripherals must be factored into the SBC power budget. Also note that powering the SBC from the duet is not supported. -
@jay_s_uk no problem, here are the LED states on the board. The first image is when powered over USB. The second image (with the blue LED) is when powered over PSU. I want to not that in both images the red LED on the right is flickering on and off with a 1 second interval. The one with the USB is off in the picture.
-
@fakeerror it looks like it's getting power ok.
Can you plug in both USB and power and see if anything is reported over serial?
-
@jay_s_uk, yes. I didn't realize it before, but yes I can.
When I first turn on the printer through the PSU, and then connect to the board via USB to try to read anything, it connects to the com port properly.
From here I tried several things:
After doing "M552" it says the "WiFi module is connected to access point , IP address 255.255.255.255"
I tried "M999" to get it to restart, which it did. It reported a bunch (about 100 times) of "WiFi module is idle" and "WiFi reported error: network scan failed", finishing with a single line of "WiFi module is connected to access point , IP address 255.255.255.255".
"M587" returns the right network and the right IP address (I gave it a static IP).
"M552 S0" to turn the wifi module off and "M552 S1" to turn it on, returned a whole string of the "wifi module is idle" and "wifi reported error: network scan failed" messages. Resulting in the final lines:
"Error retrieving WiFi status message: SPI timeout"
"WiFi module is idle"
"Failed to change WiFi mode: SPI timeout"Repeating "M552 S0" and "M552 S1" gave the same string of "wifi module is idle" and "wifi reported error: network scan failed" messages. Resulting in the final line: "WiFi module is connected to access point , IP address 255.255.255.255".
At this point it seems like I cannot get the board to connect to the wifi, even when manually giving inputs through YAT.
-
@fakeerror try reflashing the firmware to the WiFi module using
M997 S1
-
@jay_s_uk tried it, now it reliably goes to 255.255.255.255 the first time.
"M552 S0", "M552 S1", and it goes to "192.168.1.1".Both when just with the PSU and with connecting USB.
I want to note that YAT does still receive the "WiFi module is idle" and "WiFi reported error: network scan failed"
-
@fakeerror what firmware versions are you running? an output of M122 when the wifi module is enabled with confirm
-
@jay_s_uk here is the output for "M122":
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.2.2 running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: ZWBG6-5196U-D65J0-40KMS-JY03Z-RTZ63 Used output buffers: 1 of 40 (11 max) === RTOS === Static ram: 98732 Dynamic ram: 107800 of which 36 recycled Never used RAM 38648, free system stack 142 words Tasks: NETWORK(ready,207) HEAT(blocked,315) CanReceiv(blocked,947) CanSender(blocked,372) CanClock(blocked,362) TMC(blocked,106) MAIN(running,426) IDLE(ready,20) AIN(blocked,269) Owned mutexes: USB(MAIN) === Platform === Last reset 00:01:55 ago, cause: software Last software reset time unknown, reason: User, GCodes spinning, available RAM 38648, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 Supply voltage: min 0.0, current 23.8, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: position 0, standstill, SG min/max 0/0, read errors 1, write errors 1, ifcnt 19, reads 9627, writes 9, timeouts 0, DMA errors 0 Driver 1: position 0, assumed not present Driver 2: position 0, standstill, SG min/max 0/0, read errors 1, write errors 1, ifcnt 19, reads 9627, writes 9, timeouts 0, DMA errors 0 Driver 3: position 0, assumed not present Driver 4: position 0, assumed not present Driver 5: position 0, assumed not present Driver 6: position 0, assumed not present Date/time: 2023-11-18 23:09:50 Cache data hit count 238218993 Slowest loop: 8.55ms; fastest: 0.12ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.3ms, 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 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 Code queue is empty. === Network === Slowest loop: 10.00ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address WiFi Vcc 3.39, reset reason Power up WiFi flash size 2097152, free heap 25648 WiFi IP address WiFi signal strength -63dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages queued 1041, send timeouts 1039, received 0, lost 0, longest wait 0ms for reply type 0, free buffers 16 ok
-
@fakeerror i would be updating to 3.4.6 and wifi firmware 1.27
-
@jay_s_uk I'll try, thanks for your help! Let me go through the manual quickly, I'll report when finished.
-
@jay_s_uk done. The problem remains. First the board will try on its own and eventually connect to 255.255.255.255. Then I start the wifi module again and it works.
Here's the new "M122" output:
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.4.6 (2023-07-21 14:09:13) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: ZWBG6-5196U-D65J0-40KMS-JY03Z-RTZ63 Used output buffers: 1 of 40 (13 max) === RTOS === Static ram: 103712 Dynamic ram: 110332 of which 12 recycled Never used RAM 27656, free system stack 160 words Tasks: NETWORK(ready,12.5%,242) HEAT(notifyWait,0.0%,358) Move(notifyWait,0.0%,363) CanReceiv(notifyWait,0.0%,941) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,342) TMC(notifyWait,0.0%,124) MAIN(running,86.5%,411) IDLE(ready,0.2%,30) AIN(delaying,0.8%,272), total 100.0% Owned mutexes: USB(MAIN) === Platform === Last reset 00:02:38 ago, cause: software Last software reset at 2023-11-18 23:47, reason: User, GCodes spinning, available RAM 27656, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU revision 3, ADC conversions started 158544, completed 158544, timed out 0, errs 0 Step timer max interval 1488 MCU temperature: min 22.0, current 22.7, max 22.9 Supply voltage: min 1.1, 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, 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: 2023-11-18 23:50:29 Cache data hit count 310171962 Slowest loop: 99.43ms; fastest: 0.12ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.2ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: mesh, 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 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 1425, received 0, lost 0, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 18 (min 18), ts 793/0/0 Tx timeouts 0,0,792,0,0,631 last cancelled message type 30 dest 127 === Network === Slowest loop: 99.89ms; fastest: 0.00ms Responder states: 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, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address WiFi Vcc 3.39, reset reason Power up WiFi flash size 2097152, free heap 25808 WiFi IP address 255.255.255.255 WiFi signal strength -66dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0 ok
-
Thought i should weigh in with some of my own experiences here with my Mini 5+ WiFi.
I recently went from a "allways on" 24V powering the Duet, to a 5V "allways on" and relays to turn on/off the 24V rail to the Duet.
And when i did that i noticed that the WiFi module wouldn't start/boot/enable when the board was powered by 5V alone and thought that was the expected behaviour, even though it does seem somewhat strange.
I didn't have time to fiddle with that so i ended up deploying
M80
at the very start ofconfig,g
and running the board with 24V "allways on" anyways.
All this is with the newest beta firmware in standalone mode by the way (2.1beta4 for the WiFi server and RRF 3.5.0rc1+ at the time of writing).
-
@Exerqtor no, it’s not expected behaviour for the WiFi not to work on 5V only. Does it work on USB power? How are the 5V_Select and Disable_5V_Internal jumpers set?
Ian
-
@droftarts Well then it smells like it's a FW or HW oversight somewhere
😅
When powered by USB it works just fine.
On my machine the jumpers are set like this:
5V_Select = 5V_EXT_IN
5V_Disable = Jumped
I just took a picture even:
-
@Exerqtor I can’t see why disabling the internal 5V would disable the WiFi, but maybe @dc42 could answer that one.
Is the OP @fakeerror using external 5V? I can’t see them say that anywhere. Though I see an entry for ‘Lerdge power module’ in config.g
Ian
-
@droftarts said in Duet 3 Mini 5+ wifi works with USB, not through PSU:
@Exerqtor I can’t see why disabling the internal 5V would disable the WiFi, but maybe @dc42 could answer that one.
I have no idea, but from my understanding of the docs we are meant to disable the internal 5V when running external 5V aren't we?
🤔
Is the OP @fakeerror using external 5V? I can’t see them say that anywhere. Though I see an entry for ‘Lerdge power module’ in config.g
Ian
I haven't seen any mentioning of it either, but i assumed they were powering it by external 5V based on the voltage readings on from the
M122
's they posted while the board was "powered by PSU".
Want to weigh in on this one @dc42?
😇
-
Dear fellow nerds, geeks and dorks,
After having a number of private matters interrupt my 3D-printing activities, I managed to make some time for myself and work on the printer. Taking the advise from @jay_s_uk, the last thing I did was update the firmware of the board. The next thing I did, which ended up solving the issue, was updating the firmware of my routers. I made sure the static IP address was set again and now everything works like a charm.
I want to thank everyone in this thread profusely for giving their insights. I will be back to printing figures and gifts, peace!
-
-