Member
Posts: 17
Karma: 192060
Join Date: Dec 2013
Device: KPW2
|
How to hack a brand new Kindle PW2 (without ever touch the internet)
Hi all,
I had some difficulties hacking my first Kindle Paperwhite 2nd Gen (aka PW2) to the point I totally bricked it (even after unbrick it once).
So, as a shortcut to the newcomers, I compiled a small primer guide to hack your Kindle PW2 before registering it, so Amazon will never know about your reading habits or update it silently, which I think is fair.
BIG RED NOTE: This guide is neither comprehensive nor complete nor definitive. You can help me to complete it by providing more details/information in this thread. There are catches and one is going to still read a lot of information to get it done right. There are things that don't work and one will loose functionality by doing it. Consider all this carefully before proceed. Do it at your own risk as I'm not responsible for anything bricked by YOU.
BIG BLACK NOTE: I'm not the author of any of the tools needed to complete these instructions. We, the community, owe a big THANK YOU VERY MUCH for all those intrepid and devoted developers that allows us to choose. In any case, do it at your own risk as none of these developers are responsible for anything bricked by YOU.
BIG MAGENTA NOTE: This guide applies only to Kindle Paperwhite 2gen, aka Kindle PW2, with 5.4.0 firmware. I advise you to never go beyond this firmware version, 5.4.0. Downgrade if you can, which I heard is difficult and risky. In any case, do it at your own risk as none of these developers are responsible for anything bricked by YOU.
That said, let's get it done.
Instructions
Spoiler:
- Open the box, enjoy this moment. Might be your last;

