Skip to content

Heater Shutdown, Missed Scheduling, Timer Too Close possible remedies #398

@TimPasquini

Description

@TimPasquini

Any of these sound familiar? After about a month or two of downtime, I recently started up my printer again, hit update and proceeded to pull out my hair. This issue is more to centralize some stuff I found combing through the issues and getting my own printer back up and running.

I'm on a Neptune 4 Plus. Some version info for my current (working) configuration:

OpenNept4une: v0.1.7-2-g1032f0a6
cartographer_plugin: 1.4.0
display: v0.0.0-157-g2eeab400-inferred
fluidd: v1.36.2
klipper: v0.13.0-540-g57c2e0c9

MCU version: v0.13.0-540-g57c2e0c96
Mcu Cartographer version: CARTOGRAPHER 5.0.0
Mcu Rpi version: v0.13.0-540-g57c2e0c96

// Heater extruder not heating at expected rate 
// See the 'verify_heater' section in docs/Config_Reference.md 
// for the parameters that control this check. 
// 
// Once the underlying issue is corrected, use the 
// "FIRMWARE_RESTART" command to reset the firmware, reload the 
// config, and restart the host software. 
// Printer is shutdown

This was my initial error set. Most guidance suggests a thermistor wire being broken or damaged. This was not the case for me, I ensure everything was well connected and inspected the wires and saw no damage. It would be strange for them to fail while sitting idle since the last time I used the printer.

I ended up fixing this by reducing my scan points from 25x25 to 9x9 drastically reducing the number of points that needed to be processed within the time-window that the printer expects to see the extruder start to heat. Unfortunatly, that only lead to the next error below:

MCU 'mcu' shutdown: Missed scheduling of next digital out event This is generally indicative of an intermittent communication failure between micro-controller and host. Once the underlying issue is corrected, use the "FIRMWARE_RESTART" command to reset the firmware, reload the config, and restart the host software. Printer is shutdown

I ended up addressing this error by running the opennept4une script via ssh and updating all of the MCUs (yes, the SD card thing, I hope you cut an opening in the front panel like the directions suggested).

With that fixed, my system moved onto:

MCU 'mcu' shutdown: Timer too close This often indicates the host computer is overloaded. Check for other processes consuming excessive CPU time, high swap usage, disk errors, overheating, unstable voltage, or similar system problems on the host computer. Once the underlying issue is corrected, use the "FIRMWARE_RESTART" command to reset the firmware, reload the config, and restart the host software. Printer is shutdown

Trying to address this, I further reduced my probing to 7x7 to try and further de-load. With that not working, I found a suggestion to do the following:

I followed the advice on the Klipper Discourse to harden Klipper against disruption by background tasks by adding

[Service]
Nice=-18
IOSchedulingPriority=1

to /etc/systemd/system/klipper.service . Since this change no more errors or failures occurred. But I don't know if that has an impact on other areas.

Still getting the error, there were some suggestions to move to the DEV branch and update the display adapter, so I did that with no luck as well.

Finally, I found this comment suggesting to turn off the affinity service.

This was the ticket for me. I'm not sure at this point if it's a combination of issues or not, as I'm going to start backing out of some of the changes. It seems very likely that the affinity service is behind this since it's pinning processes or threads to specific cores. By allowing the kernel to freely schedule, klipper can run on any free core and avoids time starvation issues that seemed to be at the root of all 3 of my errors.

Hopefully this helps some other people save some debug time. I'd suggest trying to disable the affinity service and see if that clears up your problems, and if not, work through some of the other fixes I had above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions