Debian Bullseye Bug causing Klipper to no longer find the printer board


In recent updates, Debian Bullseye (Debian 11) introduced a bug in udev that causes the command

ls /dev/serial/by-id/*

to fail.

To check if you are affected by the bug run:

apt-cache policy udev

an output like the following, denoting the version 247.3-7+deb11u2 probably means that you are also affected by the bug:

  Installed: 247.3-7+deb11u2
  Candidate: 247.3-7+deb11u2
  Version table:
 *** 247.3-7+deb11u2 500
        500 bullseye/main arm64 Packages
        100 /var/lib/dpkg/status


To remedy the situation, you can use following approach:

:warning: WARNING: It seems that certain (old?) Raspberry Pis, e.g. the RPi B+, might have an issue with the updated udev package and no longer boot correctly

  1. Execute sudo apt edit-sources
  2. In the editor that opens (if asked choose nano) add following line at the end:
    deb bullseye-backports main non-free contrib
  3. Save and close
  4. Run: sudo apt update
  5. Closely monitor the output of the above command. On errors see the following post
  6. Run: sudo apt install udev -t bullseye-backports
  7. Reboot

Depending on the “flavor” of Debian Bullseye, e.g. Armbian, Pi OS , MainsailOS etc, it can happen that the public signing keys of the repository are not available in the keyring.

This results in an error message during apt update similar to:

W: GPG error: bullseye-backports  InRelease: 
   The following signatures couldn't be verified because the public key is not 
   available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
E: The repository ' bullseye-backports  InRelease' 
   is not signed.
N: Updating from such a repository can't be done securely, and is therefore 
   disabled by default.

This error message can be solved by executing:

sudo apt-key adv --keyserver --recv-keys 648ACFD622F3D138
sudo apt-key adv --keyserver --recv-keys 0E98404D386FA1D9