Craig Russell

Web n That

I ♡… the web… php… html… css… linux… shell scripting… folding paper… dog walking… sandwiches… being outside… and most of all @vicuol ☺

Kindle 4 Custom Screen Savers

December 31st, 2011

Early Kindles allowed you to use your own images as screen savers, this feature was removed in later models. Thankfully people much smarter than me had written custom firmware giving you this feature back. Unfortunately this firmware hack doesn’t work with the latest 4th generation non-touch (NT) Kindle.

There is however, still a way of getting this functionality on the Kindle 4 NT, but it is quite fiddly and requires you to have some knowledge of Linux file systems, basic networking and SSH. I achieved this using a Linux (Ubuntu) PC, there instructions are probably largely similar for MACs too. Windows users will have to install some extra software tools and the networking bit will be different too (Don’t ask – I won’t know).

Basically all we’re going to do is move the screensaver images folder to the part of the kindle that is accessible over USB and creating a symbolic link to this location. However, the route from here to there is a bit contrived. If you’re not sure what you’re doing it’s best to ask a techo-literate friend to help out. Oh, it should also go without saying that this probably invalidates your warranty too.

Diagnostic Mode

The first thing we need to do is put the Kindle in to Diagnostic Mode.

  1. Connect the Kindle to your PC with the USB cable.
  2. Create a file on the Kindle called ENABLE_DIAGS
  3. Unmount the Kindle and disconnect the USB cable.
  4. Restart the Kindle

    [MENU] Settings [MENU] Restart

    This will take a few minutes.
  5. You should now be in Diagnostic Mode.

Gaining Root Access

Next we need to connect to the Kindle as root which will allow us to fiddle around with it.

  1. Connect the Kindle to your PC with the USB cable. It should NOT mount.
  2. Enable USB Networking from the menu.

    Misc individual diagnostics > Utilities > Enable USBNet
  3. The Kindle should now be a network device on your PC.

    ifconfig
  4. Configure a IP address for the device.

    ip addr add 192.168.15.241/24 dev usb0
  5. You should now be able to SSH in to the Kindle as root.

    ssh root@192.168.15.244

    The password is “mario”.

    Edit: If “mario” doesn’t work try this tool.
  6. You now have root access to your Kindle

Moving the Screen Savers

