Same issue observed in calibre 4.99.4+dfsg+really4.12.0-1build1 on Focal 20.04 LTS with Kindle Fire HD 8 plus (10th generation) Following the guide here seems to help: https://manual.calibre-ebook.com/faq.html#android-usb If you miss or can't find the USB notification by swiping down: - Swipe down from top of the device's screen - Swipe down again to expand the system control widgets (WiFi, Bluetooth, etc...) - Tap the Gear icon in the lower right to open Settings (OR just tap "Settings" icon from the device's homescreen) - Tap "Connected Devices" - Tap "USB" - Under "Use USB for", tap "File Transfer" Note: When trying to switch "USB controlled by" to "Connected device", it did not seem to work and just says "Couldn't switch". After enabling File Transfer mode, the device was mounted under an unusual path (when compared to most standard USB mass storage devices): /run/user/1000/gvfs/mtp:host=Amazon_XXXXXX_XXXXXXXXXXXXXXXX/Internal storage The device's product ID and serial number should be listed in place of the X's. After doing this, I opened up Calibre via the command line. It threw this exception error: Device 0 (VID=1949 and PID=0581) is UNKNOWN in libmtp v1.1.17. Please report this VID/PID and the device model to the libmtp development team error returned by libusb_claim_interface() = -6LIBMTP PANIC: Unable to initialize device Error while trying to open MTPDevice(busnum=1, devnum=35, vendor_id=6473, product_id=1409, bcd=547, serial='XXXXXXXXXXXXXXXX', manufacturer='Amazon', product='XXXXXX') (Driver: ) Traceback (most recent call last): File "/usr/lib/calibre/calibre/devices/mtp/unix/driver.py", line 218, in open self.dev = self.create_device(connected_device) File "/usr/lib/calibre/calibre/devices/mtp/base.py", line 25, in synchronizer return func(self, *args, **kwargs) File "/usr/lib/calibre/calibre/devices/mtp/unix/driver.py", line 171, in create_device return self.libmtp.Device(d.busnum, d.devnum, d.vendor_id, libmtp.MTPError: Unable to open MTP device with busnum=1 and devnum=35, tried 1 such devices During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/calibre/calibre/gui2/device.py", line 297, in detect_device dev.open(cd, self.current_library_uuid) File "/usr/lib/calibre/calibre/devices/mtp/driver.py", line 125, in open BASE.open(self, device, library_uuid) File "/usr/lib/calibre/calibre/devices/mtp/base.py", line 25, in synchronizer return func(self, *args, **kwargs) File "/usr/lib/calibre/calibre/devices/mtp/unix/driver.py", line 221, in open raise OpenFailed('Failed to open %s: Error: %s'%( calibre.devices.errors.OpenFailed: Failed to open MTPDevice(busnum=1, devnum=35, vendor_id=6473, product_id=1409, bcd=547, serial='XXXXXXXXXXXXXXXX', manufacturer='Amazon', product='XXXXXX'): Error: Unable to open MTP device with busnum=1 and devnum=35, tried 1 such devices So in this case it appears to be an error caused by an unrecognizable device in the current version of libmtp: Device 0 (VID=1949 and PID=0581) is UNKNOWN in libmtp v1.1.17. The packages in Ubuntu's official repository are probably due for an update. Updating libmtp would probably enable many new devices to work under Ubuntu. Calibre is currently at version: 5.6.0 libmtp is currently at 1.1.18