Newbie Guide to Rooting the Fascinate

Discussion in 'Samsung Fascinate Development' started by mrdroid, Sep 10, 2010.

  1. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    WARNING: DO NOT delete files from /system if you don't know what you're doing and you know how to recover your Fascinate.

    Okay... so this guide is going to go through the same steps that are already out there but I'm going to put everything you need into a single guide so you don't have to hunt everywhere for them.... this is a Windows guide.

    What you're going to need:

    1. Setup ADB
    2. Install drivers
    3. Setup your Fascinate
    4. Root your Fascinate

    These links are just the next 3 posts...

    As always, perform these steps at your own risk. Neither myself, FascinateForums.com or DroidForums.com can any responsibility for what may happen to your phone by following this guide.

    Credit goes to Dirrk at xda for posting the guide I based this off of.
    http://forum.xda-developers.com/showthread.php?t=779238
    Additional credit in his original thread.
  2. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Setup ADB

    First download the sdk zip file from here: Android SDK
    The file you want to download will be named 'android-sdk-windows.zip'.

    Extract the zip file to your C:\ drive.
    You should end up with a folder named 'android-sdk-windows'.
    Open that folder and open the 'tools' folder inside of 'android-sdk-windows'. You should now be in:
    C:\android-sdk-windows\tools
    This is where the adb executable is located.

    At this point ADB is installed and ready to go but won't be easy to use. To make it easy to use copy; we'll copy the path into the environment variables.

    Find your My Computer or Computer icon and right-click and go to Properties.
    In Windows 7 you want to click the 'Advanced system settings' on the left under 'Control Panel Home'.
    In Windows XP you want to click on the 'Advanced' tab in the 'System Properties' window.

    Click the 'Environment Variables' button.
    In the bottom section named 'System Variables' scroll down until you find the Variable named 'Path'. Highlight Path and click 'Edit...'.

    The Variable value: field should be highlighted. Click in the box to un-highlight the text and go to the end of that line.
    Paste the following text at the end of the line. Make sure there are no spaces.

    If you followed the steps above you can copy the text below:
    Code:
    ;C:\android-sdk-windows\tools\
    
    I added a semi-colon at the beginning of the line and a backslash at the end of the line. These are needed for the environment variables.

    The entire Variable value: will look something like this. No spaces!
    Code:
    c:\Program Files (x86)\NVIDIA  Corporation\PhysX\Common;%SystemRoot%\system32;%Sy  stemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\  System32\WindowsPowerShell\v1.0\;C:\android-sdk-windows\tools\
    
    Click Ok on all the open windows.

    Now go to Start > Run (XP) or Start > Search (W7) and type cmd.exe and hit enter.

    Type adb

    You should get a bunch of command options. If your screen looks like the following then you are good to go.
    Code:
    Microsoft Windows [Version 6.1.7600]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
    
    C:\Users\Matt>adb
    Android Debug Bridge version 1.0.26
    
     -d                            - directs command to the only connected USB devic
    e
                                     returns an error if more than one USB device is
     present.
     -e                            - directs command to the only running emulator.
                                     returns an error if more than one emulator is r
    unning.
     -s <serial number>            - directs command to the USB device or emulator w
    ith
                                     the given serial number. Overrides ANDROID_SERI
    AL
                                     environment variable.
     -p <product name or path>     - simple product name like 'sooner', or
                                     a relative/absolute path to a product
                                     out directory like 'out/target/product/sooner'.
    
                                     If -p is not specified, the ANDROID_PRODUCT_OUT
    
                                     environment variable is used, which must
                                     be an absolute path.
     devices                       - list all connected devices
     connect <host>[:<port>]       - connect to a device via TCP/IP
                                     Port 5555 is used by default if no port number
    is specified.
     disconnect [<host>[:<port>]]  - disconnect from a TCP/IP device.
                                     Port 5555 is used by default if no port number
    is specified.
                                     Using this ocmmand with no additional arguments
    
                                     will disconnect from all connected TCP/IP devic
    es.
    
    device commands:
      adb push <local> <remote>    - copy file/dir to device
      adb pull <remote> [<local>]  - copy file/dir from device
      adb sync [ <directory> ]     - copy host->device only if changed
                                     (-l means list but don't copy)
                                     (see 'adb help all')
      adb shell                    - run remote shell interactively
      adb shell <command>          - run remote shell command
      adb emu <command>            - run emulator console command
      adb logcat [ <filter-spec> ] - View device log
      adb forward <local> <remote> - forward socket connections
                                     forward specs are one of:
                                       tcp:<port>
                                       localabstract:<unix domain socket name>
                                       localreserved:<unix domain socket name>
                                       localfilesystem:<unix domain socket name>
                                       dev:<character device name>
                                       jdwp:<process pid> (remote only)
      adb jdwp                     - list PIDs of processes hosting a JDWP transport
    
      adb install [-l] [-r] [-s] <file> - push this package file to the device and i
    nstall it
                                     ('-l' means forward-lock the app)
                                     ('-r' means reinstall the app, keeping its data
    )
                                     ('-s' means install on SD card instead of inter
    nal storage)
      adb uninstall [-k] <package> - remove this app package from the device
                                     ('-k' means keep the data and cache directories
    )
      adb bugreport                - return all information from the device
                                     that should be included in a bug report.
    
      adb help                     - show this help message
      adb version                  - show version num
    
    DATAOPTS:
     (no option)                   - don't touch the data partition
      -w                           - wipe the data partition
      -d                           - flash the data partition
    
    scripting:
      adb wait-for-device          - block until device is online
      adb start-server             - ensure that there is a server running
      adb kill-server              - kill the server if it is running
      adb get-state                - prints: offline | bootloader | device
      adb get-serialno             - prints: <serial-number>
      adb status-window            - continuously print device status for a specifie
    d device
      adb remount                  - remounts the /system partition on the device re
    ad-write
      adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
    tloader or recovery program
      adb reboot-bootloader        - reboots the device into the bootloader
      adb root                     - restarts the adbd daemon with root permissions
      adb usb                      - restarts the adbd daemon listening on USB
      adb tcpip <port>             - restarts the adbd daemon listening on TCP on th
    e specified port
    networking:
      adb ppp <tty> [parameters]   - Run PPP over USB.
     Note: you should not automatically start a PPP connection.
     <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
     [parameters] - Eg. defaultroute debug dump local notty usepeerdns
    
    adb sync notes: adb sync [ <directory> ]
      <localdir> can be interpreted in several ways:
    
      - If <directory> is not specified, both /system and /data partitions will be u
    pdated.
    
      - If it is "system" or "data", only the corresponding partition
        is updated.
    
    environmental variables:
      ADB_TRACE                    - Print debug information. A comma separated list
     of the following values
                                     1 or all, adb, sockets, packets, rwx, usb, sync
    , sysdeps, transport, jdwp
      ANDROID_SERIAL               - The serial number to connect to. -s takes prior
    ity over this if given.
      ANDROID_LOG_TAGS             - When used with the logcat option, only these de
    bug tags are printed.
    
    C:\Users\Matt>
    
    Additionally here is a video I threw together going through these same steps.

  3. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Install Drivers

    Download the appropriate driver:

    Windows x64

    Windows x86

    For the x64 version double-click the setup.exe in usb_drivers_GalaxyS_x64\USB Drivers

    For the x86 version just double-click the file downloaded.

    Just click next throught the install (change the install path if you want).

    When the install is finished plug your Fascinate into an available USB port.

    It's always best to plug your phone into a port directly connected to your computer's motherboard. To make sure you have done this you can use one of the ports on the back panel of your computer.

    After you plug in your phone you should get a message saying the drivers were successfully installed.

    I had an issue with the drivers on x86 and you may run into this as well.
    If you get a message saying that there was a problem installing the device or the drivers don't worry, ignore the error for now we will fix it in the next section.
  4. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Setup Your Fascinate and Root Your Fascinate

    In order to use ADB commands and properly setup the drivers and utilize all the built in links we need to change/validate 3 settings on the Fascinate.

    Go to the Home screen and hit the menu button.
    Go to Settings
    Go to Applications
    Make sure 'Unkown sources' is checked.
    Go to Development
    Make sure 'USB debugging' is checked.
    Make sure 'Allow mock locations' is checked.

    You can exit back to the home screen once you've verified those 3 settings are checked.

    -Driver issue
    If you ran into an issue installing the drivers in the previous step, after you've checked the above 3 settings open a command window.

    Go to Start > Run (XP) or Start > Search (W7) and type cmd.exe and hit enter.

    At the prompt type:
    Code:
    adb devices
    
    If you get
    Code:
    List of devices attached
    I500....    device
    
    Then you're good to go.
    If nothing is listed under "List of devices attached" you should be able to just unplug the Fascinate, wait about 10 seconds and then plug it back in. You should now get a message saying several drivers/features were installed successfully.

    Re-run the "adb devices" and your device should now show up.

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

    Now the fun part....
    Ok. First lets gather our files and get organized.

    On your Fascinate go to the Android Market and search for Terminal
    Install the App named Android Terminal Emulator by Jack Palevich

    Back on your PC
    Download root.zip
    Create a new folder on your C:\ drive named rootfiles
    Extract the contents of the root.zip file into C:\rootfiles
    Make sure there is no folder inside C:\rootfiles
    Inside C:\rootfiles you should see:
    Code:
    busybox
    rageagainstthecage-arm5.bin
    su
    Superuser.apk
    
    Rooting:

    Section 1.
    Reboot your phone and give it a couple minutes to load everything up.
    Now open a command prompt.
    Start > Run (XP) Start > Search (W7) and type cmd.exe
    Validate your phone is still connected by typing
    Code:
    adb devices
    
    You should see your device
    Code:
    C:\Users\Matt>adb devices
    List of devices attached
    I500x0xx000x    device
    
    Change your current directory to C:\rootfiles
    Code:
    cd C:\rootfiles
    
    If you are not currently on your C:\ drive then type
    Code:
    C:\
    cd C:\rootfiles
    
    Type the following commands exactly. If you want to copy and paste then copy each line one at a time and paste each in the command window by right-clicking and clicking paste. Ctrl-V will not work.

    Section 2.
    Code:
    adb push rageagainstthecage-arm5.bin /data/local/tmp/rageagainstthecage-arm5.bin
    
    You should get a response that looks like the following
    Code:
    146 KB/s (5392 bytes in 0.036s)
    
    Next type
    Code:
    adb shell
    
    You should now be at a prompt with a $
    Now type
    Code:
    cd /data/local/tmp
    chmod 0755 rageagainstthecage-arm5.bin
    
    Section 3.
    This step is important. After you type the next command there will be a pause and you will have to wait until you are kicked out of adb shell. It is important you do not touch your phone or type anything in the command window. If you do don't worry, nothing bad will happen you will most likely have to pull your battery and try to run the command again. If your phone doesn't lock up you can probably unplug it and plug it back in and start back at "adb shell"
    Code:
    ./rageagainstthecage-arm5.bin
    
    After you execute that command you should see something like this:
    Code:
    $ ./rageagainstthecage-arm5.bin
    ./rageagainstthecage-arm5.bin
    [*] CVE-2010-EASY Android local root exploit (C) 2010 by 743C
    [*] checking NPROC limit ...
    [+] RLIMIT_NPROC={3712, 3712}
    [*] Searching for adb ...
    [+] Found adb as PID 2198
    [*] Spawning children. Dont type anything and  wait for reset!
    [*]
    [*] If you like what we are doing you can send us  PayPal money to
    [*] 7-4-3-C@web.de so we can compensate time, effort and  HW costs.
    [*] If you are a company and feel like you profit from our  work,
    [*] we also accept donations > 1000 USD!
    [*]
    [*] adb connection  will be reset. restart adb server on desktop and re-login.
    
    After several seconds the $ prompt will come back

    After another 20 seconds or so you will be kicked back to the C:\rootfiles prompt.

    Type
    Code:
    adb shell
    
    You should now be at a # prompt
    This mean you have obtained temporary root on the device.

    Section 4.
    Type
    Code:
    exit
    
    You should now be at the C:\rootfiles prompt
    Type the following commands:
    Code:
    adb push su /sdcard/su
    adb push busybox /sdcard/busybox
    adb shell
    mount -t rfs -o remount,rw /dev/block/stl9 /system
    cd /system/xbin
    cat /sdcard/su > ./su
    cat /sdcard/busybox > ./busybox
    chmod 4755 su
    chmod 4755 busybox
    exit
    
    You should be back at the C:\rootfiles prompt

    Section 5.
    Type
    Code:
    adb install Superuser.apk
    
    Reboot the device and you should now have permanent root.

    I should add, on the last step to install Superuser.apk it seems to hang after the install
    Code:
    C:\rootfiles>adb install Superuser.apk
    1305 KB/s (196521 bytes in 0.147s)
            pkg: /data/local/tmp/Superuser.apk
    Success
    
    After you see Success you do a Ctrl-C
    and then reboot the device.
  5. roofz
    Offline

    roofz New Member

    Joined:
    Sep 10, 2010
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    0
    Thanks! Where can we find the root.zip?
  6. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Oops... that might help huh? I'll update in one minute...
  7. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Ok,,, it should be there now... it was too big to attach to the post so I uploaded it to mediafire.
  8. roofz
    Offline

    roofz New Member

    Joined:
    Sep 10, 2010
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    0
    Cool, after getting the $, i'm never kicked back to the C:\rootfiles prompt,

    I followed it word for word, any suggestions? It's near the last step
  9. Steeeler
    Offline

    Steeeler New Member

    Joined:
    Nov 8, 2009
    Messages:
    173
    Likes Received:
    0
    Trophy Points:
    0

    Ditto here as well. I am still hanging on the $ right now.
  10. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Go back to
    ./rageagainstthecage-arm5.bin
    Above that command I describe a couple scenarios. Basically if your phone is locked up you'll need to pull the battery. If not just disconnect the USB cable. Then plug it back in and do a C:\rootfiles>adb devices to make sure you're connected and then try
    ./rageagainstthecage-arm5.bin
    again

    Something I might need to add to the guide is doing a fresh reboot right before starting the
    ./rageagainstthecage-arm5.bin command

    I seem to get better results when I tried it that way.
  11. ScaryDolphin
    Offline

    ScaryDolphin New Member

    Joined:
    Sep 10, 2010
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Excellent guide! made rooting very easy! This is my first android phone, and your guide was the best one I found. Others assume you know quite a bit about rooting, so I found your guide to be very helpful to me as a complete beginner.
  12. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    We were all there once... I know about a year ago when I got my Droid 1 I was so lost reading all the guides... luckily this forum got me though the chaos! :D
  13. ScaryDolphin
    Offline

    ScaryDolphin New Member

    Joined:
    Sep 10, 2010
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    It hung there without kicking me out of the $ prompt for quite a while too. The guide says 20 seconds, but it took my phone like 5 minutes or so to kick me out of the $. Just wait for it and it should come back.
  14. roofz
    Offline

    roofz New Member

    Joined:
    Sep 10, 2010
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    0
    Yeah! Done, and it said success, but i didn't get that blue notification on my phone saying i'm a super user, is my phone rooted?
  15. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    You should have an app installed called Superuser. The icon is like droid skull and crossbones. If you can launch that without error you should be good.

    Also you can download Titanium Backup from the market. It will request Root Access when you run it, and it will also validate Busybox.

    It also has an option to fix Busybox so even if you don't use it for backups it's still pretty useful.

    You can also open the Terminal and type su.
  16. roofz
    Offline

    roofz New Member

    Joined:
    Sep 10, 2010
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    0
    Looks like i celebrated way too soon, I have the app and when i open it, it's just a black screen
  17. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Yea, that's good. It will be blank until you grant an app root privileges. Once you do that.. that app will be listed in that black screen.
  18. roofz
    Offline

    roofz New Member

    Joined:
    Sep 10, 2010
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    0
    Thank you MrDroid for this writeup!!!!!
  19. Steeeler
    Offline

    Steeeler New Member

    Joined:
    Nov 8, 2009
    Messages:
    173
    Likes Received:
    0
    Trophy Points:
    0
    Im up! Dude you are the man! I have tried loading adb on my computer many times in the past with no luck. You step by step made it sooo easy for me.

    Now its time to go to work with root explorer!

    Big Thanks!
  20. mrdroid
    Offline

    mrdroid New Member

    Joined:
    Dec 16, 2009
    Messages:
    511
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Pittsburgh, PA
    Yay! :)

    The Fascinate rooted army has begun :D
Search tags for this page
how to root a verizon samsung fascinate
,
how to root fascinate
,
how to root my samsung fascinate
,

how to root samsung fascinate

,
root fascinate
,
root fascinate from phone
,

root samsung fascinate

,
rooting fascinate
,

rooting samsung fascinate

,
samsung fascinate drivers adb
,

samsung fascinate root

,
samsung fascinate root guide
,
samsung fascinate root instructions
,
samsung fascinate root package
,
verizon fascinate root