Tools for recovery (works only under Linux)
To put the rM2 in recovery, you will need:
-
USB-C breakout board (you could probably use USB-C to Audio adapter and plug headpholnes to short B8)
-
Pogo pin adapter to usb the pogo pins are as follows, when viewed from the side, device facing up (VBUS is near the usb-c)
GND,ID,D+,D-,VBUS -
imx_usb_loader a binary is included, but feel free to compile it
- run
dmesg -won your host to monitor - power off the device (hold the power button for 10 seconds, the screen will not update)
- connect the USB-C breakout board
- pull down B8 (connect B8 over a 10K resistor to B12)
- connect the pogo pins to the tablet and to the host usb Make sure the orientation is correct, you risk frying your device if you connect the pins in the wrong order
- make sure the connection is good, use a short good, different cable, etc
- if the device does not start on its own, press the Power Button. The screen may flash and say it's starting. After that, the screen will no longer update.
- you should see a new device USB HID v1.10 Device [Freescale SemiConductor Inc SE Blank ULT1]
- remove the pulldown resistor (disconnect B8) Your device will restart automatically in a loop if you miss this step
- run
sudo ./imx_usbor add the udev rules to use it withoutsudo - should see USB Mass Storage device detected
- should see a new mountable block device
- to recover the ssh password, mount the home partition
grep Developer <mountpoint>/root/.config/remarkable/xochitl.conf - to find a mountpoint run
mount | grep home - your
dmesgoutput will show the letter assigned to the block device (sdcwill be used for the following examples) - Open the
uboot.envfile from the root of theBOOTpartition in a text editor. You'll see something likeactive_partition=3. This indicates that your remarkable boots from sdc3, so we'll use sdc2 to restore thesdc3partition. - Backup the working system partition using
sudo dd if=/dev/sdc2 of=rm2-sdc2.raw bs=4096 status=progressorsudo dd if=/dev/sdc3 of=rm2-sdc3.raw bs=4096 status=progress. - Restore the
sdc3partition with the backup ofsdc2usingsudo dd if=rm2-sdc2.raw of=/dev/sdc3 bs=4096 status=progressassuming your active partition is3. If your active partition is2restore it usingsudo dd if=rm2-sdc3.raw of=/dev/sdc2 bs=4096 status=progress - You can instead use codexctl to download an update file for your device, and extract the image from it. You can then use
ddto replace the active partition with the stock partition.
- It is very important to use a pogo connector because it is almost impossible to achieve a stable connection in another way.
- Only if the device is in recovery mode there will be messages in the
dmesgoutput. - If you see messages like
usb 1-1: device descriptor read/64, error -71, most likely it means that the device is in recovery mode and you have a poor connection to the pogo port. - B8 is on the bottom part of the USB port. So screen side is A and bottom side is B.
- if not sure that device is powered off, try to connect the device to the charger, the screen should blink, disconnect it from the charger, hold the power button for at least 15 seconds.
UART6 TX is exposed via the pogo pins ID pin.
You can connect an FDTI chip (3V3) to ID pin to get UART at 115200 baud.
For more details checkout the wiki: https://web.archive.org/web/20230619082431/https://remarkablewiki.com/tech/rm2_otg_pogo
For details building u-boot and Linux to support this checkout meta-freescale-3rdparty.




