2010.12.19

How to Root a Samsung Fascinate Android Phone with Ubuntu Linux

android.png

These are the steps I took to root my Samsung Fascinate. Rooting gives the following abilities and more:

  • Install custom ROMs with ROM Manager (I have not tried this yet)
  • Backup your phone with Titanium Backup
  • Block unwanted calls and messages with Mr. Number Call Block
  • Give other applications root access if needed
  • Have total control of your phone
  • Remove Bing and replace it with Google

This article assumes you have already installed the Android SDK. I also assume that you have the platform-tools directory as part of your path. If not, you will need to specify the full path whenever you see the adb command used, like ~/android-sdk/platform-tools/adb.

The first step is to get your computer to recognize the phone. I followed the instructions on the Android developer site that explain how to do it. I'll summarize the steps for Ubuntu.

First make sure your phone is setup for development by performing the following steps:

  • From the Home screen, press the Menu button, then Settings
  • Select Applications
  • Make sure 'Unknown sources' is checked
  • Select Development
  • Make sure 'USB debugging' and 'Allow mock locations' are checked

Connect your phone to the computer using the USB cable that came with the phone. Now your phone should appear in the list of usb devices:

lsusb
...
Bus 002 Device 006: ID 04e8:681c Samsung Electronics Co., Ltd Galaxy Portal/Spica Android Phone
...

As root, edit /etc/udev/rules.d/51-android.rules so it looks like:

SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"

Replace "04e8" with the vendor id found in your lsusb output from the previous step (it's the first four characters after ID).

Now set the permissions on the file and restart udev to enable it.

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart

Now run the adb command and check for devices:

adb devices
List of devices attached
I500cf846986    device

You should see your device listed. If you do not try restarting adb with:

sudo adb kill-server
sudo adb start-server

Assuming you have made it this far and adb can see your device, we can continue with the rooting process. The following instructions were taken from this Newbie Guide to Rooting the Fascinate.

Download and unzip root.zip into a new directory. You should have the following files:

busybox
rageagainstthecage-arm5.bin
su
Superuser.apk

Push the rageagainstthecage-arm5.bin file over to the phone:

adb push rageagainstthecage-arm5.bin /data/local/tmp/rageagainstthecage-arm5.bin

Shell into the phone and setup the next step:

adb shell
cd /data/local/tmp
chmod 0755 rageagainstthecage-arm5.bin

After the next step there will be a pause (for a few seconds) then you will be returned to the shell prompt. Then wait another 20 seconds or longer and you should be kicked out of the adb shell. If your phone locks up, nothing bad should happen, just try forcing a reboot by pressing and holding the power button, or removing the battery for a few seconds.

./rageagainstthecage-arm5.bin

You should see the following then the command prompt again.

[*] 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 2200
[*] 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 waiting until you are kicked out of the shell, restart the adb server and re-login:

sudo adb kill-server
sudo adb start-server
adb shell

You should now be at a root (pound symbol) prompt. Exit the shell:

exit

Now to make the root permanent do the following:

adb push su /data/local/tmp/su
adb push busybox /data/local/tmp/busybox
adb shell
mount -t rfs -o remount,rw /dev/block/stl9 /system
cat /data/local/tmp/su > /system/xbin/su
cat /data/local/tmp/busybox > /system/xbin/busybox
chmod 4755 /system/xbin/su
chmod 4755 /system/xbin/busybox
exit

Install the Android application that controls root access:

adb install Superuser.apk

After it installs you will see Success on your screen and the connection will hang. Press Ctrl-C and reboot your phone. You should now have permanent root.

The Library of Congress has specifically exempted rooting from the DMCA (Digital Millennium Copyright Act)… This means that it is now 100 percent legal to root your Android phone (or jailbreak your iPhone) whenever you want without fear of legal action taken against you.

David Wasserman, Android Phone Geek, "Rooting Your Phone Now 100% Legal", 2010-07-26


2007.12.11

Android Software Development Kit

android.gif

Google along with The Open Handset Alliance has released their very cool software stack for mobile phones. There is a lot of hype behind this project and a lot of people think it will be the next big thing for mobile phones. Personally, I'm very excited for the future of mobile phones as they go away from being a closed and tightly controlled environment to an open one.

Here are a few videos introducing Android:

If you are interested in programming for the Android platform it is very easy to get started. Download the SDK and follow the instructions. I recommend using Eclipse with the Android Plug-in. It comes with some example applications that are interesting to look at.

Here are some videos that give a technical overview and a programming example:

I've mentioned the OpenMoko and Qtopia Greenphone projects before, which have similar goals, but lack the backing and hype that Android has.

I worry about my child and the Internet all the time, even though she's too young to have logged on yet. Here's what I worry about. I worry that 10 or 15 years from now, she will come to me and say "Daddy, where were you when they took freedom of the press away from the Internet?"

– Mike Godwin, Electronic Frontier Foundation


2007.09.27

Qtopia Greenphone from Trolltech

greenphone.jpg

I just read this article in Linux Journal about Trolltech's new Greenphone and the Qtopia SDK it comes with. It looks like yet another Linux based cell phone is coming on-line. This can only be good for the Linux community trying to have cell phone options and compete in a cell phone world of corporate control and commodity hardware. linux.com also has an article about the phone.

It looks like Trolltech is only targeting developers for the time being since you can only buy the phone with the SDK. You may choose from the Professional, Light, or Community (GPL) versions. With prices ranging from $695 and up.

The specs include a Marvell PXA270 312MHz CPU, 64MB RAM, 128MB Flash, 320x240 QVGA touch color screen, Mini-SD card slot, Tri-band GSM, Bluetooth, and a 1.3 mega-pixel camera, with Qtopia running on Linux kernel 2.4.19.

Even though the Greenphone looks pretty sexy, it's pricy for what you get. Plus after reading some of the reviews it seems to have some hardware issues. I think I'll stick with my plans to get an OpenMoko device for now.

Agent Gates: I hate this place. This GNU. This open source. This license, whatever you want to call it. I can't stand it any longer. It's the free software, if there is such a thing. I feel saturated by it. I can taste your GPL. And every time I do, I fear that I've somehow been infected by it.

– fishbonez


2007.08.24

Portable Rotary Cell Phone

rotary-cell-phone.jpg

A while back I read how to make your own rotary cell phone on Hack A Day. I've always liked the idea of building my own, but due to the cost of the parts I've held off.

Recently I saw this article on Make that renewed my interest. Apparently you can take the easy solution and just buy one if you want, from SparkFun Electronics.

Instructions for making your own are supposed to be here, but that link is not working for me as I write this. However, the mighty internet wayback machine has the instructions.

I still don't know when I'll be getting mine, but I would just love to bring one into a bar and put it on the counter and wait for a call while I have a beer. Gotta love the retro gadgets.

Hey barkeep, whose leg do you have to hump to get a dry martini around here?

– Brian (Family Guy)


2007.08.10

iPhone iPhenomenon

iphone.jpg

I'm not sure what to make of this iPhone phenomenon. I have to give kudos to Apple for once again taking the world by storm with an innovative product release along with the usual hype.

I have a coworker that waited all day to get one, and many others that have since purchased one. They all seem to like their new little device a lot. And from the ad-hoc demos I've had of the phone it is pretty impressive. Apple really does know how to make a great user interface. Using your fingers on the touch screen is very intuitive and just works the way you think it should. In fact, I haven't heard much in the way of a negative impression of the iPhone from anyone except for this guy.

One possible negative, depending on what you currently pay for cell phone service, is the price. As this site outlines, the total cost for the first year (assuming you buy the $599 unit) is $1,936. For the first two years, which is the length of the service contract, it comes to $3,232. That's with the minimum voice plan and the unlimited data plan. (What's the point of having an iPhone without the unlimited data plan?) That's a lot of money; about 5% of your net income if you make $50K per year.

