This list is NOT exhaustive, if you need support don't be a stranger and please come and talk to us on , we are more than happy to help.
If you do think that something is missing, please let us know and I will add it as soon as I can.
Command Mismatch
General Troubleshooting
I'm getting weird errors after updating my scanner.py, what do I do?
Firstly make sure you have hit the RESTART KLIPPER button in your Fluid/Mainsail UI, this will force the refresh of scanner.py to the updated version.
Strange Bed Mesh or Touch issues
You should try disable any extra custom macros that affect BED_MESH_CALIBRATE or anything that influences GCODE_Z_OFFSET like KAMP adaptive mesh etc.
Also try turning off or disabling the crowsnest or LED_effects plugins
Option 'pin' in section 'probe' must be specified
This can occur either after a Klipper update when the sym link occasionally gets broken, or if you have not installed the Klipper component during the install, either way the fix is the same, just re-run the installer below.
cd ~
git clone https://github.com/Cartographer3D/cartographer-klipper.git
./cartographer-klipper/install.sh
Unknown pin chip name 'scanner'
You are referencing cartographer/scanner before you have declared it in your config file. It is advisable to add the cartographer/scanner section just below where you declare your MCU's.
You have referenced cartographer with a capitilisation [Scanner] vs [scanner] or cs_pin: Scanner:PA3 vs cs_pin: scanner:PA3
This can happen when the symlink between klipper and scanner is broken. You can check your symlinks with the following command.
find ~/klipper/klippy/extras/ -maxdepth 1 -type l -ls
If they dont look right, or youre unsure, run the following
cd ~/cartographer-klipper
./install.sh
And then check your symlinks again. You should see scanner.py pointed to the cartographer-klipper folder.
Unknown pin chip name 'probe'
This error usually happens when you have your [scanner] section below your [stepper_z] section, move the [scanner] section near your MCU's.
mcu 'scanner': Unknown command: endstop_home
In [stepper_z] you have set endstop_pin: scanner:z_virtual_endstop this should be endstop_pin: probe:z_virtual_endstop
"Error importing numpy: you should not try to import numpy from" error
The error in a slightly different view.
This error usually occours when you have installed Cartographer as root rather than as a normal user (not always, but that is the only way I have been able to replicate it.).
In order to fix this, please update Klipper to the latest version either via your WebUI, or via KIAUH, once updated please access your Pi (or similar) via ssh
Run the the following command:
sudo apt install libopenblas-base
if the above doesn't work, please try the following
sudo apt install libopenblas-dev
Endstop showing Triggered
Endstop Z showing constantly triggered
Please ensure that you have calibrated your probe
Option mesh_main_direction is not a valid section in cartographer
'Scanner' object has no attribute 'touch_location'
Make sure you have a `zero_reference_position: 125, 125` set under [bed_mesh], adjusting values for centre of your bed with X Y
CARTOGRAPHER_THRESHOLD_SCANdoes nothing
You're in scan mode. Do a PROBE_SWITCH MODE=touch then SAVE_CONFIG. You may need to create a touch model if you dont already have one.
CARTOGRAPHER_TOUCH does nothing
You're in scan mode. Do a PROBE_SWITCH MODE=touch then SAVE_CONFIG. You may need to create a touch model if you dont already have one.
Scanner model 'default' was created for x error
Your scanner model doesnt match your current mode. Please recalibrate so that youre new model will match.
Unable to parse option mesh_runs in section cartographer
Unable to find your Cartographer USB probe via ls /dev/serial/by-id/
So there are a few reasons you might not be able to find your Cartographer probe.
A bug has been introduced in Debian Bullseye (which includes MainsailOS), which prevents the symlinks in /dev/serial/by-id/ from being created. If your printer can't connect to the MCU anymore after a system update, you can check if it is caused by that bug by checking the installed version of udev with apt show udev
If your version is 247.3-7+deb11u2 or 247.3-7+rpi1+deb11u2 you have the broken package installed and should use one of the fixes below. Take special care about the last number ("u2").
As of May 20 2023, this bug has spread to PiOS based systems as well.
To Fix - Replace the corrupted udev file with one from upstream systemd:
# backup the existing rules file (just in case)
sudo cp /usr/lib/udev/rules.d/60-serial.rules /usr/lib/udev/rules.d/60-serial.old
# download the rule from the systemd main repo.
sudo wget -O /usr/lib/udev/rules.d/60-serial.rules https://raw.githubusercontent.com/systemd/systemd/main/rules.d/60-serial.rules
# reboot
sudo reboot
Check your USB Cable - If you have bought a flat pack, and your probe is a assembled for RIGHT ANGLE operation, you might have to re-assemble re-pin your USB cable in reverse.
Klipper environement running on Python 2
{% hint style="info" %} Note - a minimum version of Pyhon 3.9 is required. {% endhint %}
sudo service klipper stop
# remove current klippy-env environment
cd ~
rm -rf klippy-env
# create new venv
virtualenv -p python3 klippy-env
#install new Klipper venv
cd ~/klippy-env
bin/pip install -r ../klipper/scripts/klippy-requirements.txt
Restart your pritner, and you should now have a wonderful Klipper environement running in Python3.
Klipper is showing my install as dirty?
Missing Clusters or Sharp Drop in your Bed Mesh
If you get a sharp drop in your bed mesh, or missing clusters error after a scan, ensure that your probe is covering the entire bed. You may need to adjust your bed mesh accordingly.
Repeated No trigger on z after full movement
Klipper freezes during scan/"timer too close" error
The cartographer probe sends quite a bit of data to the MCU during a scan. If the MCU is too busy, it can cause Klipper to freeze or throw a timer too close error. Often, this is due to an underpowered SBC, such as Raspberry Pi 2/3, or the BTT CB1. You can try to reduce some of the load by (temporarily) disabling cameras or other intensive processes, or following the guide linked below to adjust your settings.
If all else fails, you could consider upgrading to a more powerful SBC.
Mcu 'scanner': command format mismatch: query_lis2dw
This happens when youre using an older version of klipper. If you for whatever reason cannot update to the latest version of klipper, you need to REMOVE the following sections from printer.cfg completely.
SAVE_CONFIG section 'scanner' option 'scanner_touch_z_offset' conflicts with included value
A common cause for this is having you [scanner] section in an included config file and not in printer.cfg.
To work around this klipper limitation, remove scanner_touch_z_offset from your included config and add it to printer.cfg.
Below is an example of what to have in printer.cfg.
This will allow klipper to save new offsets using the UI.
Seeing the error above? This error shows yours cartographer is flashed with Survey 5.0 firmware however your printer.cfg/klipper is currently configured for firmware earlier than 5.0.
Remove or comment out your [cartographer] sections, taking note of the offsets and then continue with
The following two issues are usually why you recieve the above error.
You do not have a valid [bed_mesh] section in your printer.cfg, please check out for how to add one.
You do not have a valid [bed_mesh] section in your printer.cfg, please check out for how to add one.
If you have a v3 probe, it might be flashed for CAN Mode, please re-flash it for USB Operation, this includes the Katapult bootloader, as this is used to change the operation of the probe itself.
For more information on how to do that,
You will need to update your Klipper env from Python 2 to Python 3. the following guide is taken from
There is another outstanding guide by EricZimmerman that I would highly recommend checking out
\
Klipper will show any build as klipper as "dirty" if there are any untracked Python files within the folders, this is the same with all other python based plugins such as ShakenTune, LEDEffects and so on.
Unfortuantly, there is no way around this at the moment.
If you are getting the error No trigger on z after full movement, and running a lower powered SBC such as a Raspberry Pi 2, or a BTT CB1, You are able to lock a single CPU core to your Klipper instance.
Esoterical has an outstanding guide on how to do so below.
You have a parameter within your [scanner] section in printer.cfg that isnt valid. Remove X from your printer.cfg or check its written correctly. You can see