How to use USB keyboard with your reMarkable 2 in 2025 (Part 1)
Motivation
I’ve always loved taking hand-written notes on my reMarkable 2 (RM2). It’s a joy to use, but let’s face it—sometimes my handwriting speed just can’t keep up with my thoughts. I’ve thought about buying the official Type Folio keyboard for a while, but it adds extra weight to the device, and I just can’t justify dropping $200+ for a keyboard.
Instead, I decided to make my trusty USB keyboards work with the RM2, aiming for the simplest solution possible without adding unnecessary modifications. Because the RM2 doesn’t have Bluetooth, I opted for making my regular USB keyboards to work with the device with as minimal modifications as possible.
Thankfully, the online community has paved the way with similar projects, and I’ve learned a ton from their insights. However, recent updates to the RM2 introduced changes that meant I had to adapt the existing methods to make things work.
Background
As of January 2025, the debug parameter in the RM2's sysfs was disabled. Due to this change, the method for switching the USB role using “/sys/kernel/debug/ci_hdrc.0/role” as outlined in this guide by Benjamin Söllner no longer works.
That said, there's still a way to get a USB keyboard working with your RM2, and I'll walk you through the process here.
For reference, these are the system versions I tested with:
Hardware: reMarkable 2
Software version: 3.17.0.66
Kernel version: Linux reMarkable 5.4.70-v1.6.1-rm11x
Disclaimers
Before proceeding, there are a few things to keep in mind:
Warranty: Making changes to your RM2 by accessing it via SSH will void your warranty.
Backup: Always back up your files before modifying the system.
At Your Own Risk: I'm not responsible for any damage to your device. This guide applies specifically to the RM2 and not the reMarkable Paper Pro.
What You'll Need
In addition to your USB keyboard, you'll need the following:
Two USB-C to USB 3.0 Adapters (Amazon Link)
USB 3.0 Y Splitter Cable (2 Male, 1 Female) (Amazon Link)
Connect all the devices
RM2 <-- USB-C adapter <-- Male end of Y-splitter
Female end --> Keyboard
Other male end --> USB-C adapter --> Power [Laptop/Phone/Power bank]
Note: Even if your keyboard is Bluetooth-enabled with a built-in battery, you'll still need these accessories. When connected via USB, the keyboard switches to USB mode and draws power from the connection rather than using its own battery as with the wireless mode.
Steps to Enable USB OTG Mode
Retrieve Device Info: On your RM2, navigate to: Menu > Settings > General > About > Copyrights and licenses
. Note down the SSH password and Wi-Fi IP address (e.g., 192.168.xxx.xx
).
Connect via SSH: Open a terminal on your computer and connect to your RM2:
ssh root@<IP address>
Find the Role File: Run the following command to locate the USB role file:
find /sys -name "role" | grep devices
The exact path may vary between devices, but it will be similar to:
/sys/devices/soc0/soc/*/usb/ci_hdrc.0/role
Switch to Host Mode: Change the USB role to "host" mode by running:
echo host > [/path/to/your/role/file]
Test Your Keyboard: At this point, you can start typing on your RM2 using the keyboard. Simply create a new note and begin typing.
Troubleshooting
If the keyboard doesn't work or you see errors in the logs, try:
Unplugging and reconnecting the cables
Restarting the RM2
Repeating the steps above
To check for USB connection issues:
dmesg | grep -i "usb" | tail
Notes
In the host mode, the device will not charge nor be able to transfer file via the USB port. You'll have to switch the USB role back to "gadget" mode. You can do this either by restarting your device or running this command:
echo gadget > /path/to/your/role/file
Making USB OTG Mode Persistent
Since sysfs entries are temporary and will be reset on device reboot, we’ll need to perform extra steps to persist the above changes. Stay tuned for the second part of this guide, where I’ll show you how to:
Automatically configure the USB mode during startup
Add a custom gesture to toggle between the "gadget" and "host" modes
Have fun typing with your own keyboard on the RM2 for now!