Erreur de classe de configuration
Cette page rassemble les problèmes liés aux conflits de sections de configuration, aux fautes d'orthographe des paramètres, aux fichiers include et aux questions relatives à SAVE_CONFIG. Après avoir modifié la configuration, veuillez d'abord consulter la première erreur de configuration dans klippy.log, puis traiter chaque élément un par un.
homing override method always homes X and Y before homing Z
Message d'erreur : Conflit entre le retour à la position d'origine sécurisé Z et la configuration de remplacement du retour à la position d'origine.
Cause de l'erreur : [safe_z_home] et [homing_override] sont configurés en même temps, ce qui empêche Klipper de déterminer quelle logique de retour à la position d'origine utiliser.
Solution :
- Recherchez
[safe_z_home]et[homing_override]dans le fichier de configuration. - Ne conservez qu'un seul élément en fonction de la logique de retour à la position d'origine réelle de la machine.
- Enregistrez et redémarrez Klipper.
Références de configuration associées : Guide de retour à la position d'origine et d'étalonnage de la direction, Configuration de référence pour le remplacement du retour à la position d'origine.
Option 'xxx' is not valid in section 'yyy'
Message d'erreur : Option 'xxx' is not valid in section 'yyy', un nom d'option non reconnu existe dans la section de configuration spécifiée.
Causes courantes :
- Faute d'orthographe dans le nom de l'option, par exemple
sensor_pinécrit commesensor_ping. - Coller accidentellement une option d'une autre section de configuration sous la section actuelle, par exemple écrire une option de
[probe]dans[stepper_z]. - Après une mise à niveau de Klipper, les options prises en charge par l'ancienne version ont été supprimées ou renommées.
- Utilisation d'un contenu de commentaire qui n'est pas un paramètre réel, par exemple
default_parameter_z.
Solution :
- Vérifiez attentivement la section de configuration et le nom de l'option indiqués dans l'erreur pour confirmer l'orthographe.
- Référez-vous au document de référence de configuration Klipper pour confirmer à quelle section de configuration cette option appartient.
- Si vous avez récemment mis à niveau Klipper, consultez le journal des modifications de configuration pour voir si l'option a changé.
- Supprimez ou déplacez l'option invalide vers la section de configuration correcte.
Références de configuration associées : Instructions de modification de configuration.
Section 'xxx' is not a valid config section
Message d'erreur : Section 'xxx' is not a valid config section, Unknown config object ou une certaine section de configuration ne peut pas être reconnue par Klipper.
Causes courantes :
- Faute d'orthographe dans le nom de la section de configuration, par exemple
[bed_mesh]écrit comme[bedmesh]. - La version actuelle de Klipper ne prend pas en charge cette section de configuration, ou le format de configuration n'est pas compatible après une mise à jour ou une rétrogradation.
- Copie de la configuration d'un plugin tiers, mais le plugin correspondant, le module d'extension ou la branche Klipper n'est pas installé.
- Le fichier include conserve les sections de configuration d'une autre machine ou d'une autre carte mère.
Solution :
- En fonction du nom de la section de configuration dans l'erreur, localisez le paragraphe correspondant dans
printer.cfget tous les fichiers include. - Confirmez que l'orthographe correspond à la référence de configuration Klipper. N'utilisez pas de parenthèses chinoises ou de symboles pleine largeur pour les noms de section de configuration.
- Si la configuration provient d'un plugin tiers ou d'un package de macros personnalisé, confirmez que le plugin correspondant est installé et compatible avec la version actuelle de Klipper.
- Si vous n'êtes pas sûr de l'utilisation du paragraphe, commentez d'abord cette section de configuration et redémarrez pour tester, puis restaurez élément par élément.
Références de configuration associées : Instructions de modification de configuration.
Unable to open config file / Include file does not exist
Message d'erreur : Unable to open config file /home/xxx/printer_data/config/printer.cfg ou Include file 'xxx.cfg' does not exist.
Causes courantes :
- Le chemin du fichier
printer.cfgest incorrect ou le fichier a été accidentellement supprimé. - Le fichier de sous-configuration référencé par
[include]n'existe pas ou le nom du fichier ne correspond pas. - Les outils d'installation comme KIAUH génèrent automatiquement une référence
[include]mais le fichier cfg correspondant n'est pas installé. - Problème de droits empêchant Klipper de lire le fichier de configuration.
Solution :
- Confirmez que
printer.cfgexiste dans le répertoire de configuration Klipper, généralement~/printer_data/config/printer.cfg. - Vérifiez toutes les lignes
[include xxx.cfg]pour confirmer que le fichier référencé existe réellement. - Si
fluidd.cfgoumainsail.cfgmanquent, reportez-vous à la documentation d'installation de l'interface Web correspondante pour compléter la configuration. - Assurez-vous que les droits du fichier de configuration sont corrects :
ls -la ~/printer_data/config/.
Unable to parse option / option must be specified
Message d'erreur : Unable to parse option 'xxx' in section 'yyy', Option 'xxx' in section 'yyy' must be specified, ou must have minimum/maximum, must be above/below.
Causes courantes :
- Paramètre obligatoire manquant, par exemple
[extruder]manquestep_pin,dir_pin,heater_pinousensor_type. - Format de paramètre incorrect, par exemple un nombre attendu mais un texte saisi, une liste de coordonnées attendue mais une virgule manquante.
- Valeur de paramètre en dehors de la plage autorisée par Klipper, par exemple
run_current,max_temp,position_maxdéfinis de manière irraisonnable. - Conservation de la ponctuation chinoise, des symboles pleine largeur ou des caractères invisibles lors de la copie de la configuration.
Solution :
- En fonction de la section de configuration et du nom de paramètre dans l'erreur, revenez au fichier
.cfgcorrespondant et vérifiez élément par élément. - Pour les paramètres numériques, de coordonnées et de liste, confirmez que le format est cohérent avec l'exemple, par exemple
mesh_min: 20, 20. - Pour
must be above/belowouminimum/maximum, rétablissez d'abord les valeurs recommandées par l'exemple officiel ou le tutoriel de la carte mère. - Après avoir enregistré, exécutez
RESTART. Si cela échoue encore, consultez la première erreur de configuration dansklippy.log.
Références de configuration associées : Instructions de modification de configuration.
Unknown pin chip name / pin used multiple times
Message d'erreur : Unknown pin chip name 'xxx', Invalid pin description 'xxx', pin xxx used multiple times in config.
Causes courantes :
- Dans une configuration multi-MCU, le préfixe de broche est mal écrit, par exemple
EBBCan:PB0devrait être écrit mais un nom de MCU inexistant est saisi. - Faute d'orthographe dans le nom de la broche, ou copie directe de la broche du tutoriel de la carte mère vers une autre carte mère.
- La même broche physique est occupée par plusieurs fonctions en double, par exemple ventilateur, chauffage, butée utilisant la même broche.
- L'inversion de broche
!, le pull-up^, le pull-down~sont écrits au mauvais endroit.
Solution :
- Vérifiez que le nom de
[mcu xxx]correspond exactement au préfixe de broche, y compris la casse. - Comparez avec le plan des broches de la carte mère pour confirmer que chaque
pin:,step_pin:,dir_pin:,heater_pin:appartient à la carte mère actuelle. - Recherchez la broche signalée dans tous les fichiers include, supprimez ou remplacez les éléments en double.
- Les modificateurs de broche doivent être écrits avant le nom de la broche, par exemple
^PB7,!PC13,mcu2:^PB7.
Références de configuration associées : Instructions de modification de configuration, Configuration de référence du ventilateur.
gcode command XXX already registered
Message d'erreur : Error: gcode command XXX already registered.
Cause de l'erreur : Deux macros ou modules système différents enregistrent le même nom de commande G-code, par exemple deux macros définissent toutes deux [gcode_macro NEXT].
Scénarios courants :
- Conflit entre une macro personnalisée de l'utilisateur et un module système Klipper ou une configuration tierce.
- Définitions multiples de
[gcode_macro M600].
Solution :
- Recherchez les définitions en double dans
printer.cfget tous les fichiers[include]. - Supprimez ou renommez le
[gcode_macro]en conflit. - Vérifiez les macros courantes comme
[homing_override],[gcode_macro PAUSE],[gcode_macro RESUME],[gcode_macro CANCEL_PRINT].
Références de configuration associées : Introduction aux macros.
Unknown command:"XXX"
Message d'erreur : Unknown command:"PRINT_START", Unknown command:"START_PRINT", Unknown command:"M600", Unknown command:"EXCLUDE_OBJECT_START", Unknown command:"EXCLUDE_OBJECT_END", Unknown command:"M106", Unknown command:"M201", Unknown command:"M203", Unknown command:"M205", etc. apparaissent dans la console ou klippy.log.
Causes courantes :
- Le G-code de début ou de fin du slicer appelle une macro qui n'existe pas dans Klipper. Par exemple, le slicer envoie
PRINT_START, mais la configuration ne définit que[gcode_macro START_PRINT]. - Utilisation de commandes migrées depuis Marlin, que Klipper ne prend pas en charge par défaut ou nécessite une macro pour être compatible.
- Activation de la fonction d'exclusion d'objet, mais la configuration du slicer, de Moonraker ou de Klipper est incomplète, ce qui empêche la reconnaissance de
EXCLUDE_OBJECT_START/EXCLUDE_OBJECT_END. - Le ventilateur utilise
[fan_generic]ou[output_pin], mais le slicer envoie toujours les commandes par défautM106/M107. - Utilisation d'un package de macros tiers avec un fichier include manquant, ou le nom de la macro ne correspond pas au nom saisi dans le slicer.
Solution :
- Recherchez le nom de la commande signalée dans
printer.cfget tous les fichiers include pour confirmer s'il existe un[gcode_macro XXX]correspondant. - Assurez-vous que les noms des commandes de début, de fin, de changement de filament, de ventilateur et d'exclusion d'objet dans le slicer correspondent aux macros Klipper.
- S'il s'agit de commandes Marlin, privilégiez la suppression des commandes inutiles ; si une compatibilité est réellement nécessaire, ajoutez une macro Klipper explicite.
- Pour les erreurs liées à l'exclusion d'objet, vérifiez simultanément si le slicer génère l'étiquette d'objet, si Moonraker active le traitement des objets, et si Klipper dispose de
[exclude_object]. - En cas d'erreur de commande de ventilateur, confirmez si
[fan]doit être utilisé, ou ajoutez une macro de contrôle correspondante pour[fan_generic]/[output_pin].
Références de configuration associées : Introduction aux macros, Instructions de modification de configuration.
Error evaluating 'gcode_macro XXX:gcode'
Message d'erreur : 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.
Causes courantes :
- Le slicer ne transmet pas le paramètre requis par la macro, par exemple la macro lit
params.HOTENDmais le slicer ne transmet pasHOTEND=. - Incohérence du nom du paramètre, par exemple la macro nécessite
BED/HOTEND, mais le slicer transmet réellementBED_TEMP/EXTRUDER_TEMP. - La macro fait référence à un objet inexistant, par exemple la configuration n'a pas
[heater_bed], mais la macro litprinter.heater_bed. - La macro utilise la syntaxe Jinja2, mais les parenthèses, guillemets, filtres ou valeurs par défaut sont mal écrits.
- La commande exécutée à l'intérieur de la macro génère d'abord une erreur, et la couche externe n'affiche que
Error evaluating.
Solution :
- Consultez la trace complète sous
Error evaluatingdansklippy.logpour confirmer quelle variable ou commande est en erreur. - Comparez avec le G-code de début du slicer pour confirmer que le nom du paramètre transmis correspond exactement à
params.xxxdans la macro, y compris la casse. - Définissez une valeur par défaut pour les paramètres optionnels, par exemple
params.BED|default(60)|float, pour éviter une erreur lorsque le paramètre est vide. - Recherchez l'objet
printer.xxxutilisé dans la macro pour confirmer que le module correspondant existe dans la configuration. - Si la macro provient d'un package de configuration tiers, confirmez que tous les fichiers include et les macros de base dépendants sont chargés.
Références de configuration associées : Introduction aux macros.
Échec de SAVE_CONFIG ou conflit de configuration
Messages d'erreur : Après l'exécution de SAVE_CONFIG, Unable to write config, Option conflict, Cannot save config s'affichent, ou l'imprimante ne peut pas démarrer après l'enregistrement.
Causes courantes :
- Droits insuffisants sur le fichier
printer.cfg, le processus Klipper ne peut pas écrire, courant après avoir édité le fichier de configuration avecsudo. - Conflit entre les éléments de configuration dans la zone d'enregistrement automatique (bloc de marquage
#*#) et les mêmes options dans le fichier manuel[include]. - Le MCU est déjà en état d'arrêt,
SAVE_CONFIGne peut pas transmettre correctement la nouvelle configuration. - Erreur de syntaxe ou troncature à la fin du fichier
printer.cfg, empêchant l'écriture de la zone d'enregistrement automatique. - Plusieurs fichiers include définissent en double des paramètres qui ne devraient pas être automatiquement enregistrés par
SAVE_CONFIG, comme PID, Z offset.
Solution :
-
Confirmez les droits du fichier de configuration :
ls -la ~/printer_data/config/printer.cfgSi le propriétaire n'est pas l'utilisateur actuel, exécutez :
sudo chown $USER:$USER ~/printer_data/config/printer.cfg -
Si l'imprimante ne peut pas démarrer après
SAVE_CONFIG, ouvrez le bas deprinter.cfgpour consulter la zone d'enregistrement automatique#*#. -
Si la même option existe également dans le fichier include, supprimez les doublons dans la zone d'enregistrement automatique, ou gérez-les de manière centralisée dans le fichier include.
-
Si le MCU est en état d'arrêt, exécutez d'abord
FIRMWARE_RESTART, puis réexécutezSAVE_CONFIG. -
Si les droits sont normaux mais que l'écriture est toujours impossible, vérifiez l'espace disque :
df -h ~/printer_data/.
Références de configuration associées : Instructions de modification de configuration.