😭Troubleshooting
Last updated
Last updated
This list is NOT exhaustive, if you need support don't be a stranger and please come and talk to us on Discord, 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.
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 guide here.
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.
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
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
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.
This error usually happens when you have your [scanner]
section below your [stepper_z]
section, move the [scanner]
section near your MCU's.
In [stepper_z]
you have set endstop_pin: scanner:z_virtual_endstop
this should be endstop_pin: probe:z_virtual_endstop
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 Z showing constantly triggered
Please ensure that you have calibrated your probe
You do not have a valid [bed_mesh] section in your printer.cfg, please check out this site for how to add one.
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_SCAN
does nothingYou'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 nothingYou'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.
x
errorYour scanner model doesnt match your current mode. Please recalibrate so that youre new model will match.
You do not have a valid [bed_mesh] section in your printer.cfg, please check out this site for how to add one.
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
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, click here
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.
You will need to update your Klipper env from Python 2 to Python 3. the following guide is taken from https://klipper.discourse.group/t/process-for-migrating-to-python3/5292/3 There is another outstanding guide by EricZimmerman that I would highly recommend checking out https://github.com/EricZimmerman/VoronTools/blob/main/OSUpgrade.md\
{% 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 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. https://github.com/Klipper3d/klipper/actions/runs/4840565448
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.
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.
https://canbus.esoterical.online/troubleshooting/timeout_during_homing_probing.html#experimental
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.
https://canbus.esoterical.online/troubleshooting/timeout_during_homing_probing.html#experimental
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.
[lis2dw]
cs_pin
spi_bus:
[resonance_tester]
accel_chip: lis2dw
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 valid parameters here
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.
The following two issues are usually why you recieve the above error.