- Turn Kindle PW2 on;
- Choose your language;
- On WiFi setup screen, choose any private network, type a NOT VALID password and choose cancel;
- In the bottom of the screen, you'll see a 'register later', so click it to skip registration;
- IMPORTANT: FROM NOW ON AND FOREVER FOR THE REST OF YOUR KINDLE'S LIFE, NEVER, EVER SELECT AN WIFI FOR YOUR KINDLE ON EVERY REBOOT THAT THESE INSTRUCTIONS TAKES!!! Always cancel the WiFi and skip registration using the two steps above. One might want to turn airplane mode on and leave it as such forever.
- Install Jailbreak from Kindle Touch/PaperWhite 5.0.x - 5.4.4 JailBreak. Plus K5/PW USBNetwork, kindle-jailbreak-X.X.N.zip file;
- Install Rescue Pack from ixtab's "Rescue pack" for Paperwhite / Touch. One might need this if things goes wrong;
- Install MKK from NiLuJe's Mobileread Kindlet Kit;
- Install KUAL from twobob, ixtab, StepK, NiLuJe, KNC1, et al. [Kindle] Unified Application Launcher. KUAL;
- Install USBNetwork from Kindle Touch/PaperWhite 5.0.x - 5.4.4 JailBreak. Plus K5/PW USBNetwork, kindle-usbnet-X.X.N.zip file;
- Fake register from kaznelson's Offline registration for DX / K3 / K4(NT) / K5(KT+PW1/2). Read the Readme_eng.txt inside the zip to fill in reginfo.ini and install instructions;
- After previous step, your Kindle will look like registered, enabling all Amazon's bells and whistles that are locked while unregistered, but it will never touch a network, so no actual registration at Amazon. Look at settings and confirm that your Kindle thinks it's registered before continue;
- Make sure that USB cable is disconnected;
- Open KUAL, USBNetwork, * Toggle USBNetwork * to enable USBNetwork (you can check if it was enabled by clicking ** USBNetwork Status **, should read enabled on the bottom of screen);
- Connect the USB cable between Kindle and your computer (Linux preferred here, always actually);
- Run this as user on your Linux box:
Code:
$ sudo ifconfig usb0 up;sudo ifconfig usb0 192.168.15.201
Type your sudo password. Also consider to create an alias for this command as you might use it quite a lot. If you are typing something on your Kindle and the prompt stops to reply, type the above command again from a new terminal and it should be back;
- Run this as user:
Code:
$ ssh root@192.168.15.244
Accept the host key if this is the first time you do this, type password which happens to be 'mario' (no quotes, no bold). Consider an alias for this one too;
- Lets set the timezone, date and time of our Kindle. Run this as root on Kindle (be careful after run the first command, mntroot rw, as any mess from there may brick your Kindle):
Code:
# mntroot rw
# cp -p /var/local/system/tz /var/local/system/tz.orig
# ls -lah /var/local/system/tz*
-rw-r--r-- 1 root root 123 Jan 28 00:25 /var/local/system/tz
-rw-r--r-- 1 root root 123 Jan 28 00:25 /var/local/system/tz.orig
-rw-r--r-- 1 root root 14 Jan 28 00:25 /var/local/system/tzVar
- Open a new terminal on your Linux box and run this as user:
Code:
$ ls /usr/share/zoneinfo/
You are going to see a long list of different files, being each one a timezone setting. Choose one that fits your needs. Don't forget to look inside directories like Africa, America, Europe and others if your preferred timezone is not in the first list. For instance, I'm going to use my own timezone, which is /usr/share/zoneinfo/America/Sao_Paulo;
- Install the timezone on Kindle by running this on your Linux box as user:
Code:
$ scp /usr/share/zoneinfo/America/Sao_Paulo root@192.168.15.244:/var/local/system/tz
- From now on, Kindle is running at your preferred timezone. To check, run as root on your Kindle:
Code:
# date
Wed Jan 29 20:16:30 BRST 2014
- Set date and time by running on your Kindle as root:
Code:
# date 012922252014.00
Wed Jan 29 22:25:00 BRST 2014
# hwclock -w
For the records, the date command format is: MMDDHHMMYYYY.SS, where MM=Month, DD=Day, HH=Hour, MM=Minute, YYYY=Year and SS=seconds. The values used here should be your local time, not UTC;
- Log out from your Kindle by hitting CTRL-D on its command prompt.
- Run this on your Linux box as user:
Code:
$ sudo ifconfig usb0 down
- Remove the USB cable from your Kindle;
- Open KUAL, USBNetwork, * Toggle USBNetwork * to disable USBNetwork (you can check if it was disabled by clicking ** USBNetwork Status **, should read disabled on the bottom of screen);
- Disconnect USB cable from your Kindle;
- Reboot your Kindle to see time and date properly set;
- If by some reason you reboot your Kindle and its clock seems wrong by the offset of your timezone to UTC, connect to USBNetwork again and just run:
This will set the software (system) time from hardware clock. I'll look for a more persistent way for this one; (anyone, tips?)
- Install Collections Manager from ixtab's Collections Manager. Don't forget to install meme's [GUI Plugin] Kindle Collections to Calibre too, so you can manage your offline collections;
- Run to Callibre to sideload your books to Kindle;
- REMEMBER: NEVER! EVER SET A NETWORK ON YOUR KINDLE'S WIFI! YOU CAN SAFELY KEEP IT ALWAYS IN AIRPLANE MODE TO SAVE JUICE;
My personal comments
Spoiler:
Now you can go and install some neat KUAL extensions. There are lots of them here ('So what can you do with this?' spolier), here and here. Just in case someone mess with my PW2 network settings, I've installed dsmid's BackDoorLock and knc's1 BBB Firewall. To speed up KUAL sorting, I've also installed gawk. USBNetwork also appears as a result of the above instructions.
I would also advice to set a Device Password to our Kindle as well as disable Web Browser, Kindle Store and Cloud on Parental Controls (which requires to set a password that should not be the same as the device one).
As I said earlier, there are some caveats. The main ones, imho, are:
- Wikipedia definitions doesn't work at all. No network. Workaround: connect to the network, so, in what matter to this post, none;
- All the network features are unavailable. This renders impossible to use cloud sync and all other networked services, including Amazon's thirst for juicy analytics and user information.
Changelogs
On every change to these instructions, I'll update this changelog accordingly, on reverse chronological order (newer versions first).
Changelog 0.24
Changelog 0.23
Changelog 0.22
Changelog 0.21
Changelog 0.2
Changelog 0.1
Last edited by denydias; 03-09-2014 at 03:25 PM.
Reason: update instructions.
|