The new Kindle firmware seems to be all the rage these days, though the manual installation package for early adopters had been quite elusive until now. While the new features are quite neat, early adopters found themselves unable to apply any of the previously-established hacks. Firmware hacking is popular because it enables extensive customization options. I was impatient to install the new firmware, but I didn’t want to lock down my Kindle or wait for new hacks. What now?
Why, I simply installed the usbNetwork hack before upgrading to 2.5.2. The usbNetwork hack installs a Telnet daemon and a SSH server on the Kindle, while allowing the Kindle to be controlled over USB. It is a simple way to gain a root terminal, and it still works after the new firmware is installed. Hopefully, this paves the way for further hackery.
It should be noted that users who already have the new firmware cannot apply the usbNetwork hack (the process terminates with error code U004). If you’re interested in using it, install it while you still have the 2.3.* firmware.
So how exactly do you get a root console on the Kindle, with the usbNetwork hack? First, you put the Kindle into debug mode (in general, to issue any command, just follow these five steps and change what you type during the fourth step):
- press [Home] to go to the home screen
- type any key on the keyboard to enter search mode
- press [←] to blank the line
- type ;debugOn (the ; character, and many others, is available in the [SYM] menu)
- press [↵] to issue the command
Next, issue the `usbNetwork command on the Kindle, and plug it in. It should appear as a “RNDIS/Ethernet Gadget” rather than the usual mass storage device. By default, the interface should be configured with IP address 192.168.2.1, and the Kindle could be accessed at 192.168.2.2. How you go about setting up the interface depends on the operating system on your desktop. Telnet and SSH should be running at this point, either of which would give you a root shell.
Users have reported the interface dying after a couple of minutes. Through the console, it is possible to disable the daemon that periodically resets network connections as the Kindle goes to sleep:
/etc/init.d/netwatchd stop
/etc/init.d/Netwatchd stop