Now we’re going to move the screensavers from their existing location to a new folder in /mnt/us/, which is the folder accessible via USB.

  1. First mount the required partition.

    mount /dev/mmcblk0p1 /mnt/base-mmc
  2. Backup the existing screensavers.

    mv /mnt/base-mmc/opt/amazon/screen_saver/600x800 /mnt/base-mmc/opt/amazon/screen_saver/600x800.bak
  3. Create a folder for custom screen savers.

    mkdir /mnt/us/screensaver
  4. Create a link from the screen saver location to the new folder.

    ln -sfn /mnt/us/screensaver /mnt/base-mmc/opt/amazon/screen_saver/600x800
  5. You can optionally copy the existing screen savers to the new folder if you want to keep them.

    cp /mnt/base-mmc/opt/amazon/screen_saver/600x800.bak/* /mnt/us/screensaver/
  6. End the SSH session.

    exit
  7. Exit Diagnostic Mode

    Exit, Reboot or Disable Diags > Disable Diagnostics > To continue – FW LEFT
  8. Wait a few minutes for the Kindle to reboot.
  9. That’s the screen savers moved!

Setting Custom Screen Savers

Now you can copy your own screen saver images to your Kindle. All you need to do is connect your Kindle to your PC with the USB cable and copy the images you want in to the screensaver folder.

The images files must be 600×800 pixels. I think they also have to be PNG files and 72dpi in 32bit indexed greyscale. Some people on the forums have said that this isn’t necessary, others say it is. But this format works fine for me where others didn’t.

There are various sites out there with Kindle screen savers to download, you may or may not need to do some image conversion. I leave it to you to experiment.

You also have to researt the Kindle fully ([MENU] Settings [MENU] Restart) before the new screen savers will work.

Have fun!

Edit: Here’s the original Kindle 4 Screen Savers.

  • Anonymous

    You couldn’t post the original screensavers could you? 

  • bicbac

    is it working with 79$ kindle NT version as well?  I guess there should be some extra process  inside the device that fetches new image from Amazon ad server in some fixed time interval.

  • http://twitter.com/craig552uk Craig Russell

    I don’t know if this will work with the ad sponsored Kindle or not. If you have any luck let me know.

  • deletefile

    Can you post the image passage?

  • http://www.facebook.com/kubbur Kubbur Kristófer Smári Leifsso

    http://www.youtube.com/watch?v=XZEhsCKgMHw here is how to get into dev mode
    http://www.youtube.com/watch?v=fG_pGDMsAYo here is how to mod the screensaver

  • simpe

    I have non-sponsored Kindle 4, but I can’t connect to my Kindle with password mario. Are any other possibilities how to establish ssh connection? Thank you

  • Liam Buchanan
  • Liam Buchanan

    Hey,
    When I try the method as described:

    ip addr add 192.168.15.241/24 dev usb0
    ssh root@192.168.15.244 

    I get connection timed out. When I try

    ip addr add 192.168.15.244/24 dev usb0ssh root@192.168.15.244 

    I get connection refused. Wondered if there is something simple I am missing.
    CHeers
    Liam

  • Liam Buchanan

    just tried on a windows pc using putty and everything worked fine. I would still like to know what I was doing wrong if anybody has a clue.

  • http://twitter.com/craig552uk Craig Russell

    I had to reconnect a couple of times before this worked. Glad you got it sorted in the end.

  • Flare561

    First you’ll have to run the following commands while you’re in the terminal then you won’t have the ads anymore and can use custom screensavers
    mv /var/local/adunits /var/local/adunits.bkptouch /var/local/adunits

  • Flare561

    Except it neglected the return in between adunits.bkp and touch

  • Darrellthompson911

    doesn’t work on my mac. could someone post a video. this is as clear as mud.

  • http://twitter.com/zemogle Edward Gomez

    This worked very nicely for me. Thanks! I would also say that if you are using a Mac you will not be able to configure the network connection over USB because Mac OS 10.5+ is not compatible with USBNet.

    I got around this by using a Linux virtual machine on my mac.

  • dirceudr

    I have two problems after doing this to my kindle:
    The kindle doesn´t turn off automatically when the screensaver is on.
    When I try to order  by most recent first it doesn’t work, it shows a random organization, I have to order by collection and put everything inside the collections.
    Anyone have the same problems?

  • Anon

    I successfully got this working on a kindle 4 (nontouch) with special offers:
    Firstly i did method 1 from this site: http://www.pierotoffanin.com/2011/12/how-to-remove-ads-from-your-ad-supported-kindle-4-for-free/
    Then i followed the instructions from this page. From the first link it said the K4 needs to have .gif images. I put both .png and .gif images in the screensaver folder and it worked and I think it displays both types. It seems to cycle through the images lexicographically, but does anyone know how to make it random?

  • Grhipe

    WOW. Many times I tried but your post were the post :-D

    Thank you!

  • Timm Stolten

    Hi there, THX for this tutorial. It worked for me, but…. the screensavers do not change anymore. It is always just one image displayed for hours? Did I miss something ? And just in case, how can I undo the whole thing ? Setting back to factory default did not bring back the old screensaver function.
    Sorry but I am no developer and have no idea on any linux commands and stuff. Any hint would be appreciated. Cheers.

  • Steve

    and video tutorial! http://adf.ly/5H5cB

  • Timm Stolten

    @Steve: Thanks mate. In case that was a response to my question before, that video did not solve it. Sorry. Anybody else having an idea? Thanks already and please appologize my english.

  • reisba

    On Mac OS 10.6.8 this worked without any problems, though. It detected the device immediately and allowed me to assign an IP for it. No issues at all.

  • Matt Pull

     I read the same in almost every guide, but for

  • Matt Pull

    I have read many of the guides for the Kindle 4, none of which seem to have got it right, as the guide above also creats a symlink in the wrong place (for me). By creating the symlink using :

    ln -sfn /mnt/us/screensaver /mnt/base-mmc/opt/amazon/screen_saver/600×800

    this causes my kindle to show a white screen when activating the screensaver.

    This was because this creates a sub-folder called screensaver under the 600×800 folder (the symlink) therefore the .PNG files where not found where it was expecting them to be (in the root of the 600×800 folder).

    To fix this do the following (if you followed the guide above):

    rm -rf /mnt/base-mmc/opt/amazon/screen_saver/600×800/screensaver
    rm -rf /mnt/base-mmc/opt/amazon/screen_saver/600×800

    ln -sfn /mnt/us/screensaver /mnt/base-mmc/opt/amazon/screen_saver/

    mv /mnt/base-mmc/opt/amazon/screen_saver/screensaver /mnt/base-mmc/opt/amazon/screen_saver/600×800

    This should help out those that end up with a white screen even after following the instructions to the letter.

    Matt