- Confirm whether Linux, not calibre, mounted the e-reader read-only.
- Identify, back up, unmount, and safely repair the correct filesystem.
- Verify success with mount output, a write test, and one book transfer.
- Confirm the Symptom With a Small Safe Test
- Distinguish an OS Mount Error From a calibre Error
- Check the Linux Mount and USB Connection
- Find the Correct Device Node Carefully
- Back Up and Repair the Filesystem Only When Safe
- Use calibre Logs to Isolate Remaining Errors
- Run a Clean Temporary Test Before Reinstalling
- Quick Fix Checklist
- Frequently Asked Questions
When an e-reader is mounted read-only on Linux, calibre may detect the device but fail to send, delete, rename, or update books. You may see messages containing phrases such as read-only filesystem, permission denied, or cannot write to device. In this situation, the most likely cause is not the calibre library or its metadata. Linux has mounted the reader's storage without write access, often because it detected filesystem errors, the device was disconnected unsafely, the USB connection is unstable, or the storage is physically write-protected. The safest approach is to confirm the operating system's mount state first, identify the correct device partition carefully, back up readable files, and repair the filesystem only when the device is unmounted.

Start with free Canva bundles
Browse the freebies page to claim ready-to-use Canva bundles, then get 25% off your first premium bundle after you sign up.
Free to claim. Canva-ready. Instant access.
1. Confirm the Symptom With a Small Safe Test
Before changing calibre settings, determine whether Linux itself can write to the mounted reader. This separates an operating system storage problem from a calibre device-plugin problem.
1.1 Locate the device mount point
Connect the e-reader, approve its USB connection if prompted, and wait for it to appear in your file manager. Common mount locations include /run/media/username/device-name and /media/username/device-name.
You can inspect mounted filesystems with:
findmnt -o SOURCE,TARGET,FSTYPE,OPTIONS
Look for the row corresponding to the e-reader. The SOURCE column identifies the device or partition, the TARGET column shows its mount point, and the options reveal whether it is mounted read-only or read-write. An option of ro means read-only. An option of rw means read-write.
If you already know the mount point, use a more targeted command:
findmnt --target "/run/media/username/device-name"
Replace the example path with the actual device location. Paths containing spaces should be enclosed in quotation marks.
1.2 Try creating and removing one harmless file
Close calibre so it is not accessing the device. In the file manager, try creating an empty folder named calibre-write-test on the device, then delete it. Alternatively, use the terminal:
touch "/run/media/username/device-name/calibre-write-test"
If that succeeds, remove the test file:
rm "/run/media/username/device-name/calibre-write-test"
If touch reports Read-only file system, the failure exists below calibre. Do not reinstall calibre, delete its library, rebuild metadata, or change conversion settings. Those actions cannot make a read-only Linux mount writable.
If the test file can be created and deleted, stop investigating filesystem repair. The mount is writable, so proceed to calibre-specific checks instead.
2. Distinguish an OS Mount Error From a calibre Error
A true read-only mount affects every application, not just calibre. A calibre plugin or device-detection problem usually behaves differently.
2.1 Signs that Linux mounted the storage read-only
findmntormountdisplays therooption for the reader.- The file manager cannot create, rename, move, or delete files on the device.
- A terminal write test returns
Read-only file system. - calibre detects the reader but cannot send or remove books.
- Kernel logs mention filesystem errors, write protection, I/O errors, or a read-only remount.
When these signs appear, work on the Linux mount, filesystem, cable, or device storage. Stop changing calibre settings until an ordinary file operation succeeds outside calibre.
2.2 Signs that the problem may be inside calibre
- The device is writable in the file manager and passes the test-file check.
- calibre does not detect the device at all.
- The error names a device plugin, unsupported format, destination folder, or database rather than a read-only filesystem.
- Only one calibre action fails while normal file copying works.
- The device was added to calibre's ignored-device list.
For a writable device that calibre does not recognize, open Preferences > Ignored Devices and confirm that the reader is not listed. If it exposes ordinary USB storage but is unusual or unsupported, calibre's Connect to folder feature or User Defined device plugin may be appropriate. These options are not fixes for a genuinely read-only mount.
2.3 Avoid unrelated calibre settings
Metadata downloads, conversion options, email accounts, Content server settings, the e-book viewer, and the editor do not control whether Linux mounts USB storage read-only. The calibre library's permissions are also separate from the e-reader's mounted filesystem. Investigate those areas only if the error specifically identifies them or if the operating system can already write to the device.
3. Check the Linux Mount and USB Connection
A read-only mount can result from filesystem damage, a hardware write-protect switch, unreliable USB communication, or the device exposing a restricted connection mode.
3.1 Inspect the mount options
Use either of these commands:
findmnt -o SOURCE,TARGET,FSTYPE,VFS-OPTIONS,FS-OPTIONS
mount | grep -E '/media/|/run/media/'
Record the source, target, filesystem type, and options. You will need the filesystem type before choosing any repair tool. Do not assume every e-reader uses FAT32, and do not copy a repair command blindly from a forum post.
Success at this stage means you can identify one unambiguous row for the reader, such as a partition mounted with ro. If several removable devices are connected, disconnect the others and repeat the check.
3.2 Check for a physical write-protect control
If the reader uses a removable SD or microSD card, inspect the card and adapter. Full-size SD adapters commonly have a physical lock switch. A faulty adapter can also report the card as write-protected even when the switch appears unlocked.
Remove the card safely, reposition the switch, and reconnect it. If possible, test the card with a different adapter. Success means Linux mounts it with rw and permits the small write test. Once that happens, stop changing settings and test calibre again.
3.3 Try another USB port and cable
A cable can provide power while failing during sustained data transfer. Disconnect the reader safely, restart it if necessary, and reconnect it directly to another computer port. Avoid unpowered hubs, keyboard ports, monitor hubs, and loose adapters during testing. Try a known data-capable cable, not a charging-only cable.
If the device remains connected reliably and mounts read-write with another cable or port, the original connection was likely the cause. There is no reason to run filesystem repair if the mount is now stable and writable.
3.4 Confirm the device's USB mode
Some readers and Android-based devices offer modes such as charging only, file transfer, MTP, or USB storage. Unlock the device and select its file-transfer mode when prompted.
MTP devices differ from USB mass-storage devices. They may not appear as a normal block-device partition under /dev, and filesystem repair commands such as fsck must not be aimed at an MTP path. Also close file managers or transfer utilities that may have exclusive control of an MTP connection before testing calibre.
If switching to file-transfer mode allows calibre to detect and use the device, stop troubleshooting. The underlying filesystem was not necessarily mounted read-only.
3.5 Inspect recent system messages
Immediately after connecting the reader, check recent kernel messages:
sudo dmesg --ctime | tail -n 80
On systems that restrict direct dmesg access, try:
sudo journalctl -k -n 100 --no-pager
Look for messages involving the reader's device name, filesystem errors, USB resets, I/O failures, write protection, or a remount as read-only. Repeated USB disconnects suggest a cable, port, power, or hardware problem. Filesystem consistency errors suggest that a repair check may be appropriate.
4. Find the Correct Device Node Carefully
Filesystem repair tools can modify data. Selecting your computer's system partition instead of the reader could cause serious damage. Identify the reader by several matching details rather than guessing from a name such as /dev/sdc.
4.1 Compare the device list before and after connection
Run this command with the reader disconnected:
lsblk -o NAME,PATH,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS,MODEL,TRAN
Connect the reader, wait for it to mount, and run the same command again. The newly appearing disk and partition are likely the reader. Verify the expected storage size, label, model, USB transport, and mount point.
In many cases, the disk is something like /dev/sdc while its filesystem is on a partition such as /dev/sdc1. Repair the partition containing the filesystem, not automatically the whole disk. Use the exact source reported by findmnt and confirm it against lsblk.
4.2 Do not rely on device letters remaining constant
Names such as /dev/sdb and /dev/sdc can change after reconnection or reboot. Recheck the node immediately before every repair attempt. A remembered device letter is not sufficient evidence.
Do not continue unless the source, mount point, size, filesystem type, and device identity all agree. If you remain uncertain, use a graphical disk utility or ask an experienced Linux administrator to verify the partition.

