Config.g not run automatically. MB6HC 3.5.2 - SBC - Bookworm
-
Having an issue where at first boot of my printer, it doesn't run Config.g
I can tell as the tools don't show up and it doesn't seem to know it's a delta as I have individual home buttons instead of homeallI can run it manually with M98 P"config.g" and my tools show up and all looks normal
But, something is off with the extrusion.
I can manually extrude and retract using DWC
But when , running gcode I've run before or newly sliced files, it makes the proper movements, but it's almost as if the extruder is retracting instead of extruding.Any ideas on what I might take a look at?
Here's M122 immediately after boot
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.2 (2024-06-11 17:13:58) running on Duet 3 MB6HC v1.0 or earlier (SBC mode) Board ID: 08DGM-9T66A-G63SJ-6JTDL-3SD6P-TS0HA Used output buffers: 1 of 40 (17 max) === RTOS === Static ram: 155360 Dynamic ram: 87436 of which 0 recycled Never used RAM 103196, free system stack 214 words Tasks: SBC(2,ready,0.5%,853) HEAT(3,nWait 6,0.0%,353) Move(4,nWait 6,0.0%,335) CanReceiv(6,nWait 1,0.0%,939) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,9.1%,55) MAIN(2,running,87.6%,444) IDLE(0,ready,2.8%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:03:47 ago, cause: power up Last software reset at 2024-04-22 16:37, reason: User, none spinning, available RAM 104832, slot 2 Software reset code 0x6013 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 MCU temperature: min 32.5, current 37.1, max 38.8 Supply voltage: min 23.9, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0 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 n/a, mspos 8, reads 14117, writes 11 timeouts 0 Driver 1: standstill, SG min n/a, mspos 8, reads 14117, writes 11 timeouts 0 Driver 2: standstill, SG min n/a, mspos 8, reads 14117, writes 11 timeouts 0 Driver 3: standstill, SG min n/a, mspos 8, reads 14117, writes 11 timeouts 0 Driver 4: standstill, SG min n/a, mspos 8, reads 14117, writes 11 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 14117, writes 11 timeouts 0 Date/time: 1970-01-01 00:00:00 Slowest loop: 2296.64ms; fastest: 0.05ms === Storage === Free file entries: 20 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, 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 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -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 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 1138, received 0, lost 0, errs 1097860, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 1138/0/0 Tx timeouts 0,0,1137,0,0,0 last cancelled message type 30 dest 127 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 7770/7767 SPI underruns 0, overruns 0 State: 5, disconnects: 1, timeouts: 1 total, 1 by SBC, IAP RAM available 0x24cfc Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.2 (2024-06-12 07:12:47, 64-bit) HTTP+Executed: > Executing M122 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 15.72, max time between full transfers: 2295.9ms, max pin wait times: 40.5ms/7.4ms Codes per second: 0.04 Maximum length of RX/TX data transfers: 4360/132
-
Actually, we can mark this closed. As a test I ended up imaging a new SD card and manually creating all the config files, transplanting the info into them via the editor in DWC (previously I had followed the bookworm upgrade instructions to sftp backup and restore those files)
Now everything is back to normal.
Thanks for looking into it. -
@blt3dp can you post your config?
-
For sure, here it is. Also it runs without error when I do M98
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.4 on Tue Dec 24 2019 21:00:59 GMT-0800 (PST) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M665 R179.423 L360.250 B150.000 H368.045 ; set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X200.00 Y200.00 Z200.00 E415 ; set steps per mm M566 X600.00 Y600.00 Z600.00 E2400.00 ; set maximum instantaneous speed changes (mm/min) M203 X15000.00 Y15000.00 Z2400.00 E2400.00 ; set maximum speeds (mm/min) M201 X3000.00 Y3000.00 Z3000.00 E7200.00 ; set accelerations (mm/s^2) M906 X1700 Y1700 Z1700 E1100 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"io1.in" ; configure active-high endstop for high end on X via pin io1.in M574 Y2 S1 P"io2.in" ; configure active-high endstop for high end on Y via pin io2.in M574 Z2 S1 P"io3.in" ; configure active-high endstop for high end on Z via pin io3.in ; Z-Probe M558 P8 R0.4 C"io4.in+io4.out" H5 F1200 T2400 ; set Z probe type to effector and the dive height + speeds G31 P100 X0 Y0 Z-0.05 ; set Z probe trigger value, offset and trigger height M557 R110 S20 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3590 R2200 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 Q10 ; create bed heater output on out0 and map it to sensor 0 M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 R0.241 C905.6 D22.78 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.060000e-8 ; 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 M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H1 R3.597 K0.426:0.000 D2.66 E1.35 S1.00 B0 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Fans M950 F0 C"out7" Q75 ; create fan 0 on pin out4 and set its frequency M106 P0 S0 B0.5 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"out9" Q500 ; create fan 2 on pin out9 and set its frequency M106 P2 C"LEDs" S0 H-1 ; set fan 2 name and value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets M568 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings M575 P1 S1 B57600 ; enable support for PanelDue M591 D0 P1 C"io5.in" S1 ; enable simple sensor (high signal when filament present) via pin io5.in for drive 0 M955 P0 C"io6.out+io6.in" ; enable accelerometer, cs and int on io6.out and io6.in, all others on tempdb M207 S4.5 F2400 Z0.40 ; set firmware retraction length, speed and z-lift M572 D0 S0.0 ; set pressure advance ; Miscellaneous M911 S21.9 R22.9 P"M913 X0 Y0 G91 M83 G1 Z5 E-5 F1000" ; set voltage thresholds and actions to run on power loss
-
@blt3dp one for @chrishamm
-
Did this only begin after updating to 3.5.2?
What was the last version it was working correctly on?
Have you re-run sudo apt update and sudo apt upgrade? -
@Phaedrux
It only started after updating to 3.5.2
Last ver I didn't see any issue with was 3.5.1
I'll run apt update and upgrade nowEdit: no change with apt update and upgrade, didn't look to do anything with any duet packages
Edit again: just downgraded to 3.5.1 and it's all back to normal. Happy to re-up to 3.5.2 if there are troubleshooting/solutions to try. -
-
-
@blt3dp I would've suspected bad permissions but if it works by running
M98 P"config.g"
there must be something else going on. Could you have a look at theduetcontrolserver
journal? If yes, please connect via SSH or open a terminal, then runsudo journalctl -u duetcontrolserver
, press Shift+G, and use the arrow keys to look for the last instance where you started the machine but config.g was not run. That should at least show ifconfig.g
was requested from the firmware. -
@chrishamm
It looks like quite a few of theseJun 22 21:14:57 delta systemd[1]: Starting duetcontrolserver.service - Duet Control Server... Jun 22 21:15:00 delta DuetControlServer[554]: Duet Control Server v3.5.2 Jun 22 21:15:00 delta DuetControlServer[554]: Written by Christian Hammacher for Duet3D Jun 22 21:15:00 delta DuetControlServer[554]: Licensed under the terms of the GNU Public License Version 3 Jun 22 21:15:02 delta DuetControlServer[554]: [info] Settings loaded Jun 22 21:15:03 delta DuetControlServer[554]: [info] Environment initialized Jun 22 21:15:03 delta DuetControlServer[554]: [info] Connection to Duet established Jun 22 21:15:03 delta DuetControlServer[554]: [info] IPC socket created at /run/dsf/dcs.sock Jun 22 21:15:03 delta systemd[1]: Started duetcontrolserver.service - Duet Control Server. Jun 22 21:15:07 delta DuetControlServer[554]: [info] Starting macro file config.g on channel Trigger Jun 22 21:15:08 delta DuetControlServer[554]: [warn] Trigger: Aborting orphaned macro file config.g Jun 22 21:15:08 delta DuetControlServer[554]: [error] Trigger: Failed to find corresponding state for code ; Configuration file for Duet 3 (firmware version 3), cancellin> Jun 22 21:15:08 delta DuetControlServer[554]: [info] Aborted macro file config.g Jun 22 21:15:08 delta DuetControlServer[554]: [warn] SPI connection has been reset Jun 22 21:15:17 delta DuetControlServer[554]: [info] Starting macro file dsf-config.g on channel SBC Jun 22 21:15:17 delta DuetControlServer[554]: [info] SBC: Finished macro file dsf-config.g Jul 04 19:41:02 delta systemd[1]: Stopping duetcontrolserver.service - Duet Control Server... Jul 04 19:41:02 delta DuetControlServer[554]: [warn] Received SIGTERM, shutting down... Jul 04 19:41:02 delta DuetControlServer[554]: [info] Application has shut down Jul 04 19:41:02 delta systemd[1]: duetcontrolserver.service: Deactivated successfully. Jul 04 19:41:02 delta systemd[1]: Stopped duetcontrolserver.service - Duet Control Server. Jul 04 19:41:02 delta systemd[1]: duetcontrolserver.service: Consumed 1min 990ms CPU time.
I think specifically these lines
Jun 22 21:15:07 delta DuetControlServer[554]: [info] Starting macro file config.g on channel Trigger Jun 22 21:15:08 delta DuetControlServer[554]: [warn] Trigger: Aborting orphaned macro file config.g Jun 22 21:15:08 delta DuetControlServer[554]: [error] Trigger: Failed to find corresponding state for code ; Configuration file for Duet 3 (firmware version 3), cancellin> Jun 22 21:15:08 delta DuetControlServer[554]: [info] Aborted macro file config.g
-
@blt3dp Odd, I tried your config.g on a bench setup here but I couldn't reproduce that problem, it came up as expected. Could you please enable
debug
logging in/opt/dsf/conf/config.json
and send me the journalctl log after that once again? That may help me better identify what's going on. -
Definitely, I just reupdated to 3.5.2, here's journalctl for everything thus far today.
-
Actually, we can mark this closed. As a test I ended up imaging a new SD card and manually creating all the config files, transplanting the info into them via the editor in DWC (previously I had followed the bookworm upgrade instructions to sftp backup and restore those files)
Now everything is back to normal.
Thanks for looking into it. -
@blt3dp Okay, maybe an SD card glitch?
Ian
-
-
I actually ended up reimaging the original sd card and doing the same manual recreation of the config files and it's been fine so far. I think more permissions or something when doing the image/sftp backup/restore originally.