Firmware: Plus4 v1.7.1 (EU 230V) · Slicer: QIDI Studio 02.07.02.60 · Hardware: 1× QIDI Box (box_count = 1)
Summary
Printing from the external spool in a project with 5 filaments causes an
immediate Klipper shutdown at print start.
Reproduce
- One QIDI Box attached; sync filaments from printer. Studio populates
4 box slots + external spool as filament 5.
- Assign a model to filament 5 (external spool). Load that filament externally.
- Slice and print.
Result
Studio emits, immediately before the machine start G-code:
DISABLE_BOX_HEATER
BOX_TEMP_SET VT4=0
box_extras resolves VT4 as a physical slot and Klipper shuts down:
Internal error on command:"BOX_TEMP_SET"
File "box_extras.py", line 591, in extras.box_extras.BoxExtras.set_box_temp
File "/home/mks/klipper/klippy/klippy.py", line 99, in lookup_object
raise self.config_error("Unknown config object '%s'" % (name,))
configparser.Error: Unknown config object 'box_stepper slot4'
Cause
VT is the project filament index. With 5 filaments the external spool is
index 4, but a single Box only configures box_stepper slot0–slot3. The
firmware already identifies the external spool as slot 16 elsewhere —
saved_variables.cfg contains filament_slot16, color_slot16, vendor_slot16.
Two Boxes masks the crash: slot4 exists, so the dryer target is silently
applied to the wrong slot.
Requested fix
- QIDI Studio: emit the external spool as VT16, matching firmware numbering.
- box_extras.set_box_temp: bounds-check the slot index and warn on an
unknown slot rather than calling invoke_shutdown.
Workaround
Slice the external-spool part in its own single-filament project so the
index is 0.
Firmware: Plus4 v1.7.1 (EU 230V) · Slicer: QIDI Studio 02.07.02.60 · Hardware: 1× QIDI Box (box_count = 1)
Summary
Printing from the external spool in a project with 5 filaments causes an
immediate Klipper shutdown at print start.
Reproduce
4 box slots + external spool as filament 5.
Result
Studio emits, immediately before the machine start G-code:
box_extras resolves VT4 as a physical slot and Klipper shuts down:
Cause
VT is the project filament index. With 5 filaments the external spool is
index 4, but a single Box only configures box_stepper slot0–slot3. The
firmware already identifies the external spool as slot 16 elsewhere —
saved_variables.cfg contains filament_slot16, color_slot16, vendor_slot16.
Two Boxes masks the crash: slot4 exists, so the dryer target is silently
applied to the wrong slot.
Requested fix
unknown slot rather than calling invoke_shutdown.
Workaround
Slice the external-spool part in its own single-filament project so the
index is 0.