News for hackers. Stuff that matters.
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by crazygringo on Thursday October 24, 2024 @03:07PM (#41938648)
You don't have to jailbreak your Kindle, or render images.

You can just point its web browser at any webpage you design, and disable the Kindle's "screensaver" (its ads or sleep screen) with debug commands [1, 2].

You'll be stuck with a browser bar along some edge of the Kindle (you can rotate the device orientation to put it at the bottom or right edge), but it's a small price to pay for being able to write your weather/transit/news screen in easy HTML/CSS/JS and whatever backend language you want, and run it on a cheap DigitalOcean $4 instance or whatever.

[1] https://blog.notfaqs.com/2018/06/kindle-e-reader-disable-scr...

[2] https://www.mobileread.com/forums/showthread.php?t=198334

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by cptcobalt on Thursday October 24, 2024 @03:46PM (#41939020)
It would be even cooler if Amazon also encouraged and built a "Kiosk mode" browser view of the kindle for this sort of display hacking.
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by FrecklySunbeam on Thursday October 24, 2024 @03:52PM (#41939084)
(author here) I've also been thinking about this - I've since built out a Rust library (https://github.com/lily-mara/kindling) for scaffolding the server piece of this and I've been considering creating a Kindle client app that integrates with it. This is possible but would require using the Kindle Java SDK, which does not fill me with excitement.
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by stavros on Thursday October 24, 2024 @04:09PM (#41939231)
That would be fantastic, although even just the way you've done this here is great. I've got a few old Kindles that would be good to convert to displays, and if I could just install a server and a client, it would take a lot of the work out of it.
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by FrecklySunbeam on Thursday October 24, 2024 @04:14PM (#41939272)
No matter what, jailbreaking would be the most difficult step in the process, but the library I linked above takes a lot of the work out of it. It's entirely undocumented atm (I am surely the only one using it), but it comes with an install script you can run on the Kindle to do the setup once you have the jailbreak done.
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by crazygringo on Thursday October 24, 2024 @05:34PM (#41940063)
They really ought to, it's a fantastic reuse mechanism.

Like I totally understand why they wouldn't for new Kindles, since I assume part of their ebook sales help subsidize the hardware, but if they enabled it once a device hit 5 years old or something, I don't see what they'd have to lose.

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by robocat on Friday October 25, 2024 @06:35AM (#41943948)
> I don't see what they'd have to lose.

If there is a cost or liability, then most businesses will avoid doing it.

There usually has to be a clear financial benefit: businesses should make profits - they are not social services or hobbies.

Fortunately businesses contain people and people often do altruistic things for non-financial reasons.

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by DannyPage on Thursday October 24, 2024 @03:55PM (#41939109)
I looked into this with my 4th generation Kindle; it seems like it won't be able to use any HTTPS website due to invalid certificate. However, setting it up to talk to a server on my local network would be the way to go. Thanks for the idea!
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by philips on Thursday October 24, 2024 @03:33PM (#41938912)
I am almost certain disable screensaver was removed for later Kindles.
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by crazygringo on Thursday October 24, 2024 @04:02PM (#41939167)
I didn't seem to be last I checked -- the older Kindles require the sequence:

  ;debugOn
  ~disableScreensaver
  ;debugOff
while newer ones only require:

  ~ds
I know that for some ad-supported Kindles it doesn't work unless you pay to remove the ads (for obvious reasons), but if you pay then it will.

But last I checked was a couple of years ago. I'd be very curious if anyone can report it not working. (Also note the command doesn't survive reboot, you have to re-disable after rebooting.)

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by laserlight on Thursday October 24, 2024 @04:32PM (#41939452)
Unfortunately, ~ds was disabled by a firmware update a few years ago.
Re:Using Rust and an Old Kindle to Display Real-Time Transit... by crazygringo on Thursday October 24, 2024 @05:26PM (#41939972)
Ugh, that sucks. Any idea how to determine which ones are affected? I.e. what firmware version, or which models it started affecting?

Older models still support ~disableScreensaver -- at some point Amazon just stopped issuing firmware updates for them, I have to assume.

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by laserlight on Friday October 25, 2024 @12:54AM (#41942340)
How ironic that not having firmware updates is good... I found the following April 2022 Reddit thread [0] that I remember visiting back in the day.

[0] https://old.reddit.com/r/kindle/comments/u8u7up/disable_auto...

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by bambax on Friday October 25, 2024 @02:53AM (#41942871)
> How ironic that not having firmware updates is good

That's often the case, things going from good to worse. Cf. the removal of Manifest 2 on Chrome for instance.

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by devilbunny on Friday October 25, 2024 @07:09AM (#41944108)
I don’t follow the space closely, but if you find a Kindle Keyboard (third generation of the product) or earlier, they stopped getting updates ages ago and in fact can no longer use the store (though USB sideloading still works fine). They are all jailbreakable.

As a kiosk-like display, though, they do have that keyboard taking up space.

I only use my Kindle to read outside (at the beach or pool); in the house, my iPad is faster and has a bigger screen. But in the sun, it’s useless. eInk is far superior for that. For the week or two a year that I need one, my 15-ish-year-old Kindle is fine. I travel with a laptop and tons of cables anyway; sideloading just means a few minutes of work after dinner to make sure there’s enough on there to read tomorrow and isn’t much slower than using the internal interface to get books was.

I do miss the free 3G. Obligatory XKCD: https://xkcd.com/548/

Re:Using Rust and an Old Kindle to Display Real-Time Transit... by colanderman on Thursday October 24, 2024 @10:38PM (#41941773)
I did this with an inkBOOK, which just runs Android. Loaded on a Chrome APK and pointed it at a webpage I made. `document.documentElement.requestFullscreen()` enters true fullscreen, no status bars. And my local transit service's API is accessible directly from web pages, no backend needed.