Let me prefix this by saying I'm an idiot. I went from 2.x (forgot the exact version) and upgraded to 3.x. I discovered that 3.x was missing a feature a really loved ("light sleep" mode) and didn't know about ddvk so I figured let's try a beta version and see if they put it back. Nope. Which then of course made it so that I can't simply use the switch.sh script: I now have two different 3.x versions on my partitions, one retail one beta. So I tried to use the server downgrade method. I'm on a Win 10 PC with Python 3.11.1. Here's what I did:
- Copied 2.9x firmware to the updates folder
- discovered my USB IP address on my Win 10 machine: it's 10.11.99.1, not 10.11.99.2, I can see this along with my wifi IP in Help->Copyright and Licenses to verify
- started just like the instructions say: python serve.py 10.11.99.1
I see what looks like it's working: it says:
python .\serve.py 10.11.99.1
2.9.0.204
Device should use: http://10.11.99.1:8000/
Available updates: {'reMarkable': ('2.9.0.204', '2.9.0.204_reMarkable.signed')}
Starting fake updater: 8000
ssh into my device via the USB address using PuTTY and edit /usr/share/remarkable/update.conf and just simply add this line at the end of the file: SERVER=http://10.11.99.1:8000 (yes I've tried also using a trailing /, no difference). Here's what the contents of the file looked liked after modification:
[General]
#REMARKABLE_RELEASE_APPID={98DA7DF2-4E3E-4744-9DE6-EC931886ABAB}
#SERVER=https://updates.cloud.remarkable.engineering/service/update2
#GROUP=Prod
#PLATFORM=reMarkable2
REMARKABLE_RELEASE_VERSION=3.0.4.1305
SERVER=http://10.11.99.1:8000
Go to Menu->Settings->General, click software version, tap check for updates, and it just simply says on the device "Error checking for update" and no output from the python console on the PC. So I go the CLI route to get more detailed info. Just to verify I'm doing the CLI right, here's what I did after SSHing from my PC into that same USB IP address:
systemctl start update-engine
update_engine_client -check_for_update
journalctl -u update-engine -f
Looking at the output, it seems the primary issue is that it can't connect to the ddvk python server as it says "Unable to get http response code: Failed to connect to 10.11.99.1 port 8000: Connection refused"
I should note that yes, from my SSH session inside the tablet I can ping 10.11.99.1:8000
I presume any other errors are the result of this. I don't know why it can't connect. I tried disabling all firewall settings just in case. I also tried the wifi IP for all the above steps as well, same problem. If you're curious about the full output from the CLI, it is the following:
I20221226 18:06:58.675487 472 update_engine_client.cc:271] Initiating update check and install.
-- Logs begin at Wed 2022-12-21 02:52:08 UTC. --
Dec 26 18:06:58 reMarkable update_engine[413]:
Dec 26 18:06:58 reMarkable update_engine[413]:
Dec 26 18:06:58 reMarkable update_engine[413]:
Dec 26 18:06:58 reMarkable update_engine[413]:
Dec 26 18:06:58 reMarkable update_engine[413]:
Dec 26 18:06:58 reMarkable update_engine[413]:
Dec 26 18:06:58 reMarkable update_engine[413]: I20221226 18:06:58.694192 413 libcurl_http_fetcher.cc:50] Starting/Resuming transfer
Dec 26 18:06:58 reMarkable update_engine[413]: I20221226 18:06:58.694440 413 libcurl_http_fetcher.cc:163] Setting up curl options for HTTP
Dec 26 18:06:58 reMarkable update_engine[413]: E20221226 18:06:58.695248 413 libcurl_http_fetcher.cc:264] Unable to get http response code: Failed to connect to 10.11.99.1 port 8000: Connection refused
Dec 26 18:06:58 reMarkable update_engine[413]: I20221226 18:06:58.695456 413 libcurl_http_fetcher.cc:281] No HTTP response, retry 1
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.936008 413 libcurl_http_fetcher.cc:50] Starting/Resuming transfer
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.936373 413 libcurl_http_fetcher.cc:163] Setting up curl options for HTTP
Dec 26 18:07:08 reMarkable update_engine[413]: E20221226 18:07:08.937165 413 libcurl_http_fetcher.cc:264] Unable to get http response code: Failed to connect to 10.11.99.1 port 8000: Connection refused
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937408 413 libcurl_http_fetcher.cc:295] Transfer resulted in an error (0), 0 bytes downloaded
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937479 413 libcurl_http_fetcher.cc:297] Error buffer: Failed to connect to 10.11.99.1 port 8000: Connection refused
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937521 413 omaha_request_action.cc:670] Omaha request response:
Dec 26 18:07:08 reMarkable update_engine[413]: E20221226 18:07:08.937562 413 omaha_request_action.cc:686] Omaha request network transfer failed.
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937638 413 action_processor.cc:81] ActionProcessor::ActionComplete: OmahaRequestAction action failed. Aborting processing.
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937682 413 action_processor.cc:87] ActionProcessor::ActionComplete: finished last action of type OmahaRequestAction
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937723 413 update_attempter.cc:313] Processing Done.
Dec 26 18:07:08 reMarkable update_engine[413]: E20221226 18:07:08.937810 413 update_attempter.cc:685] Update failed.
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937858 413 utils.cc:750] Converting error code 2000 to kActionCodeOmahaErrorInHTTPResponse
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937901 413 payload_state.cc:104] Updating payload state for error code: 37 (kActionCodeOmahaErrorInHTTPResponse)
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.937947 413 payload_state.cc:110] Ignoring failures until we get a valid Omaha response.
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.938460 413 action_processor.cc:41] ActionProcessor::StartProcessing: OmahaRequestAction
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.939330 413 omaha_request_action.cc:280] Posting an Omaha request to http://10.11.99.1:8000
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.939412 413 omaha_request_action.cc:281] Request:
Dec 26 18:07:08 reMarkable update_engine[413]:
Dec 26 18:07:08 reMarkable update_engine[413]:
Dec 26 18:07:08 reMarkable update_engine[413]:
Dec 26 18:07:08 reMarkable update_engine[413]:
Dec 26 18:07:08 reMarkable update_engine[413]:
Dec 26 18:07:08 reMarkable update_engine[413]:
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.939465 413 libcurl_http_fetcher.cc:50] Starting/Resuming transfer
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.939666 413 libcurl_http_fetcher.cc:163] Setting up curl options for HTTP
Dec 26 18:07:08 reMarkable update_engine[413]: E20221226 18:07:08.940367 413 libcurl_http_fetcher.cc:264] Unable to get http response code: Failed to connect to 10.11.99.1 port 8000: Connection refused
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.940593 413 libcurl_http_fetcher.cc:295] Transfer resulted in an error (0), 0 bytes downloaded
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.940655 413 libcurl_http_fetcher.cc:297] Error buffer: Failed to connect to 10.11.99.1 port 8000: Connection refused
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.940699 413 omaha_request_action.cc:670] Omaha request response:
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.940752 413 action_processor.cc:78] ActionProcessor::ActionComplete: finished last action of type OmahaRequestAction
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.940793 413 action_processor.cc:87] ActionProcessor::ActionComplete: finished last action of type OmahaRequestAction
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.940831 413 update_attempter.cc:313] Processing Done.
Dec 26 18:07:08 reMarkable update_engine[413]: I20221226 18:07:08.940871 413 update_attempter.cc:317] Error event sent.