5. Back Up and Repair the Filesystem Only When Safe
If the device is readable, copy important books, notes, documents, and other accessible files to the computer before attempting repair. A filesystem check is intended to restore consistency, but damaged storage can deteriorate or lose directory entries during recovery.
5.1 Unmount the filesystem before repair
Close calibre, close file-manager windows showing the reader, and make sure no terminal is currently inside its mount directory. Then unmount by mount point:
sudo umount "/run/media/username/device-name"
Using the mount point reduces the chance of acting on the wrong partition. If the command says the target is busy, do not force repair on the mounted filesystem. Close programs using it and try again. You can inspect users of the mount point with:
fuser -vm "/run/media/username/device-name"
Confirm that it is unmounted:
findmnt --source /dev/sdc1
Replace /dev/sdc1 with the verified partition. No matching mounted filesystem should be shown before repair begins.
5.2 Choose the checker that matches the filesystem
Use lsblk -f or findmnt to identify the filesystem. Common examples include:
- FAT or FAT32:
sudo fsck.vfat /dev/sdc1 - exFAT:
sudo fsck.exfat /dev/sdc1 - ext4:
sudo fsck.ext4 /dev/sdc1
These are examples, not universal instructions. The relevant checker must be installed, supported by your distribution, and appropriate for the exact filesystem. Do not run fsck.vfat on exFAT, ext4, NTFS, or an unknown filesystem. Do not run a filesystem checker against an MTP connection.
For a first attempt, interactive repair is safer than automatically answering yes to every proposed change. Read each prompt. If the device contains irreplaceable data or reports hardware I/O errors, stop and prioritize professional recovery or a full device image rather than repeatedly modifying the damaged storage.
5.3 Reconnect and verify the result
After the checker finishes, disconnect the reader only when it is safe to do so, then reconnect it. Check the mount again:
findmnt -o SOURCE,TARGET,FSTYPE,OPTIONS
Repeat the small test-file operation. Success means the options include rw, the test file can be created and deleted, and calibre can send one nonessential book without an error. Once all three checks pass, stop changing settings.
If the filesystem immediately becomes read-only again, or system logs show continuing I/O errors, do not keep repairing it. The flash storage, SD card, USB connector, cable, or reader hardware may be failing. Back up anything still readable and consider replacing the removable storage or contacting the device manufacturer.
6. Use calibre Logs to Isolate Remaining Errors
Use calibre diagnostics only after Linux can write to the device. They help determine whether calibre detects the correct hardware and which device driver is opening it.
6.1 Run calibre's device detection debug tool
With the reader connected, open Preferences > Miscellaneous > Debug device detection. Save the output. If needed, repeat the test with the reader disconnected so the two reports can be compared.
You can also close calibre and run this terminal command:
calibre-debug --debug-device-driver
The short form is:
calibre-debug -d
This output can show whether calibre sees the USB device, ignores it, selects a driver, or fails while opening it. A device-plugin error that remains after the operating system passes the write test is meaningfully different from a read-only filesystem error.
6.2 Run the graphical interface with debugging enabled
Close all calibre windows and start it from a terminal:
calibre-debug -g
Connect the reader and reproduce the failure once. Read the terminal output and the failed job's details. Record the complete error rather than only its final line.
If the error points to an unsupported output format, device destination folder, third-party plugin, or device database, address that specific issue. If it again says Read-only file system, return to the Linux mount investigation because the operating system has not remained writable.
7. Run a Clean Temporary Test Before Reinstalling
Reinstalling calibre rarely repairs a read-only USB filesystem. A controlled test is faster and avoids changing several variables at once.
- Close calibre and safely disconnect the reader.
- Restart both the computer and the e-reader.
- Connect the reader directly with a known-good data cable.
- Confirm the correct file-transfer or storage mode on the reader.
- Check
findmntforrw. - Create and delete one harmless test file outside calibre.
- Start calibre without opening other device-management programs.
- Send one small, nonessential, supported e-book.
- Eject the device properly and confirm that the test book appears on it.
If this succeeds, stop. Reconnect other hubs, plugins, file managers, and accessories one at a time only if you need to identify which component triggered the original problem.
Do not delete your calibre library, remove metadata.db, reset conversion preferences, reconfigure email, or alter the Content server for this symptom. Those components do not control the reader's Linux filesystem mount mode.
8. Quick Fix Checklist
- Close calibre and test whether Linux can create a file on the reader.
- Use
findmntto check forroorrw. - Confirm the source, mount point, filesystem type, size, and device model.
- Check an SD card or adapter for physical write protection.
- Try a direct USB port and a known data-capable cable.
- Select file-transfer mode on devices that require it.
- Review kernel logs for filesystem, write-protection, USB, or I/O errors.
- Back up readable device contents before attempting repair.
- Unmount the verified filesystem before running its matching checker.
- Reconnect and repeat the mount check and safe write test.
- Use calibre device-debug output only after Linux can write normally.
- Stop troubleshooting when the mount is
rwand one book transfers successfully.
9. Frequently Asked Questions
9.1 Why does Linux mount an e-reader read-only?
Linux may use or switch to a read-only mount when it detects filesystem inconsistencies, write-protected media, failed write operations, or storage and USB communication errors. Read-only access can prevent further damage, but it also prevents calibre and every other application from changing files.
9.2 Can I fix this by changing permissions with chmod?
Not when the entire filesystem is mounted read-only. File ownership and mode bits matter only after the filesystem permits writes. If findmnt shows ro or touch returns Read-only file system, repair the mount, connection, or filesystem instead of recursively changing permissions.
9.3 Should I remount the device with the rw option?
A remount may work if the device was intentionally mounted read-only and the filesystem is healthy. It is not a safe substitute for investigating errors. If the kernel selected read-only mode because of corruption or I/O failures, forcing writes may worsen the problem. Check logs, back up readable data, and repair the unmounted filesystem when appropriate.
9.4 Should fsck target the disk or its partition?
Target the verified filesystem-containing device reported by tools such as findmnt and lsblk -f. This is often a partition such as /dev/sdc1, not the whole disk /dev/sdc. Never guess. Device names can change after every connection.
9.5 Why can calibre see the reader but not send books?
Detection requires only enough access to identify or read the device. Sending, deleting, and updating books require write access. Therefore, calibre can display a connected reader while every modifying operation fails because Linux mounted its storage read-only.
9.6 When is the problem a calibre plugin issue?
Suspect a calibre device plugin when Linux can create and delete files on the reader, the mount is read-write, and calibre still cannot detect or open it. Check Ignored Devices, run Debug device detection, and reproduce the issue with calibre-debug -g. If ordinary applications also cannot write, it is not primarily a calibre plugin problem.