remarkable-wifi-conf
is a small utility to configure WiFi on Remarkable devices.
The Remarkable only supports a limited set of characters on its on-screen keyboard. If your WiFi password happens to contain a character that is not supported by the Remarkable keyboard, you're out of luck.
Well, until this tool :-)
- SSH access to your Remarkable. See remarkablewiki.com for details.
- Python >= 3
- Only tested on MacOS and Linux. For Windows use WSL if you can.
- Clone this repo.
- Install Python dependencies (
pip install -r ./requirements.txt
)
Now depending on how much you trust this script you can either follow a manual process where you update your xochitl.conf
manually, or follow the fully automated process.
The Remarkable OS stores WiFi credentials in /home/root/.config/remarkable/xochitl.conf
. The WiFi configuration part looks something like this:
[wifinetworks]
MyNetwork=@Variant(\0\0\0\b\0\0\0\x3\0\0\0\b\0s\0s\0i\0\x64\0\0\0\n\0\0\0\x6\0\x66\0o\0o\0\0\0\x10\0p\0r\0o\0t\0o\0\x63\0o\0l\0\0\0\n\0\0\0\x6\0p\0s\0k\0\0\0\x10\0p\0\x61\0s\0s\0w\0o\0r\0\x64\0\0\0\n\0\0\0\x6\0\x62\0\x61\0r)
To generate this for your network run the following command:
echo '' | python ./remarkable_wifi_conf.py
The script will ask your WiFi SSID (network name) and password and print a wifinetworks
section. Now SSH into your Remarkable and open /home/root/.config/remarkable/xochitl.conf
with a text editor. Scroll down until you find a [wifinetworks]
section and append the generated line containing the WiFi configuration.
Now restart the Remarkable system (systemctl restart xochitl
) and presto! Your Remarkable will be able to connect to your WiFi network. Depending on how many WiFi networks you have configured you might need to go into the system settings to select your WiFi network. You will not have to enter a password at this point.
If you trust this script and my Linux fu you can run the oneliner below.
Note that if you haven't set up SSH keys, you'll be prompted for your password 3 times.
export remarkable=remarkable; ssh $remarkable 'cp /home/root/.config/remarkable/xochitl.conf{,.bak} && cat /home/root/.config/remarkable/xochitl.conf' | python ./remarkable_wifi_conf.py > >(ssh $remarkable 'cat > /tmp/rmwifi') && ssh $remarkable 'mv /tmp/rmwifi /home/root/.config/remarkable/xochitl.conf && systemctl restart xochitl'
This will:
- Make a backup of your
xochitl.conf
in/home/root/.config/remarkable/xochitl.conf.bak
, just in case. - Prompt for your WiFi SSID (network name) and password.
- Update
xochitl.conf
with a configuration for your network. - Restart the xochitl service so the configuration changes become effective.
Presto! Your Remarkable will be able to connect to your WiFi network. Depending on how many WiFi networks you have configured you might need to go into the system settings to select your WiFi network. You will not have to enter a password at this point.
Credits to GitHub user Evidlo for their example here.