Het artikel beschrijft hoe een reMarkable 2 tablet die vier jaar ongebruikt is gebleven, weer operationeel kan worden gemaakt. De auteur lostt problemen met cloud-synchronisatie en mislukte updates op via de volgende stappen:
- Systeemklok: Door via SSH de klok handmatig in te stellen met
timedatectl, wordt de blokkade voor software-updates opgeheven.
- Software-updates: De auteur legt uit dat meerdere update-cycli nodig waren en dat het herstarten van de
swupdate.service en update-engine.service essentieel was om DNS-fouten te omzeilen.
- SSH-connectiviteit: Er wordt toegelicht dat SSH via wifi vanaf versie 3.22 standaard is uitgeschakeld, en hoe dit via USB of specifieke commando's (
rm-ssh-over-wlan on) kan worden hersteld.
- Handmatige import: Om problemen met de cloud-sync te omzeilen, wordt beschreven hoe de interne webserver in
xochitl.conf kan worden geactiveerd om PDF's direct via curl te uploaden.
Een vier jaar oude reMarkable 2 tot leven wekken
- Cloud-synchronisatie mislukte. Het enige dat getoond werd, was een cryptische "error 0".
- Software-updates werkten niet.
Dit bericht beschrijft hoe je jouw tablet weer in werking kunt brengen als je in een soortgelijke situatie terechtkomt.
De klok
Na het zoeken op de foutmelding vond ik een forumpost met wat de auteur "de snelle oplossing" noemde: SSH-verbinding maken en de klok instellen:
ssh root@10.11.99.1 # USB. Via wifi: het LAN-IP van de tablet
# wachtwoord: op de tablet, Instellingen → Help → Auteursrechten en licenties → Algemene info
# (gebruikersnaam root, wachtwoord en IP's staan daar vermeld)
timedatectl # bevestig hoeveel tijd er verschil is
timedatectl set-ntp 0 # schakel eerst automatische tijd uit, anders geeft set-time een fout
timedatectl set-time '2026-07-15'
timedatectl set-ntp 1
Na het instellen van de tijd was ik in staat om een software-update te downloaden.
Software-update
Na de eerste software-update gaf de cloud-synchronisatie nu een andere fout: HTTP 400. Ik vond de werkelijke foutmelding terug in het logbestand (journal): “Unable to sync. Please update this application to continue using the reMarkable cloud.”
journalctl -u rm-sync.service --since '-45 min' --no-pager
De cloud weigerde mijn verouderde systeemversie. Het bleek dat de eerste update de tablet slechts naar versie 3.11.2.5 bracht en niet verder updatete.
De journalctl voor swupdate.service liet zien: Couldn't resolve host name (na de herstart na de update was de updater gestart voordat wifi/DNS actief waren, en hij heeft het nooit opnieuw geprobeerd). Het herstarten van de update-services zorgde ervoor dat het instellingenmenu versie 3.27.3.0 aanbood, en een tweede update bracht de tablet naar de nieuwste beschikbare softwareversie.
systemctl restart swupdate.service update-engine.service
systemctl is-active swupdate.service update-engine.service
journalctl --since '-1 min' -u swupdate.service -u update-engine.service
Vanaf versie 3.22 van de software wordt SSH via wifi stilzwijgend uitgeschakeld door de update, waardoor poort 22 op het LAN verbindingen weigert.
Maak in plaats daarvan SSH-verbinding met de tablet via USB (bijv. 10.11.99.1). Heractiveer netwerk-SSH met rm-ssh-over-wlan on, of verwijder het marker-bestand rmenablesshwifimarker (de dropbear-wlan.socket unit is al ingeschakeld, maar inactief).
rm-ssh-over-wlan on
systemctl is-active dropbear-wlan.socket
systemctl is-enabled dropbear-wlan.socket
test -e /home/root/.config/remarkable/rm_enable_ssh_wifi_marker && echo present
ip -4 -brief address show wlan0
ss -lntp | grep ':22 ' || true
Bestanden importeren via SSH
Om wat voor reden ook leek de cloud-synchronisatie nog steeds defect; hij haalde mijn nieuwe uploads niet op.
In plaats van dit verder te debuggen (ik was inmiddels klaar met het gedoe met cloud-sync), ontdekte ik dat de tablet een optionele webserver heeft die kan worden ingeschakeld om bestanden naar en van het apparaat te uploaden en exporteren. Ik maakte een back-up van de xochitl-configuratie voordat ik deze inschakelde (WebInterfaceEnabled=true):
conf=/home/root/.config/remarkable/xochitl.conf
cp -p "$conf" "$conf.codex-backup-before-usb-web"
if grep -q '^WebInterfaceEnabled=' "$conf"; then
sed -i 's/^WebInterfaceEnabled=.*/WebInterfaceEnabled=true/' "$conf"
else
sed -i '/^\[General\]$/a WebInterfaceEnabled=true' "$conf"
fi
systemctl restart xochitl.service
grep '^WebInterfaceEnabled=' "$conf"
systemctl is-active xochitl.service
PDF's inspecteren en uploaden:
curl --max-time 30 -sS http://10.11.99.1/documents/ | jq -r '.[].VisibleName'
set -e
for file in ./my-pdf-files/*.pdf; do
name=${file##*/}
status=$(curl --max-time 300 -sS -o /dev/null -w '%{http_code}' \
-F "file=@${file};type=application/pdf" http://10.11.99.1/upload)
printf '%s\t%s\n' "$status" "$name"
test "$status" = 201
done
Een vier jaar oude reMarkable 2 tot leven wekken
- Cloud-synchronisatie mislukte. Het enige dat getoond werd, was een cryptische "error 0".
- Software-updates werkten niet.
Dit bericht beschrijft hoe je jouw tablet weer in werking kunt brengen als je in een soortgelijke situatie terechtkomt.
De klok
Na het zoeken op de foutmelding vond ik een forumpost met wat de auteur "de snelle oplossing" noemde: SSH-verbinding maken en de klok instellen:
ssh root@10.11.99.1 # USB. Via wifi: het LAN-IP van de tablet
# wachtwoord: op de tablet, Instellingen → Help → Auteursrechten en licenties → Algemene info
# (gebruikersnaam root, wachtwoord en IP's staan daar vermeld)
timedatectl # bevestig hoeveel tijd er verschil is
timedatectl set-ntp 0 # schakel eerst automatische tijd uit, anders geeft set-time een fout
timedatectl set-time '2026-07-15'
timedatectl set-ntp 1
Na het instellen van de tijd was ik in staat om een software-update te downloaden.
Software-update
Na de eerste software-update gaf de cloud-synchronisatie nu een andere fout: HTTP 400. Ik vond de werkelijke foutmelding terug in het logbestand (journal): “Unable to sync. Please update this application to continue using the reMarkable cloud.”
journalctl -u rm-sync.service --since '-45 min' --no-pager
De cloud weigerde mijn verouderde systeemversie. Het bleek dat de eerste update de tablet slechts naar versie 3.11.2.5 bracht en niet verder updatete.
De journalctl voor swupdate.service liet zien: Couldn't resolve host name (na de herstart na de update was de updater gestart voordat wifi/DNS actief waren, en hij heeft het nooit opnieuw geprobeerd). Het herstarten van de update-services zorgde ervoor dat het instellingenmenu versie 3.27.3.0 aanbood, en een tweede update bracht de tablet naar de nieuwste beschikbare softwareversie.
systemctl restart swupdate.service update-engine.service
systemctl is-active swupdate.service update-engine.service
journalctl --since '-1 min' -u swupdate.service -u update-engine.service
Vanaf versie 3.22 van de software wordt SSH via wifi stilzwijgend uitgeschakeld door de update, waardoor poort 22 op het LAN verbindingen weigert.
Maak in plaats daarvan SSH-verbinding met de tablet via USB (bijv. 10.11.99.1). Heractiveer netwerk-SSH met rm-ssh-over-wlan on, of verwijder het marker-bestand rmenablesshwifimarker (de dropbear-wlan.socket unit is al ingeschakeld, maar inactief).
rm-ssh-over-wlan on
systemctl is-active dropbear-wlan.socket
systemctl is-enabled dropbear-wlan.socket
test -e /home/root/.config/remarkable/rm_enable_ssh_wifi_marker && echo present
ip -4 -brief address show wlan0
ss -lntp | grep ':22 ' || true
Bestanden importeren via SSH
Om wat voor reden ook leek de cloud-synchronisatie nog steeds defect; hij haalde mijn nieuwe uploads niet op.
In plaats van dit verder te debuggen (ik was inmiddels klaar met het gedoe met cloud-sync), ontdekte ik dat de tablet een optionele webserver heeft die kan worden ingeschakeld om bestanden naar en van het apparaat te uploaden en exporteren. Ik maakte een back-up van de xochitl-configuratie voordat ik deze inschakelde (WebInterfaceEnabled=true):
conf=/home/root/.config/remarkable/xochitl.conf
cp -p "$conf" "$conf.codex-backup-before-usb-web"
if grep -q '^WebInterfaceEnabled=' "$conf"; then
sed -i 's/^WebInterfaceEnabled=.*/WebInterfaceEnabled=true/' "$conf"
else
sed -i '/^\[General\]$/a WebInterfaceEnabled=true' "$conf"
fi
systemctl restart xochitl.service
grep '^WebInterfaceEnabled=' "$conf"
systemctl is-active xochitl.service
PDF's inspecteren en uploaden:
curl --max-time 30 -sS http://10.11.99.1/documents/ | jq -r '.[].VisibleName'
set -e
for file in ./my-pdf-files/*.pdf; do
name=${file##*/}
status=$(curl --max-time 300 -sS -o /dev/null -w '%{http_code}' \
-F "file=@${file};type=application/pdf" http://10.11.99.1/upload)
printf '%s\t%s\n' "$status" "$name"
test "$status" = 201
done