Calibre can not send book to Kindle

I don't know why but Calibre stopped sending working with my Kindle on Ubuntu 12.04 32 bits.

Till a few time ago everything was working just fine, but now whenever I connect my Kindle and try to send some book on the main meory of the device I get this error:

calibre, version 0.8.38
ERROR: Error: Error communicating with device

[Errno 30] Read-only file system: '/media/Kindle/documents/Blisett, Luther'

Traceback (most recent call last):
  File "/usr/lib/calibre/calibre/gui2/device.py", line 81, in run
    self.result = self.func(*self.args, **self.kwargs)
  File "/usr/lib/calibre/calibre/gui2/device.py", line 411, in _upload_books
    metadata=metadata, end_session=False)
  File "/usr/lib/calibre/calibre/devices/usbms/driver.py", line 260, in upload_books
    filepath = self.normalize_path(self.create_upload_path(path, mdata, fname))
  File "/usr/lib/calibre/calibre/devices/usbms/device.py", line 1120, in create_upload_path
    os.makedirs(filedir)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 30] Read-only file system: '/media/Kindle/documents/Blisett, Luther'

I realize it is something that has to do with the permissions, so I have tried to change them using chown: sudo chmod a+rwx /media/Kindle but I get this error: chmod: changing permissions of 'Kindle': Read-only file system

How can I fix this?


If you're experiencing issues with your Kindle mounted as read-only it is probably due to some errors in the file system.

Find the folder of your device typing mount

In my case the output is:

/dev/sdc1 on /media/Kindle type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks)

meaning that I have to correct the filesystem on /dev/sdc1

You can do that using fsck: sudo fsck.vfat -r /dev/sdc1

If you get ask which partition you want to correct select the first by pressing 1 and continue.

Unmount your Kindle and remove and plug again the USB cable, you should now be able to send and copy files from calibre to your device.


After running the fsck.vfat command, I was told that the dirty bit is set, which was probably because of unclean unmount. First I accepted to clear that bit, then it offered to correct the blocks in the first partition, which I declined. After reconnecting Kindle back, it mounted cleanly as RW partition. Thanks for the tip!