no external plugins work in 3.5.4
-
I either get blocked from installing by version discrepancy, e.g. 3.5.2 vs 3.5.4 or it loads and disappears into the void with zero feedback. Not a single plugin works. Everything else in DWC appears to work including internal plugins. What am I doing wrong?
-
Can you share some additional information?
What Duet board?
Have you tried clearing your browser cache?
Do all your versions match in the DWC firmware version display?
Can you share the results of sending M122 and M98 P"config.g" in the gcode console? -
This is a mini 5+ board with SBC. I'm on 3.5.4 for all.
M98 P"config.g" produced no output
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.5.4 (2024-11-24 10:44:24) running on Duet 3 Mini5plus WiFi (SBC mode)
Board ID: RNXYU-8296U-D65J0-40KMW-2503Z-ZP7HW
Used output buffers: 1 of 40 (17 max)
=== RTOS ===
Static ram: 103496
Dynamic ram: 116664 of which 0 recycled
Never used RAM 21588, free system stack 208 words
Tasks: SBC(2,rWait:,1.3%,801) HEAT(3,nWait 1,0.1%,323) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.0%,939) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,1.5%,110) MAIN(2,running,92.4%,757) IDLE(0,ready,4.0%,29) AIN(4,delaying,0.8%,264), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:02:05 ago, cause: power up
Last software reset at 2025-02-02 15:07, reason: User, Platform spinning, available RAM 21564, slot 0
Software reset code 0x6000 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU revision 3, ADC conversions started 94373, completed 94373, timed out 0, errs 0
MCU temperature: min 19.9, current 20.3, max 28.6
Supply voltage: min 1.0, current 24.0, 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
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 12, reads 11358, writes 12, timeouts 0, DMA errors 0, CC errors 0
Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 11356, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 11356, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 11356, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 11360, writes 10, timeouts 0, DMA errors 0, CC errors 0
Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 11356, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 11356, writes 13, timeouts 0, DMA errors 0, CC errors 0
Date/time: 2025-02-03 09:58:17
Cache data hit count 272063535
Slowest loop: 5.59ms; fastest: 0.13ms
=== Storage ===
Free file entries: 20
SD card 0 not detected, interface speed: 0.0MBytes/sec
SD card longest read time 0.0ms, 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 3 -1 -1 -1, ordering errs 0
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by null, null
HTTP* is doing "M122" 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 0x0000803
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== CAN ===
Messages queued 995, received 0, lost 0, errs 593551, boc 0
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 629/0/0
Tx timeouts 0,0,628,0,0,365 last cancelled message type 30 dest 127
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 4026/4026
SPI underruns 0, overruns 0
State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x0cd20
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.5.4 (2024-11-25 17:32:26, 64-bit)
HTTP+Executed:Executing M122
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
Full transfers per second: 0.09, max time between full transfers: 57.9ms, max pin wait times: 45.3ms/4.2ms
Codes per second: 0.00
Maximum length of RX/TX data transfers: 4440/932 -
this was a headless configuration. I set up a new SD card with the full install for an attached display. This one let me install the plug-in even though it is labeled 3.5.1 and I'm on 3.5.4. So maybe something is missing from the headless bundle.
-
@jltx one for @chrishamm
-
@jltx It looks like you encountered a limitation of the new Raspberry Pi setup procedure. If you don't set explicit credentials in the light image on first boot or before in the RPi Imager settings, the OS doesn't boot to the last stage. Because of that, the required services for the plugins don't start.
If you take a light image, I suggest you use the Raspberry Pi Imager and specify a user+password in the customization settings before you write the image to a microSD card. That way, you don't need to set up a custom username/password using a USB keyboard/screen when the SBC starts for the first time.
@droftarts please add this to the docs, too.
-
@chrishamm I attempted to do that on the lite version. I used the RPI imager and entered all the credentials. Something did not go right because the first boot hung. I pulled the SD card and, thinking it never connected to network because I could not reach it via ssh, I added the wpa_supplicant file. It worked on the next boot. I read that wpa file doesn't work on bookworm so not sure what changed for the next boot. One thing that did work is it copied the backup *.g files over from the boot partition and the printer started up. See next.
My full install also has issues. It booted to the Duet splash screen for a while doing things and eventually dumped me into some linux desktop environment. The printer never started nor DWC. Investigating I found that none of the *.g files were copied over from the boot partition. So I sftp'd them over and got the printer going. I have to start the DWC manually on every boot, it never starts on its own. Also, I cannot access some of the *.g files through DWC because it says I don't have permission. I used -P to preserve attributes but something went awry. Not sure what the proper chown or chmod to use to fix it.
I can install some plug-ins in this new setup but not all. For example the btn_mgr and release_manager fail prerequisite check, but say I need the version I have. Input shaping says the manifest is bad. So still stuck at an incomplete state.
BTW, in both cases, the lite and full, the img I downloaded from the document page is inconsistent in that it installs a mix of 3.5.4 and 3.5.3 sw. I have to immediately apt update/upgrade to get things aligned.
-
Ok I did the following which unblocks me for macros. Let me know if it is wrong.
chown -R dsf:dsf /opt/dsf/sd/*What do I need to change to start DWC automatically?
here is the M122 from the new system:
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.5.4 (2024-11-24 10:44:24) running on Duet 3 Mini5plus WiFi (SBC mode)
Board ID: RNXYU-8296U-D65J0-40KMW-2503Z-ZP7HW
Used output buffers: 1 of 40 (17 max)
=== RTOS ===
Static ram: 103496
Dynamic ram: 117260 of which 0 recycled
Never used RAM 18068, free system stack 135 words
Tasks: SBC(2,ready,1.7%,813) HEAT(3,nWait 1,0.1%,323) Move(4,nWait 6,0.0%,285) CanReceiv(6,nWait 1,0.0%,939) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,1.5%,81) MAIN(2,running,95.9%,757) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.8%,264), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 04:23:49 ago, cause: power up
Last software reset at 2025-02-04 08:05, reason: User, Platform spinning, available RAM 22812, slot 2
Software reset code 0x6000 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU revision 3, ADC conversions started 11872475, completed 11872474, timed out 0, errs 0
MCU temperature: min 16.2, current 23.7, max 26.4
Supply voltage: min 0.2, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/8/8, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 12, reads 62715, writes 12, timeouts 0, DMA errors 0, CC errors 0
Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 19, reads 62708, writes 19, timeouts 0, DMA errors 0, CC errors 0
Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 19, reads 62708, writes 19, timeouts 0, DMA errors 0, CC errors 0
Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 19, reads 62708, writes 19, timeouts 0, DMA errors 0, CC errors 0
Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 62717, writes 10, timeouts 0, DMA errors 0, CC errors 0
Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 19, reads 62708, writes 19, timeouts 0, DMA errors 0, CC errors 0
Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 19, reads 62708, writes 19, timeouts 0, DMA errors 0, CC errors 0
Date/time: 2025-02-04 17:01:41
Cache data hit count 4294967295
Slowest loop: 233.24ms; fastest: 0.11ms
=== Storage ===
Free file entries: 20
SD card 0 not detected, interface speed: 0.0MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 3, maxWait 3604118ms, 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 14, completed 14, 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 3 -1 -1 -1, ordering errs 0
=== GCodes ===
Movement locks held by null, null
HTTP* is doing "M122" 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 0x0000803
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== CAN ===
Messages queued 142282, received 0, lost 0, errs 74830674, boc 0
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 79150/0/0
Tx timeouts 0,0,79149,0,0,63131 last cancelled message type 30 dest 127
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 28567/36292
SPI underruns 0, overruns 0
State: 5, disconnects: 2, timeouts: 2 total, 2 by SBC, IAP RAM available 0x0cd20
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.5.4 (2024-11-25 17:32:26, 64-bit)
HTTP+Executed:Executing M122
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 2
Full transfers per second: 22.43, max time between full transfers: 9506.9ms, max pin wait times: 4331.9ms/12.7ms
Codes per second: 0.10
Maximum length of RX/TX data transfers: 4436/936 -
Any help appreciated. After a lot of googling (too much stale info) I tracked down wayfire.ini for the latest firmware. I do have this file and it is set to autostart launch-dwc, yet it does not.
-
@jltx it might be better to start with a fresh duetpi image and just move your configuration across.
-
@jltx Giving write permission to 'other', for the directories in /opt/dsf/sd helped for me, using:
chmod o+w /opt/dsf/sd/* -
@T3P3Tony That's how I got into this mess in the first place. I've actually done it twice already. I think the provided image might be misconfigured.
-
I've just recently recreated by printer and SBC from the Duet3D bookworm full image and have a clean (and working) system. So a couple of these may help:
Regarding DWC auto starting:
pi@srsender:~ $ cat ~/.config/wayfire.ini [autostart] dwc=launch-dwc pi@srsender:~ $ cat ~/.config/labwc/autostart # Start DWC on boot launch-dwc &
regarding permissions, I've never seen rwe permissions needing to be changed, but I have seen ownership issues (with a "hand build")
pi@srsender:/home $ ls -l /opt total 12 drwxr-xr-x 7 1001 127 4096 Nov 27 13:21 dsf drwxr-xr-x 3 root root 4096 Nov 27 13:15 pigpio drwxr-xr-x 4 root root 4096 Nov 27 13:26 WidevineCdm pi@srsender:/home $ ls -l /opt/dsf total 96 drwxr-xr-x 2 1001 127 77824 Feb 11 15:24 bin drwxrwxr-x 2 dsf dsf 4096 Feb 11 15:25 conf drwxr-xr-x 6 dsf dsf 4096 Feb 11 15:24 dwc drwxr-xr-x 4 dsf dsf 4096 Feb 11 15:24 plugins drwxrwxr-x 9 dsf dsf 4096 Jan 18 14:27 sd
The (rather) odd ones out are /opt/dsf and /opt/dsf/bin (I'd somehow expect them to be dsf:dsf too but that's not the case)
I'd make sure all the second level subdirectories are recursively set to the same ownership as the parent using
sudo chown -R [user]:[group] /opt/dsf/[subdir]
or just reinstall from the Duet3D bookworm image
-
@stuartofmt Thank you! The labwc/autostart file was completely missing. I added and now it boots correctly for the first time. I changed nothing under .config prior so I'm not sure how this got wedged.
-
@chrishamm I think there is a race condition. Now that I have the missing file in place, the printer boots up in one of two states:
-
printer does not run config.g but DWC starts (rarely)
I have to soft restart printer to recover -
printer starts correctly, DWC loads but blank screen (mostly)
I can hit CTRL-R which reloads page, re-syncs DWC which then works
Maybe there needs to be a small delay at the beginning of launch-dwc to allow printer to settle before establishing communication.
after scenario 2:
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.5.4 (2024-11-24 10:44:24) running on Duet 3 Mini5plus WiFi (SBC mode)
Board ID: RNXYU-8296U-D65J0-40KMW-2503Z-ZP7HW
Used output buffers: 1 of 40 (17 max)
=== RTOS ===
Static ram: 103496
Dynamic ram: 116756 of which 0 recycled
Never used RAM 21496, free system stack 208 words
Tasks: SBC(2,ready,1.5%,817) HEAT(3,nWait 1,0.1%,323) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.0%,939) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,1.5%,110) MAIN(2,running,95.4%,776) IDLE(0,ready,0.7%,29) AIN(4,delaying,0.8%,264), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:12:36 ago, cause: power up
Last software reset at 2025-02-12 15:51, reason: User, Gcodes spinning, available RAM 21496, slot 0
Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU revision 3, ADC conversions started 568229, completed 568227, timed out 0, errs 0
MCU temperature: min 16.1, current 26.6, max 26.8
Supply voltage: min 0.2, current 24.0, 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
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 12, reads 3146, writes 12, timeouts 0, DMA errors 0, CC errors 0
Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 3145, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 3145, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 3144, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 3148, writes 10, timeouts 0, DMA errors 0, CC errors 0
Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 3145, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 13, reads 3144, writes 13, timeouts 0, DMA errors 0, CC errors 0
Date/time: 2025-02-13 15:54:18
Cache data hit count 1688692589
Slowest loop: 6.84ms; fastest: 0.13ms
=== Storage ===
Free file entries: 20
SD card 0 not detected, interface speed: 0.0MBytes/sec
SD card longest read time 0.0ms, 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 3 -1 -1 -1, ordering errs 0
=== GCodes ===
Movement locks held by null, null
HTTP* is doing "M122" 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 0x0000803
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== CAN ===
Messages queued 6643, received 0, lost 0, errs 3572342, boc 0
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 3783/0/0
Tx timeouts 0,0,3782,0,0,2859 last cancelled message type 4514 dest 127
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 27970/16824
SPI underruns 0, overruns 0
State: 5, disconnects: 1, timeouts: 1 total, 1 by SBC, IAP RAM available 0x0cd20
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.5.4 (2024-11-25 17:32:26, 64-bit)
HTTP+Executed:Executing M122
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
Full transfers per second: 0.45, max time between full transfers: 5630.9ms, max pin wait times: 77.9ms/38.1ms
Codes per second: 0.00
Maximum length of RX/TX data transfers: 4436/936 -
-
OK, I may have inadvertently resolved it.
I found how to remove the desktop and boot to terminal using raspi-config. I wanted to understand the RAM cost. I have an RPi4b with 2GB RAM.
FYI:
in terminal mode after boot I have 1.5 GB free.
In desktop gui with DWC running at 1280x900 I have 960 KB free.Anyway, after switching back to GUI mode everything boots as expected and DWC starts. So I suspect my config was whacked somehow (I touched nothing!) and running the rasp-config corrected the situation.
Sorry for all the bother.
-
undefined droftarts marked this topic as a question
-
undefined droftarts has marked this topic as solved