設定関連エラー
このページでは、設定セクションの競合、パラメータのスペルミス、include ファイル、SAVE_CONFIG に関連する問題をまとめています。設定を変更した後は、まず klippy.log の最初の設定エラーを確認し、その後1つずつ処理してください。
homing override method always homes X and Y before homing Z
エラーメッセージ: 安全なZホーミングとホーミングオーバーライド設定の競合。
エラーの原因: [safe_z_home] と [homing_override] の両方が設定されているため、Klipperはどちらのホーミングロジックを使用すべきか判断できません。
解決方法:
- 設定ファイル内で
[safe_z_home]と[homing_override]を検索します。 - マシンの実際のホーミングロジックに基づいて、どちらか一方のみを残します。
- 保存してKlipperを再起動します。
関連設定の参考: ホーミングと方向調整ガイド、ホーミングオーバーライド設定の参考。
Option 'xxx' is not valid in section 'yyy'
エラーメッセージ: Option 'xxx' is not valid in section 'yyy'、指定された設定セクション内に認識されないオプション名が存在します。
よくある原因:
- オプション名のスペルミス。例:
sensor_pinがsensor_pingになっている。 - 他の設定セクションのオプションを誤って現在のセクションに貼り付けた。例:
[probe]のオプションを[stepper_z]に書き込んだ。 - Klipperのバージョンアップ後、以前のバージョンでサポートされていたオプションが削除またはリネームされた。
- 実際のパラメータではないコメント内容を使用した。例:
default_parameter_z。
解決方法:
- エラーで指摘されている設定セクションとオプション名を注意深く確認し、スペルを確認します。
- Klipper設定リファレンスドキュメント を参照して、そのオプションがどの設定セクションに属するか確認します。
- 最近Klipperをアップグレードした場合は、設定変更履歴 を確認してオプションに変更がないか確認します。
- 無効なオプションを削除するか、正しい設定セクションに移動します。
関連設定の参考: 設定変更の説明。
Section 'xxx' is not a valid config section
エラーメッセージ: Section 'xxx' is not a valid config section、Unknown config object、または特定の設定セクションをKlipperが認識できません。
よくある原因:
- 設定セクション名のスペルミス。例:
[bed_mesh]が[bedmesh]になっている。 - 現在のKlipperバージョンがその設定セクションをサポートしていない、またはアップデート/ダウングレード後に設定形式が互換性を持たない。
- サードパーティ製プラグインの設定をコピーしたが、対応するプラグイン、拡張モジュール、またはKlipperブランチがインストールされていない。
- include ファイルに、他のマシンや他のマザーボード用の設定セクションが残っている。
解決方法:
- エラー内の設定セクション名に基づいて、
printer.cfgとすべての include ファイル内で対応するセクションを特定します。 - スペルがKlipper設定リファレンスと一致しているか確認します。設定セクション名に日本語の括弧や全角記号を使用しないでください。
- その設定がサードパーティ製プラグインやカスタムマクロパッケージからのものである場合、対応するプラグインがインストールされ、現在のKlipperバージョンと互換性があることを確認します。
- そのセクションの用途が不明な場合は、まずその設定セクションをコメントアウトして再起動テストを行い、その後1つずつ復元します。
関連設定の参考: 設定変更の説明。
Unable to open config file / Include file does not exist
エラーメッセージ: Unable to open config file /home/xxx/printer_data/config/printer.cfg または Include file 'xxx.cfg' does not exist。
よくある原因:
printer.cfgファイルのパスが間違っている、またはファイルが誤って削除された。[include]が参照するサブ設定ファイルが存在しない、またはファイル名が一致しない。- KIAUHなどのインストールツールが
[include]参照を自動生成したが、対応する cfg ファイルがインストールされていない。 - 権限の問題によりKlipperが設定ファイルを読み取れない。
解決方法:
printer.cfgがKlipper設定ディレクトリに存在するか確認します。通常は~/printer_data/config/printer.cfgです。- すべての
[include xxx.cfg]行を確認し、参照されているファイルが実際に存在することを確認します。 fluidd.cfgまたはmainsail.cfgがない場合は、対応するWebインターフェースのインストールドキュメントを参照して設定を補完します。- 設定ファイルの権限が正しいことを確認します:
ls -la ~/printer_data/config/。
Fluidd / Mainsail 基本設定の欠落
エラーメッセージ: Fluidd または Mainsail が基本設定の欠落を通知します。一般的なキーワードは以下の通りです:
[virtual_sdcard] not found in printer configuration.
[pause_resume] not found in printer configuration.
[display_status] is required if you do not have a [display] defined.
CANCEL_PRINT macro not found in configuration.
Fluidd の通知例:
Mainsail の通知例:
よくある原因:
printer.cfgで[include fluidd.cfg]または[include mainsail.cfg]が有効になっていない。- 設定ディレクトリに
fluidd.cfg/mainsail.cfgがない、または include ファイル名が間違っている。 - 手動設定時に
[virtual_sdcard]、[pause_resume]、[display_status]を書き忘れた。 CANCEL_PRINTマクロが定義されていない、またはマクロファイルが include されていない。
解決方法:
-
デフォルトのフロントエンド設定ファイルを優先的に使用する必要があります。一般ユーザーが手動でいくつかの設定セクションを補って通知を回避することは推奨されません。デフォルトの
fluidd.cfg/mainsail.cfgには、仮想SDカード、一時停止・再開、表示状態、キャンセル印刷マクロなど、フロントエンドが要求する基本設定が同時に含まれています。 -
printer.cfgの上部に、使用中のフロントエンドに対応する include が含まれているか確認します:[include fluidd.cfg]または:
[include mainsail.cfg] -
FLYプリセットシステムまたは公式リファレンス設定を使用している場合は、
fluidd.cfg/mainsail.cfgファイルが~/printer_data/config/ディレクトリに存在することを確認します。 -
対応するファイルが存在しない場合は、フロントエンドのデフォルト設定ファイルを再補充するか、Fluidd初期設定説明 を参照してください。
-
デフォルトのフロントエンド設定ファイルを有効にした後、一時停止・再開・キャンセル印刷の位置やリトラクトパラメータを変更する必要がある場合は、一時停止とキャンセル印刷のカスタム位置 に従って
_CLIENT_VARIABLEを追加してください。デフォルトのCANCEL_PRINT/PAUSE/RESUMEマクロを直接コピーしたり書き換えたりしないでください。 -
カスタムシステムを保守しており、フロントエンドのマクロ依存関係を明確に理解している場合のみ、手動で基本セクションを補完することを検討してください。この方法は一般ユーザーには推奨されません。少なくとも以下を含める必要があります:
[virtual_sdcard]path: ~/printer_data/gcodeson_error_gcode: CANCEL_PRINT[pause_resume][display_status]また、使用可能な
[gcode_macro CANCEL_PRINT]も提供する必要があります。そうしないと、フロントエンドは引き続きCANCEL_PRINT macro not found in configurationと通知します。 -
設定を保存したら
RESTARTを実行します。それでも欠落の通知が続く場合は、すべての include ファイルが実際にKlipperによって読み込まれているか確認を続けてください。
フロントエンドマクロの使用方法: 一時停止とキャンセル印刷のカスタム位置 マクロ設定の参考: マクロ紹介
Unable to parse option / option must be specified
エラーメッセージ: Unable to parse option 'xxx' in section 'yyy'、Option 'xxx' in section 'yyy' must be specified、または must have minimum/maximum、must be above/below。
よくある原因:
- 必須パラメータの欠落、例:
[extruder]にstep_pin、dir_pin、heater_pin、sensor_typeがない。 - パラメータ形式の誤り、例:数値が必要なのに文字列、座標リストが必要なのにカンマがない。
- パラメータ値が Klipper の許容範囲外、例:
run_current、max_temp、position_maxの設定が不適切。 - 設定のコピー時に中国語の句読点、全角記号、または不可視文字が含まれている。
解決方法:
- エラーメッセージ内の設定セクションとパラメータ名に基づき、対応する
.cfgファイルに戻って項目ごとに確認する。 - 数値、座標、リストのパラメータについて、例と形式が一致しているか確認する(例:
mesh_min: 20, 20)。 must be above/belowやminimum/maximumの場合、まず公式サンプルやマザーボードのチュートリアル推奨値に戻す。- 保存後
RESTARTを実行し、それでも失敗する場合はklippy.logの最初の設定エラーを確認する。
関連設定参照:設定変更の説明。
Unknown pin chip name / Pin is not a valid pin name / pin used multiple times
エラーメッセージ:Unknown pin chip name 'xxx'、Pin 'PB12' is not a valid pin name on mcu 'mcu'、Invalid pin description 'xxx'、pin xxx used multiple times in config。
よくある原因:
- 複数 MCU 設定でピン接頭辞の記述が誤っている。例:
toolboard:PB0と書くべきところを、存在しない MCU 名にしている。 - MCU ID(
canbus_uuidまたはserial)の設定が誤っているため、ピンが誤ったデバイスにマッピングされ、そのデバイスに対応するピンが存在しない。 - ピン名のスペルミス、またはマザーボードのチュートリアルから別のマザーボードへピンをそのままコピーした。
- 同じ物理ピンが複数の機能で重複使用されている。例:ファン、ヒーター、リミットスイッチが同じピンを使用。
- ピンの反転
!、プルアップ^、プルダウン~の記述位置が誤っている。
解決方法:
[mcu xxx]の名前がピン接頭辞と完全に一致しているか、大文字小文字も含めて確認する。[mcu xxx]セクションのcanbus_uuidまたはserialが実際のデバイスと一致しているか確認する(ls /dev/serial/by-id/またはpython3 -c "import can; ..."で確認可能)。- マザーボードのピン配置図と照合し、各
pin:、step_pin:、dir_pin:、heater_pin:が現在のマザーボードに属するものかを確認する。 - すべての include ファイル内でエラーのピンを検索し、重複使用項目を削除または変更する。
- ピン修飾子はピン名の前に記述する。例:
^PB7、!PC13、mcu2:^PB7。
gcode command XXX already registered
エラーメッセージ:Error: gcode command XXX already registered。
エラー原因:異なる2つのマクロまたはシステムモジュールが同じ G-code コマンド名を登録している。例:2つのマクロが両方とも [gcode_macro NEXT] を定義している。
よくあるケース:
- ユーザー定義マクロが Klipper のシステムモジュールやサードパーティ設定と競合している。
- 複数の
[gcode_macro M600]が定義されている。
解決方法:
printer.cfgおよびすべての[include]ファイル内で重複定義を検索する。- 競合する
[gcode_macro]を削除またはリネームする。 [homing_override]、[gcode_macro PAUSE]、[gcode_macro RESUME]、[gcode_macro CANCEL_PRINT]などの一般的なマクロを確認する。
関連設定参照:マクロ紹介。
Unknown command:"XXX"
エラーメッセージ:コンソールまたは klippy.log に Unknown command:"PRINT_START"、Unknown command:"START_PRINT"、Unknown command:"M600"、Unknown command:"EXCLUDE_OBJECT_DEFINE"、Unknown command:"EXCLUDE_OBJECT_START"、Unknown command:"EXCLUDE_OBJECT_END"、Unknown command:"M106"、Unknown command:"M201"、Unknown command:"M203"、Unknown command:"M205" などが表示される。
よくある原因:
- スライサーの開始・終了 G-code が Klipper に存在しないマクロを呼び出している。例:スライサーが
PRINT_STARTを送信するが、設定には[gcode_macro START_PRINT]のみ定義されている。 - Marlin から移行したコマンドを使用しており、Klipper がデフォルトでサポートしていないか、マクロによる互換対応が必要。
- オブジェクト除外機能を有効にしているが、スライサー、Moonraker、または Klipper の設定が不完全で、
EXCLUDE_OBJECT_DEFINE、EXCLUDE_OBJECT_START、EXCLUDE_OBJECT_ENDなどのコマンドが認識されない。 - ファンに
[fan_generic]または[output_pin]を使用しているが、スライサーがデフォルトのM106/M107を送信し続けている。 - サードパーティのマクロパッケージ使用時に include ファイルが不足しているか、マクロ名がスライサーに入力した名前と一致しない。
解決方法:
printer.cfgおよびすべての include ファイル内でエラーのコマンド名を検索し、対応する[gcode_macro XXX]が存在するか確認する。- スライサー内の開始、終了、フィラメント交換、ファン、オブジェクト除外コマンド名を Klipper のマクロと一致させる。
- Marlin コマンドの場合は、不要なコマンドを優先的に削除する。どうしても互換性が必要な場合は、明確な Klipper マクロを追加する。
- オブジェクト除外関連のエラーでは、スライサーがオブジェクトラベルを出力しているか、Moonraker がオブジェクト処理を有効にしているか、Klipper に
[exclude_object]があるかを同時に確認する。 - ファンコマンドのエラー時は、
[fan]を使用すべきか、[fan_generic]/[output_pin]用の一致する制御マクロを追加すべきかを確認する。
EXCLUDE_OBJECT_DEFINE / START / END
エラー意味:EXCLUDE_OBJECT_DEFINE は印刷オブジェクトを定義し、EXCLUDE_OBJECT_START / EXCLUDE_OBJECT_END は現在の G-code がどのオブジェクトに属するかをマークします。これにより、フロントエンドはマルチオブジェクト印刷時に指定オブジェクトを表示・除外できます。klippy.log に Unknown command:"EXCLUDE_OBJECT_DEFINE"、Unknown command:"EXCLUDE_OBJECT_START"、Unknown command:"EXCLUDE_OBJECT_END" が繰り返し表示される場合、G-code にオブジェクト除外コマンドが含まれているのに、Klipper の現在の設定がこの種のコマンドを正しく受け取っていないことを意味します。
優先確認事項:
printer.cfgまたは include されている設定ファイル内に以下が存在するか確認:
[exclude_object]
- 変更後
RESTARTを実行し、再度 G-code ファイルをアップロードしてテストする。既にアップロード済みの古いファイルは最新の設定で処理されていない可能性があるため、再スライスまたは再アップロードを推奨。 - Moonraker の設定がオブジェクト処理を有効にしているか確認。一般的な設定場所は
moonraker.conf:
[file_manager]
enable_object_processing: True
- スライサーがオブジェクトラベル / 除外オブジェクト関連の出力を有効にしているか確認。スライサーによって名称は異なるが、一般的な兆候として G-code 内で
EXCLUDE_OBJECT_DEFINE、EXCLUDE_OBJECT_START、EXCLUDE_OBJECT_ENDまたはオブジェクト名を検索できること。 - 一時的に印刷を完了させたいだけで、オブジェクト除外機能が不要な場合は、スライサーでオブジェクト除外関連の出力をオフにして再スライスする。ファイル内の一部のオブジェクトコマンドだけを削除しないこと。フロントエンドのオブジェクトリストが異常になる可能性がある。
判断の方向性:
EXCLUDE_OBJECT_START/EXCLUDE_OBJECT_ENDのみエラー:優先的に[exclude_object]を追加し、Klipper を再起動。- フロントエンドにオブジェクトリストがないが、Klipper が Unknown command を報告しなくなった場合:優先的に Moonraker のオブジェクト処理と G-code の再アップロードを確認。
- ファイル内にオブジェクト関連コマンドがまったく見つからない場合:スライサーがオブジェクトラベルを出力していないため、スライサー側で有効にする必要がある。
Error evaluating 'gcode_macro XXX:gcode'
エラーメッセージ:Error evaluating 'gcode_macro PRINT_START:gcode'、jinja2.exceptions.UndefinedError、'dict object' has no attribute 'BED'、'dict object' has no attribute 'HOTEND'、'dict object' has no attribute 'extrude'、'dict object' has no attribute 'heater_bed'、gcode.CommandError。
よくある原因:
- スライサーがマクロに必要なパラメータを渡していない。例えば、マクロが
params.HOTENDを読み取る場合、スライサーがHOTEND=を渡していない。 - パラメータ名が一致しない。例えば、マクロが
BED/HOTENDを必要とする場合、スライサーが実際に渡すのはBED_TEMP/EXTRUDER_TEMPである。 - マクロが存在しないオブジェクトを参照している。例えば、設定に
[heater_bed]がないのに、マクロがprinter.heater_bedを読み取る。 - マクロで Jinja2 構文を使用しているが、括弧、引用符、フィルター、デフォルト値の記述が誤っている。
- マクロ内部で実行されるコマンドが先にエラーを出し、外側では
Error evaluatingとだけ表示される。
解決方法:
klippy.logのError evaluatingの下にある完全な Traceback を確認し、どの変数またはコマンドでエラーが発生しているかを特定する。- スライサーの開始 G-code と照合し、渡されるパラメータ名がマクロ内の
params.xxxと完全に一致しているか、大文字小文字も含めて確認する。 - オプションパラメータにデフォルト値を設定する。例えば、
params.BED|default(60)|floatのようにして、パラメータが空の場合のエラーを防ぐ。 - マクロで使用されている
printer.xxxオブジェクトを検索し、設定に対応するモジュールが存在するか確認する。 - マクロがサードパーティの設定パッケージからのものである場合、依存する include ファイルと基本マクロがすべて読み込まれているか確認する。
関連設定の参考:マクロ紹介。
SAVE_CONFIG の失敗または設定の競合
エラーメッセージ:SAVE_CONFIG 実行後に Unable to write config、Option conflict、Cannot save config が表示される、または再起動後に Can't read autosave from config file - modifications after header が表示される。
よくある原因:
printer.cfgファイルの権限が不足しており、Klipper プロセスが書き込めない。sudoを使用して設定ファイルを編集した後によく発生する。- 自動保存領域(
#*#マークブロック)内の設定項目が、手動の[include]ファイル内の同じオプションと競合している。 - MCU がシャットダウン状態であり、
SAVE_CONFIGが新しい設定を正常に送信できない。 printer.cfgファイルの末尾に構文エラーがある、またはファイルが切り詰められており、自動保存領域の書き込みに失敗する。#*# <---------------------- SAVE_CONFIG ---------------------->マーカーの後に、通常の設定、コメント、その他の非#*#行が手動で追加され、Klipper が自動保存領域の読み取りを拒否する。- 自動保存領域のタイトルまたは
#*#行が、手動編集、設定のマージ、ファイル同期の際に破損した。 - 複数の include ファイルで、PID、Z オフセットなど、
SAVE_CONFIGによって自動保存されるべきでないパラメータが重複して定義されている。
解決方法:
-
設定ファイルの権限を確認する:
ls -la ~/printer_data/config/printer.cfg所有者が現在のユーザーでない場合は、以下を実行する:
sudo chown $USER:$USER ~/printer_data/config/printer.cfg -
SAVE_CONFIG実行後にプリンターが起動しない場合、printer.cfgの下部にある#*#自動保存領域を確認する。 -
modifications after headerが表示された場合、まずprinter.cfgをバックアップし、次に自動保存マーカーを検索する:grep -nE 'SAVE_CONFIG|DO NOT EDIT|^#\*#' ~/printer_data/config/printer.cfg -
手動で管理する必要があるすべての設定を、
SAVE_CONFIGタイトルの前に移動する。タイトル以降には、Klipper が生成した#*#行のみを残すこと。自動保存領域全体を直接削除しないこと。PID、Z オフセット、ベッドメッシュなどの保存済みキャリブレーション値が失われる可能性がある。 -
自動保存領域がすでに破損している場合、またはタイトルが複数存在する場合、同じディレクトリ内の最新かつ動作が確認されている
printer-*.cfgバックアップから復元し、必要なキャリブレーションを再実行する。複数の自動保存領域を直接連結しないこと。 -
同じオプションが include ファイルにも存在する場合、自動保存領域の重複項目を削除するか、include ファイルで一元管理するように変更する。
-
MCU がシャットダウン状態の場合、最初に発生した実際のエラーに対処し、
FIRMWARE_RESTARTを実行してから、SAVE_CONFIGを再実行する。 -
権限が正常でも書き込めない場合、ディスク容量を確認する:
df -h ~/printer_data/。
関連設定の参考:設定変更の説明。
SDCARD_RESET_FILE cannot be run from the sdcard
エラーメッセージ:SDCARD_RESET_FILE cannot be run from the sdcard。
よくある原因:
- SD カードプリント中に
SDCARD_RESET_FILEコマンドを実行した。このコマンドは SD カードプリント中は呼び出しが許可されていない。 - スライサーの開始 G-code またはマクロに
SDCARD_RESET_FILEが誤って含まれている。
解決方法:
- スライサーの開始 G-code とカスタムマクロを確認し、
SDCARD_RESET_FILEの呼び出しを削除またはコメントアウトする。 - SD カードのファイル状態をリセットする必要がある場合、プリント終了後に手動で実行し、プリントフロー内には配置しないこと。
PRINT_STARTマクロを使用している場合、その中でこのコマンドが呼び出されていないか確認する。