Windows Wifi Rooting Procedure

From WebOS Internals
Revision as of 03:50, 26 July 2009 by X1011 (talk | contribs) (deprecated template, fix Basic Linux Use link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This page is deprecated.

Please follow the instructions on the Accessing Linux page instead.

If you have never used Linux before please look at Basic Linux Use to get an idea of linux usage before proceeding.

Windows rooting via wifi

//This procedure works as is with Windows XP or Vista, and can be made to work with Windows 7 by manually installing Novacom as described on the Novacom and Windows 7 page. Using an XP virtual machine (VMware or Windows 7's "XP mode") has been reported to work if you do not have a supported platform. It should also be noted that once root access is gained and an SSH server has been installed, any further communication with the device should work fine via Windows 7, even if the initial procedure is done in XP or Vista.//

You may want to to consider using novaproxy instead of this if you do not want to worry about having to secure your Pre's network access, or if you are using Windows Vista or Windows 7 and cannot get this procedure to work. If you do not have a wifi connection available, you MUST use novaproxy instead of this procedure.

//If you want to root your Pre but have as of yet not updated to version 1.0.3 of webOS, install an SSH server before you update. If you have already updated to 1.0.3 and have not rooted your Pre yet, continue below as normal.//

  1. Download the webOS image.
  2. Change the file extension from .jar to .zip and then extract the archive.
* If you use 7-zip to extract, you do not need to rename.
  1. From the desktop, with no applicatons open on the Pre, type in the Konami code on your Pre's keyboard. (upupdowndownleftrightleftrightbastart) to access the developer mode application. You do not need to press enter. When you press the "t" of start, the developer app will become visible.
  2. Open the DeveloperMode application on your Pre and enable the developer mode switch, resetting the device when prompted.
  3. Connect the Pre to your PC using a USB cable. Do not select a USB mode, as this will turn off the Pre's WiFi & Cellular connections and give you a "wget: bad address" error when trying to install additional packages. Choose "Charge Only."
  4. Run the novacomm iriver installer from the extracted file - webosdoctorp100ewwsprint/resources/NovacomInstaller_x86.msi
  5. If your computer does not already have python on it, install [*http://python.org Python 2.6] (2.6.2 is fine). Make sure it's not a more recent version! Please install it into the default directory C:\Python26
  6. Download all of the files in [*http://svn.saurik.com/repos/webos-dev/trunk/rooter/ this subversion repository directory] and place them all in a single directory on your PC. Make a note of the folder that you saved to. You might want to make a new folder: C:\PRE
  7. Bring up a command line window (Start Run CMD enter) and 'cd' to the location in which you saved the files from the repository. ( cd c:\pre )
  8. In the command window, execute the talk.py script using Python ( C:\ python talk.py ).
* The script will output a bunch of lines.  If you don't see an error, you're good.  The lines should show a pattern of messages stating Got/Expected.
* If you get: [Errno 10061] No connection could be made because the target machine actively refused it or An error with some kind of int() problem with getport, turn off all PC firewalls (including the Windows Firewall) and all antivirus programs.  You should then run the script again.  You can re-enable firewall(s) and antivirus software if the script executes successfully.
* If you get an error like ValueError: invalid literal for int() with base 10: , it means that Windows has not found the driver for your Pre.  Give it a moment and let Windows find the drivers for the device.  Once you get the confirmation that Windows has installed the driver, disconnect the Pre and reconnect it, then go ahead and re-run the talk.py script. Make sure that when the USB Mode screen pops up again, you do not give it a mode. (Don't click anything or hit any buttons.)
* If you see another error or just can't seem to get past this step, join our IRC channel (irc.freenode.net #webos-internals) and feel free to ask for help.
  1. Turn on your Pre's WiFi and locate the device's IP address. You can find it in the Wifi Preferences app. Choose wifi preferences, click on the name of the router you're attached to and note the ip address, or through your router, if you know how).
  2. Establish a telnet session to that IP address. In the dos command window type: C:\ telnet x.x.x.x
  3. Login with username root and a blank password. (Note that you can only use root and a blank password while dev mode is on and you've run the talk.py script - rebooting turns this insecure access off again)
*  What You Should See:
root@castle:/#
* assuming that worked, you are in as root.  You can prove this by typing  ls -all  and hitting enter.  You should get a directory listing.  

Congrats, you are now in as root. Tread lightly.

Next Steps:

Your rooted pre is in a very sensitive and unusual state. There are several steps you should take immidiately:

  • Create a new username and password so that you don't connect as root
  • Open up ports in the pre so that you can connect to it.
  • Create a secure connection so that your pre is not open to everyone in the universe. If you do not secure the network, your device will be accessible by anyone on the internet until it is rebooted.
  • Install the Optware package manager so that you can install software onto the Pre.

All this picks up in Next steps after rooting .

Note: We recommend playing music (either locally or through the Pandora application) or having the phone on the charger while performing these task, if not your phone will go into sleep mode (Screen Turns Black) and the phone will drop the SSH or Telnet connection.


What You Should See:

root@castle:/# ls
bin         dev         etc         lib         md5sums     mnt sbin        tmp         var
boot        dspbridge   home        lost+found  media       proc sys         usr
root@castle:/# uname -a
Linux castle 2.6.24-palm-joplin-3430 #1 175.1.15 armv7l unknown
root@castle:/# whoami
root