設定クラスのエラー
このページでは、設定セクションの競合、パラメータのスペルミス、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]を検索します。 - 実際のマシンのホーミングロジックに基づいて、どちらか1つだけを残します。
- 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ファイルに戻り、1項目ずつ確認します。 - 数値、座標、リストパラメータについては、形式が例と一致していることを確認します。例:
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コードコマンド名を登録しています。例: 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コードが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コードがどのオブジェクトに属するかをマークするために使用され、フロントエンドがマルチオブジェクト印刷時に指定されたオブジェクトを表示および除外できるようにします。klippy.log に Unknown command:"EXCLUDE_OBJECT_DEFINE"、Unknown command:"EXCLUDE_OBJECT_START" または Unknown command:"EXCLUDE_OBJECT_END" が繰り返し表示される場合、Gコードにはすでにオブジェクト除外コマンドが含まれているが、Klipperの現在の設定がこれらのコマンドを正しく受信できないことを示しています。
優先的に確認する事項:
printer.cfgまたはincludeされた設定ファイルに以下が存在することを確認します:
[exclude_object]
- 変更後、
RESTARTを実行し、Gコードファイルを再アップロードしてテストします。すでにアップロードされた古いファイルは最新の設定で処理されていない可能性があるため、再スライスするか再アップロードすることをお勧めします。 - Moonraker設定でオブジェクト処理が有効になっているか確認します。一般的な設定場所は
moonraker.confです:
[file_manager]
enable_object_processing: True
- スライサーでオブジェクトラベル / オブジェクト除外関連の出力が有効になっているか確認します。スライサーによって名称は異なりますが、一般的な兆候として、Gコード内で
EXCLUDE_OBJECT_DEFINE、EXCLUDE_OBJECT_START、EXCLUDE_OBJECT_ENDまたはオブジェクト名を検索できることです。 - 一時的に印刷を完了させたいだけで、オブジェクト除外機能が不要な場合は、スライサーでオブジェクト除外関連の出力を無効にしてから再スライスします。ファイル内の一部のオブジェクトコマンドだけを削除しないでください。そうしないと、フロントエンドのオブジェクトリストが異常になる可能性があります。
判断の方向性:
EXCLUDE_OBJECT_START/EXCLUDE_OBJECT_ENDのみエラーになる場合: まず[exclude_object]を追加し、Klipperを再起動します。- フロントエンドにオブジェクトリストがないが、KlipperがUnknown commandを報告しなくなった場合: まずMoonrakerのオブジェクト処理とGコードが再アップロードされたかどうかを確認します。
- ファイル内にオブジェクト関連コマンドが完全に見つからない場合: スライサーがオブジェクトラベルを出力していないことを意味するため、スライサー側で有効にする必要があります。
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コードと照らし合わせて、渡されたパラメータ名がマクロ内の
params.xxxと完全に一致しているか(大文字小文字も含めて)確認します。 - オプションパラメータにはデフォルト値を設定します。例:
params.BED|default(60)|float。パラメータが空の場合のエラーを防ぎます。 - マクロ内で使用されている
printer.xxxオブジェクトを検索し、設定内に対応するモジュールが存在することを確認します。 - マクロがサードパーティ製設定パッケージからのものである場合、すべての依存関係にあるincludeファイルと基本マクロが読み込まれていることを確認します。
関連設定の参考: マクロの紹介。
SAVE_CONFIG の失敗または設定の競合
エラーメッセージ: SAVE_CONFIG 実行後に Unable to write config、Option conflict、Cannot save config が表示されるか、保存後にプリンターが起動しなくなる。
一般的な原因:
printer.cfgファイルの権限が不足しており、Klipperプロセスが書き込めない。sudoを使用して設定ファイルを編集した後によく発生します。- 自動保存領域(
#*#マークブロック)内の設定項目が、手動の[include]ファイル内の同じオプションと競合している。 - MCUがシャットダウン状態であり、
SAVE_CONFIGが新しい設定を正常に送信できない。 printer.cfgファイルの末尾に構文エラーがあるか、切り詰められており、自動保存領域への書き込みに失敗する。- 複数のincludeファイルが、
SAVE_CONFIGで自動保存すべきでないパラメータ(PID、Zオフセットなど)を重複して定義している。
解決方法:
-
設定ファイルの権限を確認します:
ls -la ~/printer_data/config/printer.cfg所有者が現在のユーザーでない場合、次のコマンドを実行します:
sudo chown $USER:$USER ~/printer_data/config/printer.cfg -
SAVE_CONFIG後にプリンターが起動しなくなった場合、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コードまたはマクロに誤って
SDCARD_RESET_FILEが含まれている。
解決方法:
- スライサーの開始Gコードとカスタムマクロを確認し、
SDCARD_RESET_FILEの呼び出しを削除するかコメントアウトします。 - SDカードファイルの状態をリセットする必要が本当にある場合は、印刷終了後に手動で実行し、印刷プロセス中に配置しないでください。
PRINT_STARTマクロを使用している場合、このコマンドが呼び出されていないことを確認します。