From: Petter Reinholdtsen The isenkram
+system is a user-focused solution in Debian for handling hardware
+related packages. The idea is to have a database of mappings between
+hardware and packages, and pop up a dialog suggesting for the user to
+install the packages to use a given hardware dongle. Some use cases
+are when you insert a Yubikey, it proposes to install the software
+needed to control it; when you insert a braille reader list it
+proposes to install the packages needed to send text to the reader;
+and when you insert a ColorHug screen calibrator it suggests to
+install the driver for it. The system work well, and even have a few
+command line tools to install firmware packages and packages for the
+hardware already in the machine (as opposed to hotpluggable hardware). The system was initially written using aptdaemon, because I found
+good documentation and example code on how to use it. But aptdaemon
+is going away and is generally being replaced by
+PackageKit,
+so Isenkram needed a rewrite. And today, thanks to the great patch
+from my college Sunil Mohan Adapa in the FreedomBox project, the
+rewrite finally took place. I've just uploaded a new version of
+Isenkram into Debian Unstable with the patch included, and the default
+for the background daemon is now to use PackageKit. To check it out,
+install the isenkram package and insert some hardware dongle
+and see if it is recognised. If you want to know what kind of packages isenkram would propose for
+the machine it is running on, you can check out the isenkram-lookup
+program. This is what it look like on a Thinkpad X230:
+% isenkram-lookup
+bluez
+cheese
+fprintd
+fprintd-demo
+gkrellm-thinkbat
+hdapsd
+libpam-fprintd
+pidgin-blinklight
+thinkfan
+tleds
+tp-smapi-dkms
+tp-smapi-source
+tpb
+%p
+
The hardware mappings come from several places. The preferred way +is for packages to announce their hardware support using +the +cross distribution appstream system. +See +previous +blog posts about isenkram to learn how to do that.