I wrote this script to generate a list of files and pages to send to reMarkable Support for recovery. It's a bit rough, but it does the job.
It works by attempting to convert each page to SVG, and then looking for any empty .svg files. Because there are two different page formats, versions 5 and 6, two different tools are used.
Connect your reMarkable to your computer using a USB-C cable and confirm you can login over SSH. Then copy all of your documents to your computer.
I did something like this:
rsync -aP root@10.11.99.1:.local/share/remarkable/xochitl/ xochitl-$(date +%Y%m%d)/
This can take a little while. I had about half a GB of data. You can disconnect your tablet - we don't want to endanger it.
You'll need two tools for the conversions. For version 5 pages, I use rm2svg.py
, and for version 6 pages I use rmc
.
I like to use venv
for this.
python -m venv ~/rmc
source ~/rmc/bin/activate
pip install rmc
Download this from https://raw.githubusercontent.com/chemag/maxio/master/rm_tools/rm2svg.py then put it in your PATH
and make it executable. Or change the command (around line 21) to call it correctly.
You'll need to be in the directory where you copied all the files to. ls */*.rm
should return a bunch of page files with long UUIDs for names.
Then run python find_rm_corrupt.py
. This will take a long time, because it's going to try to convert every page you have to SVG format. If you have corrupted pages, there will also be a bunch of scary errors from one or the other of the scripts, but it should continue to churn through the pages and at the end it should give you a list of documents and their corrupted pages, as well as a summary of how many documents and how many pages it failed to convert.
If something is set up wrong the script might error out, or it might report some pages as corrupt that aren't.
I didn't want to put a lot more time into it, but I'm happy to collaborate if anyone is interested.