I have an Android phone: a Samsung SGH-1997 Infuse on AT&T. For about a year I thought it was kind of a crappy phone and that Android was bad software, but it turns out to actually be really nice hardware that was inhibited by a terrible stock setup: a 2-year-old version of the operating system (whereas I’m impressed with the current release), some unreliable Samsung tools and a ton of AT&T bloatware that is hard to uninstall. The trouble is that it takes some work to get full control over this phone in order to customise it, and when I first bought it none of the software I could manage to upgrade to was all that good either. I recently managed to sort that out, and then subsequently had to get it factory reset to recover from something stupid I had done, so I’ve now been through the very painful, very poorly documented process of getting root access to this phone twice.
As is typical for open source software, there’s a huge selection of tools available, that much smarter people than me have volunteered huge amounts of time to make. But as is also typical, the tools are extremely inflexible, very poorly documented, and there are bits and pieces of the complete toolset scattered all over the interwebs. Now that I’ve figured it out I’m a bit of an Android convert, but still very annoyed with Samsung and AT&T for making it so difficult to get to this point. To save myself a lot of grief if I ever have to do this again, I took a lot of notes this time, and in the hope that it might save others time and pain I’ve pasted them in after the cut.
DISCLAIMER: I have only tested these instructions on my own phone. I can not guarantee that they’ll work for anyone else, and there is some risk that in doing this you’ll damage your hardware. I also don’t know anywhere near enough about Android to give you useful technical support if you try this and get stuck. I’m just providing these notes in the hope that they can save you some of the time I had to spend searching….
Steps to make the Samsung Infuse not suck.
1) You MUST start on Android 2.2 "Froyo". If you have a newer version of Android the following steps don't work so you have to roll back the software first. To do this, install Heimdall on your computer (we won't be using it directly, but it gets the relevant drivers installed as a side-effect), then download this oneclick Jar package: SGH-I997-UCKE3-STOCK-One-Click.jar (currently available at http://d-h.st/bY6 ) and run it. You'll need to be able to get your phone into download mode to run that - see below for instructions - and then when the phone and computer are talking to each other, click the "Flash" button to make it overwrite your phone's operating system.
2) Once you have Froyo, then root it using SuperOneClick (Windows) or this exploit (Mac, linux or Windows): http://forum.xda-developers.com/showthread.php?t=1081072 . Doing this allows you to do the subsequent steps, which by default you're prevented from doing "for your protection" and to force you to keep all the AT&T bloatware installed.
3) Install a file browser that uses root access (the default one doesn't, even after you've rooted the phone). Google Play has several; most of the instructions recommend RootExplorer, but I've been using ES File Explorer which has the advantage of being free and seems to achieve the same things. This is necessary to move some files into the right place and give them the right permissions. If you use ES File Explorer, you'll have to go into its settings and check "Root Explorer", "Up to Root" and "Mount File System", all of which are under "Root settings".
4) I'm not sure if this step is actually necessary or not. Replace the "recovery" file in your Android system with a hacked version that doesn't complain about using unverified files. Recovery is the mode you can boot your phone into to load operating system mods, etc, but the stock Samsung version is quite restricted. You can replace it with these instructions: http://forum.xda-developers.com/showthread.php?t=1091465 or http://youtu.be/PkMo8rBehHg
5) Install ROM Manager from Google Play / Android Market. This seems to be the most convenient way of installing the remaining software upgrades.
6) Use Rom Manager to flash Clockworkmod, which is just a necessary prerequisite for the next bit.
7) Install Cyanogenmod 9 using the instructions at http://forum.xda-developers.com/showthread.php?t=1601844 . This is the step that actually makes your phone feel like a good piece of hardware at last. It gets rid of the bloatware and updates you to a more up to date and very much better version of Android. Be warned: the one thing that's clearly not an improvement is that your phone will take a lot longer to boot; especially the first time.
8) Some recommended settings. I won't tell you how to set the phone up - after all the point of this exercise is for you to have control over the thing - but I can save you some time by warning of a couple of things that don't work, and suggesting workarounds that seem to fix the issues for me:
* Under "Performance", the "PERFORMANCE" CPU Governor does not work as advertised. Actually it doesn't really work at all. Avoid it, and get the intended effect by setting min and max CPU speed both to the max available with the "ONDEMAND" governor. I found I had to do this for Apollo to not keep skipping while playing in the background. In theory this is bad for battery life, but I've found
* For the automatic backlight, the phone behaves much more smoothly if I set a long sampling window, but doing this can make it take a full minute before becoming readable after walking from the shade to full sun. To remedy this, I've found that changing the "reset threshold" to 600 lux or less works - the default seems to be too big a jump to have the desired effect.
IMPORTANT Background info:
There seems to be a lot of Android/Samsung hardware/specific to this phone lore that the developer community just assumes you will know, but is not obvious at all. This is much of what I wasted time having to figure out, partly by trial and error. Hopefully these notes help.
DOWNLOAD MODE: To get this phone into download mode, switch it off, connect a working USB cable, wait for the green battery image, then power it up while holding both volume buttons. Then if the phone's in download mode but the computer still isn't seeing it, try just pulling out the microUSB and plugging it back in.
RECOVERY: To get this phone into recovery mode, switch it off, DISconnect any USB cable, and then power it up while holding both volume buttons.
USB: Everything's REALLY fussy about USB connections! Try different cables! Try different USB sockets on your computer! Try unplugging and plugging back in! Don't waste time with a USB hub - they just seem to increase the glitch ratio.
BRICKING: It is possible to render your phone completely unusable with this process. If this happens, go to an AT&T store before giving up: this happened and they were able to factory reset it, saving me from having to buy a new handset.
MORE INFO: If you get stuck, this thread is where to start digging: http://forum.xda-developers.com/showthread.php?t=1610374