DCS 2.1.0 fatal error, wont load up
-
Hey,
I recently updated to the newest unstable branch and since then I can’t get my printer/the duet to boot up/work
I will attach my config.g
Heres what I did until now:
Upgraded exisiting installation. Not working, “DCS not started” or similar messages on the web control.Recreated the boot disc with newest image, updated to stable, than to unstable branch.
Using standard empty config.g: Works.
Using my config.g: no wayI have no idea yet why though.
I’ll attach the output from the debug command as well.
I strongly believe theres some gcode thats either gotten changed or has to be moved to a different spot?
Thanks in advance!!
Here goes:
Linux railcore 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Apr 25 16:06:02 2020 from fe80::c9d:e3bb:8f64:c322%eth0 pi@railcore:~ $ sudo /opt/dsf/bin/DuetControlServer -l debug Duet Control Server v2.1.0 Written by Christian Hammacher for Duet3D Licensed under the terms of the GNU Public License Version 3 [info] Settings loaded [info] Environment initialized [info] Connection to Duet established [info] IPC socket created at /var/run/dsf/dcs.sock [debug] Updated key volumes [debug] Requesting update of key boards, seq 0 -> 0 [debug] Requesting update of key directories, seq 0 -> 0 [debug] Requesting update of key fans, seq 0 -> 3 [debug] Requesting update of key heat, seq 0 -> 6 [debug] Requesting update of key inputs, seq 0 -> 0 [debug] Requesting update of key job, seq 0 -> 36 [debug] Requesting update of key move, seq 0 -> 25 [debug] Requesting update of key network, seq 0 -> 2 [debug] Requesting update of key sensors, seq 0 -> 2 [debug] Requesting update of key spindles, seq 0 -> 0 [debug] Requesting update of key state, seq 0 -> 1 [debug] Requesting update of key tools, seq 0 -> 2 [debug] Requesting update of key volumes, seq 0 -> 0 [debug] Updated key boards [debug] Updated key directories [debug] Updated key fans [debug] Updated key heat [debug] Updated key inputs [debug] Updated key job [debug] Updated key move [debug] Updated key network [fatal] Abnormal program termination [fatal] Update task faulted System.ArgumentException: Property set method not found. at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture) at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index) at System.Reflection.PropertyInfo.SetValue(Object obj, Object value) at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 237 at DuetAPI.Machine.FilamentMonitor.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Sensors/FilamentMonitors/FilamentMonitor.cs:line 84 at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 209 at DuetAPI.Machine.FilamentMonitor.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Sensors/FilamentMonitors/FilamentMonitor.cs:line 80 at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 214 at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 264 at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 149 at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 176 [fatal] Update task faulted System.ArgumentException: Property set method not found. at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture) at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index) at System.Reflection.PropertyInfo.SetValue(Object obj, Object value) at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 237 at DuetAPI.Machine.FilamentMonitor.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Sensors/FilamentMonitors/FilamentMonitor.cs:line 84 at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 209 at DuetAPI.Machine.FilamentMonitor.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Sensors/FilamentMonitors/FilamentMonitor.cs:line 80 at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 214 at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 264 at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 149 at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 176 [debug] SPI task terminated [debug] IPC task terminated [debug] Job task terminated [debug] Periodic updater task terminated [info] Application has shut down pi@railcore:~ $
Config.g:
; Configuration file for My Printer ; Communication and general M111 S0 ; Debug off M550 Prailcore ; Machine name and Netbios name (can be anything you like) G21 ;Work in millimetres G90 ;Send absolute coordinates... M83 ;...but relative extruder moves ; Axis and motor configuration M569 P0 S1 D3 ;Drive 0 X / Rear M569 P1 S0 D3 ;Drive 1 Y / Front M569 P2 S1 D3 ;Drive 2 Z Front Left M569 P3 S0 D3 ;Drive 3 Z Rear Left M569 P4 S1 D3 ;Drive 4 Z Right M569 P5 S1 D3 ;Drive 5 Extruder M669 K1 ;corexy mode M584 X0 Y1 Z2:3:4 E5 ; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5 ;Leadscrew locations M671 X-10:-10:333 Y22.5:277.5:150 S7.5 ;X -10, -10, 315 M350 X16 Y16 Z16 E16 I1 ;set 16x microstepping for axes with interpolation M906 X1400 Y1400 Z1200 E1200 I60 ;Set motor currents (mA) M201 X2500 Y2500 Z100 E1500 ;Accelerations (mm/s^2) M203 X24000 Y24000 Z900 E3600 ;Maximum speeds (mm/min) was Z1800 tr8*4 M566 X800 Y800 Z100 E1500 ;Maximum jerk speeds mm/minute E60 Z60 M208 X290 Y290 Z300 ;set axis maxima and high homing switch positions (adjust to suit your machine) M208 X0 Y0 Z0 S1 ;set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) M92 X200 Y200 Z800 E388 ;steps/mm ; End Stops M574 X1 S1 P"io4.in" ;Map the X endstop to io4.in M574 Y1 S1 P"io1.in" ;May the Y endstop to io1.in ; Thermistors M308 S0 P"temp0" Y"thermistor" A"bed_heat" T100000 B4240 H0 L0 ;Bed thermistor - duet 3, connected to temp0 M308 S1 P"temp1" Y"thermistor" A"e0_heat" T100000 B4725 C7.06e-8 H0 L0 ;duet3 e3d ;Define Heaters M950 H0 C"out0" T1 ;Bed heater is on out0 M950 H1 C"out2" T2 ;Hotend heater is on out2 ;Define Bed M140 H0 M307 H0 A90.0 C700.0 D10.0 S1.00 B1 ;Keenovo duet 3 configuration M307 H1 A548.8 C298.6 D4.6 S1.00 B0 ;Hotend duet 3 configuration M570 S360 ;Hot end may be a little slow to heat up so allow it 180 seconds M143 S285 ;Set max hotend temperature ; Fans M950 F0 C"out3" ;Hotend fan on "out3" connector M106 P0 S255 H1 T50 ;enable thermostatic mode for hotend fan M950 F1 C"out7" ;Layer fan on "out7" connector M106 P1 S0 ;Layer Fan ; Tool definitions M563 P0 D0 H1 F1 ;Define tool 0 (hotend) G10 P0 S0 R0 ;Set tool 0 operating and standby temperatures ;M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt ;BLTouch M558 P9 C"io7.in" H5 R1 F50 T6000 A5 S0.02 B1 ;define the bltouch input on io5.in M950 S0 C"io7.out" ;define the bltouch servo on io7.out G31 X-4 Y43 Z0 ;set the offsets for the bltouch ;Filament sensor ;M591 D0 S1 P3 C"io5.in" R30:250 L25.63 E3.0 ; Duet3D magnetic filament sensor cross-connected to io5.in M501 ; load overrides T0 ;select first hot end
-
they released 2.1.1 just a few hours ago, might be worth trying.
-
@bearer thanks for the info. I just started the update and am stuck at "setting up RepRapFirmware"
Bah.Setting up reprapfirmware (2.1.1-1) ... [fatal] Could not connect to Duet (Error 16. Cannot put line into event mode.)
Now that's interesting. Cannot connect to duet?
-
@TeddyFluffkins said in DCS 2.1.0 fatal error, wont load up:
@bearer thanks for the info. I just started the update and am stuck at "setting up RepRapFirmware"
Bah.you could try opening another session and running
kill `pgrep DuetControl`
-
Maybe a manual firmware update is in order.
bossac into the search field should give you lots of hits.
-
@TeddyFluffkins DCS requires the presence of /dev/gpiochip0. Maybe your Linux kernel is too old or the corresponding driver isn't loaded.
-
@chrishamm I'm using the official DuetPi image provided by duet3d ️
Journalctl reports the same "cannot connect to duet, cannot put into line mode"
Guess I'll revert to stable. Too bad, I like to love on the bleeding edge
-
Now it wont even work on the stable branch with a new SD and new image.
Guess its a local hardware problem then. -
Maybe hardware, maybe not. If the firmware on the board and the DSF are far enough out of sync, they can't communicate, not even enough to re-load the firmware.
There are MANY things you could do. I also like the leading edge, and so I personally would:
sudo apt update sudo apt upgrade duetsoftwareframework
It MIGHT be necessary to
sudo apt upgrade duetsoftwareframework --reinstall
After that finishes, if things are not talking, bossa the firmware onto your board. Use the binary file (appropriate to your board type) found in :
/opt/dsf/sd/sys/
. You can bossa however you did it before... do be aware that you can bossa from the pi (instructions here). I personally find this easier.Summary: Upgrade the Pi, bossa the Duet with the binary that came from the Pi upgrade.
That should get everything in sync, and you shouldn't have to do this again next upgrate.
-
@Danal Upgrading the firmware should work even with an old firmware by running
/opt/dsf/bin/DuetControlServer -u
with DSF >= 1.3. Newer version can fall back to the old SPI protocol if started with that particular parameter. But in doubt erasing the board and flashing the firmware again using bossac should get it back running.There is a new experimental DuetPi build with DSF 2.1.1 at https://pkg.duet3d.com/testing/ but be aware that it is configured to use
stable
package feed instead ofunstable
, so a change might be needed for further updates. -
alright thanks for the input @Danal
I'll try the new DuetPi build first, then get to read up on bossa.
-
Sorry for posting double...
So. I flashed the newest DuetPi from /testing, booted the printer up and wahooo! It works!
Uploaded my config.g - BAM. DCS has stopped.
On power cycling the whole machine, I get "DCS is not started" in DWC.
EDIT: Just noticed that, after sitting there for like 30s-1min with state "DCS is not started" it suddenly can connect - for close to a second, until DCS dies and DWC returns "DCS has been stopped" (cant connect to duet3.local)Can anyone check my config.g ? Is there something in there that kills DSC?!?!
-
@TeddyFluffkins There are two lines with {1} in it, please delete them and try again. In addition, please make sure you escape every string parameter in quotes (
"
).PS: I tried your config.g on my test board with the M550 commented out and the {1} lines removed and DCS stays alive (that is with DSF 2.1.1).
-
@chrishamm Thats interesting.
The {1} lines are a by-product of copy/pasting I think, they are not in my original config.g on the Pi.
However, I deleted the empty lines just to be sure and commented out the M550.
Now it booted up.
After every change in config.g though, DCS would stop and take a while to reload.
Also, my hotend thermistor would not work anymore.
I tried a different one, factory new - same result.
I'm now trying to figure out what might be wrong with the config, since it worked before. Too much for today though. Gonna start fresh tomorrow:)Thanks for the help, much appreciated!
-
@TeddyFluffkins said in DCS 2.1.0 fatal error, wont load up:
Also, my hotend thermistor would not work anymore.
You'll have to be more specific. Was there an error message? What temp did it show?
-
So. After re-doing my config.g the Thermistor is working again and I finished some smaller prints without issue.
However, something is still not right.
I can boot up everything alright, but if I activate my filament sensor in config.g (duet magnetic filament sensor), DCS fails. Constantly.
If I update config.g and comment it out, I need to reboot/power cycle to get the machine working.
If I activate the filament sensor through the console in DWC, everything is fine. Same command. Copy/paste.; Configuration file for My Printer ; Communication and general M111 S0 ; Debug off ;M550 P"railcore" ; Machine name and Netbios name (can be anything you like) G21 ;Work in millimetres G90 ;Send absolute coordinates... M83 ;...but relative extruder moves ; Axis and motor configuration M569 P0 S1 D3 ;Drive 0 X / Rear M569 P1 S0 D3 ;Drive 1 Y / Front M569 P2 S1 D3 ;Drive 2 Z Front Left M569 P3 S0 D3 ;Drive 3 Z Rear Left M569 P4 S1 D3 ;Drive 4 Z Right M569 P5 S1 D3 ;Drive 5 Extruder M669 K1 ;corexy mode M584 X0 Y1 Z2:3:4 E5 ; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5 ;Leadscrew locations M671 X-10:-10:333 Y22.5:277.5:150 S7.5 ;X -10, -10, 315 M350 X16 Y16 Z16 E16 I1 ;set 16x microstepping for axes with interpolation M906 X1400 Y1400 Z1200 E1200 I60 ;Set motor currents (mA) M201 X2500 Y2500 Z100 E1500 ;Accelerations (mm/s^2) M203 X24000 Y24000 Z900 E3600 ;Maximum speeds (mm/min) was Z1800 tr8*4 M566 X800 Y800 Z100 E1500 ;Maximum jerk speeds mm/minute E60 Z60 M208 X290 Y290 Z300 ;set axis maxima and high homing switch positions (adjust to suit your machine) M208 X0 Y0 Z0 S1 ;set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) M92 X200 Y200 Z800 E388 ;steps/mm ; End Stops M574 X1 S1 P"io4.in" ;Map the X endstop to io4.in M574 Y1 S1 P"io1.in" ;May the Y endstop to io1.in ; Thermistors M308 S0 P"temp0" Y"thermistor" A"bed_heat" T100000 B4240 H0 L0 ;Bed thermistor - connected to temp0 M308 S1 P"temp1" Y"thermistor" A"e0_heat" T100000 B4725 C7.06e-8 H0 L0 ;duet3 e3d thermistor - connected to e0_heat ;Define Heaters M950 H0 C"out0" T0 ;Bed heater is on out0 M950 H1 C"out2" T1 ;Hotend heater is on out2 ;Define Bed M140 H0 M307 H0 A90.0 C700.0 D10.0 S1.00 B1 ;Keenovo duet 3 configuration M307 H1 A310.1 C144.7 D2.6 S1.00 B0 ;E3D Hotend duet 3 configuration M570 S360 ;Hot end may be a little slow to heat up so allow it 180 seconds M143 S285 ;Set max hotend temperature ; Fans M950 F0 C"out3" ;Hotend fan on "out3" connector M106 P0 S255 H1 T50 ;enable thermostatic mode for hotend fan M950 F1 C"out7" ;Layer fan on "out7" connector M106 P1 S0 ;Layer Fan ; Tool definitions M563 P0 D0 H1 F1 ;Define tool 0 (hotend) G10 P0 S0 R0 ;Set tool 0 operating and standby temperatures M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt ;BLTouch M558 P9 C"io7.in" H5 R1 F50 T6000 A5 S0.02 B1 ;define the bltouch input on io5.in M950 S0 C"io7.out" ;define the bltouch servo on io7.out G31 X-4 Y43 Z3.116 ;set the offsets for the bltouch ;Filament sensor ;M591 D0 S1 P3 C"io5.in" R30:250 L25.63 E3.0 ; Duet3D magnetic filament sensor cross-connected to io5.in M501 ; load overrides T0 ;select first hot end
-
@TeddyFluffkins said in DCS 2.1.0 fatal error, wont load up:
{1} {1}
your config still seems to have these in it.
-
@Phaedrux sorry for the late reply.
Thats some copy/paste error. Its not in the config.g file -
Have you tried upgrading to the newer RRF and DCS?