GOPHERSPACE.DE - P H O X Y
gophering on gopher.black
Project: Root/hack Kindle Voyage into a fabulous e-ink terminal.

Hardware info:

  Wi-Fi MAC Address: 78:E1:03:36:78:3C
  Serial Number: 9013 0907 7253 0162
  Model Number: NM460GZ
  Model Name: Kindle Voyage WiFi
  Model Nickname: KV
  Firmware Version: Kindle 5.9.2.0.1 (3262860017)

Step 1: Factory Reset

  - Menu -> Settings -> Reset Device
  - Re-register device
  - Fully charge device
  - Turn on Airplane mode

  NOTE: Never use factory reset after jailbreaking. It will wipe
  out the ability to use the jailbreak survival code

Step 2: Downgrade Firmware

  - Get Serial #
  - Use Serial to get model number & nickname [0]
[0] Kindle Serial Numbers
  - Find the appropriate Model's old firmware.

  NOTE: If you get the wrong model's firmware, it will brick the
  device. I'm using KV_5.5.0, found with a google search.

  - Plug in Kindle via USB to computer
  - Copy bin file to the root directory on Kindle drive, next to
    /documents
  - Unmount USB, remove USB cable, wait 10 minutes
  - Home -> Menu -> Settings -> Menu -> Update Your Kindle

  NOTE: If the Update Your Kindle option doesn't delay coming up,
  and remounting reveals the file is missing on the device, this
  method will not work with your current firmware.

  That's where I ended up! Time to try it with an older spare
  kindle model, or wait for a new jailbreak option to come out for
  the Voyage.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

I started all over again with my Kindle Touch. This time the
process was pretty simple!

Hardware info:

  Wi-Fi MAC Address: F0:A2:25:BD:94:6F
  Serial Number: B00F 2607 1453 0F5Q
  Model Number: D01200
  Model Name: Kindle Touch
  Model Nickname: K5 or KT
  Firmware Version: Kindle 5.3.7.3 (2715280002)

Step 1: Factory Reset

  - Menu -> Settings -> Reset Device
  - Re-register device
  - Fully charge device
  - Turn on Airplane mode
  - Disable accidental OTA updates by dropping a folder in the
    root directory named "update.bin.tmp.partial". Leave it
    empty and all your worries are no more.

Step 2: Jailbreak!

  - There's a bunch of resources, but start here [1]:
[1] Kindle Developer's Corner Master Index
  - Find your kindle model and its index page for reference [2]:
[2] K5 Index
  - Now, find your jailbreak [3]:
[3] K5 Jailbreak
  - It wasn't clear to me right away, but you basically grab the
    file, drop it into the root folder of the Kindle, then run
    the updater. Don't just reboot the Kindle, use the updater.
  - Once the update is done, THEN reboot it once more.

Step 3: USBNetwork

This will install some thingies so you can connect to the device
over USB where the USB acts like a network card.

  - Grab the USBNetwork installer and drop it in the device root.
    Install it just like the jailbreak. It's in the same link as
    before [3].
  - I did this part from my Windows 7 device, so I had to fix the
    drivers for the USB plug. Windows 7 has the proper driver,
    but I had to manually select it. I went into device manager,
    clicked that improperly installed thing, manually selected
    a driver for "Microsoft Corporation" and there it was. All
    better.
  - After that, you need to edit the network connection that
    comes up and modify the IPv4 settings to point to the device
    IP: 192.168.15.244

Step 4: Getting Access

Finally, SSH in... only it doesn't work. Remember, there's
a password on the root account that's random. We need to get an
ssh key into the authorized keys so we can access the device.

  - Disable networking by going to the search field on the kindle
    and entering ";un". It's a toggle, so if you did it right you
    should be able to plug in the kindle and mount it as USB. If
    not, enter the code again and try again.
  - Browse the SD card for the ssh folder. You'll have to create
    the authorized_keys file and paste in a public key for
    whatever system you're connecting from. (Device isn't in
    front of me, so I forget the path. I need to come back and
    add that here for posterity)
  - Unmount, ";un" once again, and try to SSH now while plugged
    in. It should work. It did for me.

Step 5: Wifi

Once you can get in via the USBNetwork, you should be able to get
in via wifi too.

  - In the kindle search type ";711". This will give you the
    Kindle's info. There may be multiple pages to click through.
    On page 2 for me was the wifi address of the Kindle. If your
    Kindle isn't connected to a network, you won't see anything.
    You can tether to your phone in a pinch.
  - Grab that ip and SSH to root@. It
    should log you right in just like the USBNetwork did. If not,
    you might need to enable wifi logins. It's in the config file
    on the SD card which you can edit when mounted as a USB
    device, or when logged in as root from USBNetwork after
    changing the system to read-write (instructions in the shell
    when you log in)

Step 6: Loading stuff

There's launchers and apps and stuff you can put on your kindle
now. You do this work over USB while mounted, not in Network
mode.  

  - Toggle networking with ";un" again if you need in order to
    mount oven USB.
  
  TODO: add info about installing package manager thingies and
  launcher, recommend some apps, and talk about using kterm to
  connect to a remote shell and sharing the screen via tmux or
  screen, thus using the Kindle as a display.