Category Archives: Kindle

Connecting Kindle Fire HD to Debian 7

“Because of my poor patch of moorland I can never produce crops to compete with my neighbour’s, ought I remain arms folded?”
Paul Sabatier Modernism: the Jewett Lectures 1908
Santa came and left exactly one Kindle Fire HD 7 per child, there were two, went about his merry way, never again to lose a thought about the father, the mother, the two children or the Kindles.
Not the first order of business, but certainly pretty high on the list was connecting a Kindle to a Debian 7 PC. Kindle Fire doesn’t support USB, but instead uses MTP (Media Transfer Protocol) for automatically transferring data to its media. MTP has several drawbacks, some of which are no parallelization, no multi-tasking and it doesn’t support direct modification of data. But the biggest drawback is that MTP devices are not treated as traditional removable disks. The file system is implemented by the device and not by the operating system, which means that most software will not recognize a MTP device.
libmtp ( and thanks very much for that) offers a MTP implementation for POSIX based operating systems. libmtp is really just a C library and it comes with a set of example programs which allow you to do anything imaginable with your MTP device.  A FUSE (Filesystem in User Space) filesystem which supports reading and writing to a MTP device is also required. This comes in the form of MTPfs ( and again thanks for that). There is also a GUI (gmtp for anybody who isn’t console enamored.
All that is left is to run through an installation and mount the device.
  1. Add the Debian backports
    echo “deb wheezy-backports main” >> /etc/apt/sources.list
    # apt-get update
  2. Install the software
    # apt-get install libmtp9 mtp-tools jmtpfs gmtp
  3. Connect the kindle
    Sounds silly but the kindle has to be connected and logged on.
  4. Mount the device
    # mtp-detect
    # jmtpfs -o allow_other /mnt

That’s it.  When the device is to be unmounted.

  1. Unmount the Kindle
    # fusermount -u /mnt

Of course, once the software has been installed, there is the GUI option.  Although the GUI does offer an exercise in patience, as it tends to lag and it takes a 30 or 40 seconds before the device becomes visible, it is far easier and more intuitive to use than the console.

Public Domain Mark