I'm running Calibre-3.8.0 on gentoo Linux. I have a 1st-gen Kindle Paperwhite from … 2013, I think?
Calibre consistently sets the device read-only, setting the dirty bit. If I connect via regular USB and check with the OS, I see this:
Code:
[156873.009797] sd 10:0:0:0: [sdg] Synchronizing SCSI cache
[156873.009852] sd 10:0:0:0: [sdg] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[156873.465571] usb 6-5: new high-speed USB device number 5 using ehci-pci
[156874.017538] usb 6-5: device not accepting address 5, error -71
[156887.060876] usb 6-5: new high-speed USB device number 7 using ehci-pci
[156887.218012] usb-storage 6-5:1.0: USB Mass Storage device detected
[156887.218201] scsi host10: usb-storage 6-5:1.0
[156888.246073] scsi 10:0:0:0: Direct-Access Kindle Internal Storage 0100 PQ: 0 ANSI: 2
[156888.246257] sd 10:0:0:0: Attached scsi generic sg6 type 0
[156888.255063] sd 10:0:0:0: [sdg] Attached SCSI removable disk
[156890.330907] sd 10:0:0:0: [sdg] 2797568 512-byte logical blocks: (1.43 GB/1.33 GiB)
[156890.552748] sd 10:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[156890.774035] sdg: sdg1
However, if I start Calibre, it not only fails to detect the device, it sets it read-only. I have no problem putting files on the Paperwhite directly with the file manager, but Calibre cannot.
When I run Calibre's device debug, I see the following:
Code:
Devices possibly connected: Kindle 2/3/4/Touch/PaperWhite/Voyage Device Interface, User Defined USB driver,
Trying to open Kindle 2/3/4/Touch/PaperWhite/Voyage Device Interface ... failed
Trying to open User Defined USB driver ... failed
Opening of the following devices failed
<calibre.devices.kindle.driver.KINDLE2 object at 0x7f53e222f510>
Traceback (most recent call last):
File "/usr/lib64/calibre/calibre/devices/__init__.py", line 158, in debug
dev.open(det, None)
File "/usr/lib64/calibre/calibre/devices/usbms/device.py", line 825, in open
self.open_linux()
File "/usr/lib64/calibre/calibre/devices/usbms/device.py", line 599, in open_linux
self.filter_read_only_mount_points()
File "/usr/lib64/calibre/calibre/devices/usbms/device.py", line 637, in filter_read_only_mount_points
%self.__class__.__name__)
DeviceError: The main memory of KINDLE2 is read only. This usually happens because of file system errors.
This happens every time. When I run 'fsck.vfat -a /dev/sdg' to repair the filesystem, it finds no errors, resets the dirty bit, and the whole process starts over.
Any ideas what's going on here, or how I can debug it?
Cheers,
EE