Another negative is the constant cleaning of the screen that is required to remove the massive amount of smudges that accumulate from one's greasy finger-tips. I have an acquaintance that compulsively cleans his all day long. Apple might be inadvertently adding fuel to the obsessive/compulsive fire for many of the neurotic tech-gen'ers that will buy an iPhone.

Possibly the biggest down-side is how closed the iPhone development environment is. You cannot load your own applications onto it. Instead, third-party applications must work via the built-in Safari web browser. This means that in addition to traditional web pages, you may run Java Script and AJAX applications. However, it appears that Java and Flash are not supported at this time. I don't think there will be a shortage of web applications for the phone, there are already sites catering to them, and many more will come.

Even though I've listed some issues with the phone, it is really a pretty cool device that has a lot of potential. Unfortunately, I don't see owning one in my near future. I think it is a little expensive for the amount of use I would get out of it. Besides, I'm holding out for one of these. Maybe not as sexy as the iPhone, but they are free and begging to be hacked.

In related news… to keep abreast of what Steve Jobs is up to, have a look at his blog.

AT&T is like an overweight slob that's been given a chance to date a supermodel; if it doesn't shape up soon, it'll be easily replaced.

– Chris Taylor, CNN Article


2007.07.26

OpenMoko Cell Phone Project

openmoko.jpg

The OpenMoko project is creating a smartphone platform that consists of open hardware and free software (free as in freedom). This is a very exciting idea in a world dominated by closed mobile phone technology.

There's lots of information about the project on their wiki. Here is a video (part1 and part2) that demos some of the development work. Search for Openmoko on YouTube if you want to see more videos. The commercial-like videos are pretty cool. Here is a review and comparison to the iPhone.

I'm going to have to get me one of these, but I'll probably wait until the next generation versions come out. I want WiFi and the graphics acceleration.

Free your phone.