Setting the Kindle Up
I'm doing this with a black Kindle 4 (non-touch) running Kindle v4.1.0, some of the following steps could change if you have a slightly different model (grey Kindle 4's may have older older firmware which give you more jailbreak options, they may also have the built-in SSH server enabled), I believe that most of this should work on a Kindle 3 (aka Kindle Keyboard) but I haven't tried that, so do it at your own risk.
Jailbreak your KindleI used the Universal method from here: MobileRead.com Kindle4NT Hacking.
Get SSH access to your Kindle (USB Networking) - attempt number 1
Plug in the Kindle and create a blank file named ENABLE_DIAGS in the Kindle's USB drive's root, "Safely Remove" the USB cable and restart the Kindle (Menu -> Settings -> Menu -> Restart).
It should reboot into diagnostics mode.
While you're in the diagnostics mode, plug the USB cable back in again and go to USB networking: Misc individual diagnostics -> Utilities -> Enable USBnet -> Exit. This will enable network access to your Kindle via USB.
Windows may fail to autodetect everything, if so you'll probably need to install a specific driver to access the Kindle over USB networking. This .inf file should do the job (I'm running Windows 7, Windows XP users need to do slightly more than this, good luck).
Once you have your driver set up, you'll need to configure the settings on your new network interface, set them to: IP 192.168.15.201 Subnet 255.255.255.0
Open your favourite SSH client (assuming that you have such a thing), I'm using Putty.
Try running Putty email@example.com if that connects you're gravy, and your Kindle has a SSH server, if not and you get a "Connection Refused" then you're like me, so carry on.
Get SSH access to your Kindle (attempt 2, USBNet hack)
Download kindle-usbnetwork-xxx.zip from http://www.mobileread.com/forums/showthread.php?t=88004 extract it and copy update_usbnetwork_XXX_k4_install.bin onto your Kindle's USB drive. Safely Remove, unplug, then go into Settings, Menu, Update your Kindle. USB Networking should now be installed.
Restart your Kindle (not strictly necessary, but the Readme's recommend it).
Plug your Kindle in, and double-check the settings in D:\usbnet\etc (you'll need to use a text-editor that understands Unix line endings, Notepad won't work here, Notepad++, TextPad and others will work). In particular make note of the IP addresses, by default mine were set to:
On a Kindle 4, it's recommended to check that USE_VOLUMD is set to "true"
Following the README_FIRST.TXT from the usbnetwork zip:
- Safely remove and unplug your Kindle,
- You'll need to be in debug mode to run private commands, so, on the Home screen, bring up the
search bar (by hitting [DEL] on devices with a keyboard, or the keyboard key on a K4, for example), and enter:
- And now we can enable usbnet:
- If you don't need to enter any more private commands, switch debug off.
- Now, to actually connect to the device, we'll need to bring the shiny new USB network interface that the kernel prepared for us.
- Plug the Kindle back in, wait for Windows to detect it, your Kindle should now be detected as something like a "RNDIS/Ethernet Gadget" or "CDC Ethernet Device network adapter" by Windows.
- Then go into network settings, find the new network connection, and set the IPv4 settings to IP address 192.168.2.1 (assuming that's the HOST_IP that was set in your Config file above) and a subnet mask of 255.255.255.0.
- To test it, open a command window and Ping 192.168.2.2 which should come back with a reply.
- Now try Putty again:
- Hopefully this time you should get a connection and a warning message about the server's "host key". If so, say "Yes" to add the key to your cache, and then you should find yourself at a password prompt. A blank password works here, so you can just press Enter.
Install Kite (Kindle Application Launcher)Now you need to install Kite, this lets you easily run custom programs on your Kindle. I tried installing Kite using the update package, with no luck, so here's installing it using the script method. First, download the kite.gz file from http://www.mobileread.com/forums/showthread.php?t=168270 and copy the kite.gz file onto the USB drive of your Kindle. If your Kindle is currently in USB Network mode, then you'll need to switch back to USB storage mode to copy the Kite installer onto it, as the usbnetwork command is a toggle, you can issue:
;debugOn ~usbNetwork ;debugOffOnce you've copied the files on, switch back to USB Network mode by issuing the commands again.
;debugOn ~usbNetwork ;debugOffPlug your Kindle back into your PC again and test connectivity with a PING (depending what you've been doing in between, Windows may detect your Kindle as a new device again. If so, re-set the IP settings back onto the network adaptor as above, I went been to France for the weekend in between setting up USB Networking, so it happened to me). Connect to your Kindle's shell with Putty
putty firstname.lastname@example.orgIssue the commands to uncompress, and then run the Kite install script:
- Mount the Kindle file system, type:
- Move into /mnt/us:
- Unzip the kite.gz file, and run the install:
gzip -d kite.gz sh kite
Kite should now be installed, unplug your Kindle and then reboot it (Menu, Settings, Menu, Restart). As the reboot happens you may see a kite appear in the picture of the boy reading under a tree, or the land behind the tree may just flatten out, either are good signs. Once it's rebooted plug it back into your PC and check if there's a "kite" folder on the Kindle, if not create one (you may need to move/delete a file called "kite" first).
- Setting up the server
- Weather Services
- Getting the Image Tools
- Scheduled Tasks
- Download the Scripts
- Setting up the Kindle
- Jailbreak your Kindle
- Setting up USB Networking (1)
- Setting up USB Networking (2)
- Installing Kite on the Kindle
- Putting it all together
- Setting up the Weather Display on the Kindle
- Setting up Cron on the Kindle
- Useful References and acknowledgments