Category Archives: Tech

Unlock iPhone 3GS running iOS 6.1 and Downgrade Baseband 6.15.00

OK, the 3GS is a bit dated, but I recently inherited this device from my brother, who I [unsuccessfully] tried to convert to Android with a shiny new Nexus 4. He had been complaining that his 3GS was very slow and wanted the ability to tether to his laptop. He’s on my business plan with T-Mobile, and had been suffering with EDGE-only speeds thus far.

I told him that the best phone available for T-Mobile right now was the Nexus 4, and I went to some great lengths to get him (and myself!) one on launch day. When I got them I promptly rooted them, flashed a custom ROM, and sent it off to him.

After about a month using the Nexus, he aborted and hit the Apple store and bought an unlocked iPhone 5. He’s happy again, and since the iPhone 5 supports DC-HSPA (aka HSPA+ 42), he’s getting the best speeds currently possible on the T-Mobile network.

Anyway, he’s now sent me back the Nexus 4 and his old 3GS to sell off for him. Unfortunately, he unthinkingly tapped the update button on his 3GS and updated to iOS 6.1 and baseband 06.15.00, re-locking his iPhone in the process (he was previously unlocked with the now closed SAM method).

If anyone has ever tinkered with iPhone unlocking and jailbreaking, you know how much of a pain this sort of thing is to deal with. There’s a lot of crap information out there and it’s hard to sort through it all. Well, I’m happy to say that I’ve done the hard work for you and was able to get his 3GS unlocked and activated again. Here’s how:

Initial configuration:

  • iPhone 3GS (old bootrom)
  • iOS 6.1
  • locked to ATT
  • unactivated
  • firmware 06.15.00

Final configuration:

  • iOS 6.1
  • Unlocked to any GSM carrier
  • Activated
  • firmware 5.16.04 (5.13.04)

Step 1: Buy the IMEI Unlock service for $2

First, go to eBay and buy the IMEI unlock for the iPhone. It costs about $2 as of the time of this post. The seller is unlock_fusion. I would link to the actual auction, but it will undoubtedly expire at some point and then the link will be broken anyway. Just use the link above to go to his Store and find it.

Once you buy the service, you will get an email with a link to input your phones IMEI number. Once submitted, it takes anywhere from 2 -12 hours to get the confirmation that your phone has been unlocked.

Step 2: Download the tools and firmware

Download the latest version of Redsn0w:

http://www.iphonehacks.com/download-redsn0w

Download iOS 6.0 firmware for the 3GS:

http://appldnld.apple.com/iOS6/Restore/041-7173.20120919.sDDMh/iPhone2,1_6.0_10A403_Restore.ipsw

Step 3: Downgrade the baseband from 6.15.00 to 5.13.04:

Watch this YouTube video to see how it’s done:

Note: The trick is to use the 6.0 firmware and not the 5.1.1 firmware that most of the tutorials mention (including this video). Using the 5.1.1 firmware will result in an error every time.

Step 4: Unlock and Activate that bastard

Now that your baseband has been downgraded to 5.13.04, the IMEI Unlock will now work (it’s not compatible with the 06.15.00 baseband).

The instructions provided by unlock_fusion had worked fine for my wife’s iPhone 4 several months ago, but I just wasn’t getting the confirmation message in iTunes that the iPhone had been unlocked with the 3GS for some reason. I tried it multiple times and never got it, nor was my T-Mobile SIM recognized.

But on unlock_fusion’s retail website, there are a few other methods to get the unlock confirmation. I’m not sure why they don’t include them all in their eBay instructions, but here’s the method that worked for me. You have to do a FULL restore, meaning restore from iTunes and install the latest iOS, not a restore of your iPhone backup.

This means it will wipe your whole phone. Everything. And when you’re done you will have to reinstall everything again. No big deal to me, since I’m starting from scratch to begin with.

The Restore Method

  1. Eject the SIM tray so it’s not readable by the iPhone
  2. Make sure your iTunes is updated to the latest version
  3. Plug your iPhone into your computer and wait until your iPhone is fully recognized in iTunes.
  4. Click the “Restore” button (not "Restore from backup") and accept the Terms agreement.
  5. Once the restore process has started, insert your non-ATT SIM card into the iPhone.
  6. Wait for the restore process to complete and iPhone to reboot.
  7. Once your iPhone has rebooted, iTunes will Activate your iPhone with your unlock ticket using your non-ATT SIM Card.
  8. You should see a message displayed in iTunes, “Congratulations, your iPhone has been unlocked!” 
  9. Your iPhone is now factory unlocked permanently and you can update freely in the future for newer iOS updates.

Yay! Got the confirmation in iTunes finally! And my T-Mobile SIM works perfectly.

You’ll notice that the baseband was updated to the latest 05.16.04 for the 3GS. Who cares, it’s unlocked now!

Fixing the GPS signal “fix” on LiquidSmooth ROMs for Galaxy Nexus

If you’re running LiquidSmooth on your GNex and it is constantly “Searching for GPS” when using the built in Google Maps or Navigation apps, something is hosed! Flashing this patch fixed my issues instantly, and has remained fix up to the latest LiquidSmooth 1.5MR1 update:

LiquidSmooth Galaxy Nexus GPS patch

I’m anxiously awaiting the new LiquidSmooth Jellybean 4.1.1 update to come out! I tried Jellybean the day it was announced, and it was noticeably smoother (like “butter” baby!). But it was missing all of the customizations I had gotten used to in LiquidSmooth, including the all-important [to me] Profiles Settings.

LiquidSmooth Jellybean 4.1.1 Beta, plus restoring apps with Titanium Backup

Update 08/06/12: For the past few days I’ve been trying out the Beta 2 build of the Liquid Jellybean 4.1.1 rom. It works and is complete, for the most part. Some things (for me) are broken:

  • Voice Dialer quits when accessed by my Bluetooth headset
  • GPS wouldn’t lock (fixed with GPS patcher above)

This was also the first time I used titanium Backup to restore my apps and settings. After a few attempts, I think I’ve figured out how to do a successful restore. The main issue I found was restoring Apex launcher (either from its own saved backups or through Titanium Backup). Every time I restored it, my Camera and Gallery apps broke. They both said “App isn’t installed” when I tapped them.

To fix this, all you have to do is remove the apps from your homescreen, then re-add them from your Apps drawer. Presto, they both work now and both have the correct icons (previously they had generic, green Android icons).

To restore apps with Titanium Backup, just select the schedule to “Restore Missing Apps with Data”. Then, deselect the apps you don’t want restored. Another option is to restore all system data along with it, but I chose not to do this option. Maybe next time I’ll try it.

A new ROM with Profiles! AndroidME CM10 4.1.1


Found a new ROM today, that also has the Profiles Settings app. It’s called AndroidME and is available here.

Turns out, the Profiles setting I require was developed by the team at Cyanogenmod, but released as open source to the Google AOSP (Android Open Source Project). That basically means that Google can use it in a future build if they like it enough, and so can other ROM modders if they choose to build off the AOSP source and include it in their ROMs.

AndroidME CM10 is based off the latest Cyanogenmod 10 build, and therefore contains the Profiles settings built in. While CM10 is still in development, it seems pretty stable so far. The GPS also didn’t lock, but the above flash fixed it yet again. Bluetooth voice Dialing also works now, which is great for driving! I’ll be sure to report back with my next ROM of the day…

Android Bugs: Gmail app stuck on “sending” forever

I recently discovered that the Gmaill app on my ICS Galaxy Nexus wasn’t actually syncing properly. When I would mark an email as archived, it wouldn’t reflect in my desktop browser, or worse, if I sent an email from my Android Gmail app, it would get stuck on “sending” forever, and never actually send the message. Rebooting wouldn’t fix this either.

Basically what happened is Gmail app is messed up and the only way to fix this is to delete the app data associated with the program. This will essentially reset the app so it gets a fresh sync again. Note: You will lose any messages stuck in “sending” mode. You will also have to add back any account specific customizations like label-specific notifications and custom ringtones for the app.

Go to System Settings > Apps > select the ALL tab > locate Gmail and select it > click the Clear Data button. Reboot for good measure. Fixed.

Android Bugs: Gallery app doesn’t show correct image when selecting thumbnail image

Found an annoying issue with the Gallery thumbnails on my Nexus. Selecting a thumbnail in the Gallery app wouldn’t display the right image. It seemed like it was 4 or 5 images “off”. This behavior was also apparent when selecting things like Wallpapers from the Gallery.

The fix was to delete/rebuild the thumbnail cache for the Gallery. Go into Astro file manager or similar and delete the cache files in /Android/data/com.google.android.gallery3d/cache/imgcache (3 of them), and reboot the device. Next time you view your Gallery, you will see the thumbnail images being regenerated.

Part 3: Making Android more like a Blackberry (adding Blackberry sounds and Autotext)

And for my 3rd installment on Making Android like a Blackberry, I’ll share with you some tweaks I’ve discovered in the past month or so to make my Galaxy Nexus behave more like the Blackberry I was used to.

Autotext

Blackberry users should know what this is. It’s a way to add typing shortcuts for commonly used words or phrases. For example, on a Blackberry you can add shortcuts to your custom dictionary so they can quickly be recalled later by typing just a few characters.

For example, you can set up something like ‘lmk’ and when you type those characters followed by a space, it will automatically input “let me know”. I used this for things like my signature, my phone number, my address, etc. Very handy!

Turns out, there is an app for that in the Android Market. It’s aptly named “Auto Text”. The free version is good for up to 10 shortcuts, which is just about what I need. The paid version is a bit pricey at $9.95, but is unlimited. I’ve been using it for a few days now and it seems to work pretty well. Not exactly like a Blackberry, but totally acceptable. The only issue (that hasn’t become an issue yet), is that I think it replaces the default ICS keyboard with its own. The default ICS keyboard supposedly has many improvements over the old 2.3.x keyboard. And from my experience of trying several 3rd party market keyboards, it’s the best. Auto Text appears to be modelled on the older 2.3.x (gingerbread) keyboard, but so far my typing seems to be as accurate as it was with the default ICS keyboard. I’ll be keeping a close eye on this for accuracy the more I use it.

I did find another keyboard in the Market that has the Autotext feature, but haven’t used it just yet. It’s called Smart Keyboard Pro. If Auto Text fails me, I’m going to try this one next.

Blackberry Sounds

IMO, the notification sounds on Android suck. If you miss your Blackberry sounds, there’s no reason you can’t have them on your Android device, too! just download the sounds and copy them to your Ringtones folder of your /sdcard. You will then be able to select them in whatever app you want:

Download Blackberry Sounds

Part 2: Making Android more like a Blackberry

Following up to my oh-so popular post about making Android more like a Blackberry, I’ve found a way to create notification Profiles that do what I want.

After fiddling for about a week (seriously), with probably 20 apps and runaround forum threads, this seemingly basic functionality couldn’t be done in Android ICS.

To recap, what I wanted was:

  • The ability to disable all notifications at “Night”, except for the phone ringer and notifications for incoming email to one email address that I use to alert me of server-type mishaps.

No matter what app I tried, I wasn’t able to find a way to do this. Many of the apps out there can whitelist contacts, but many required that they be from a phone number and not an email address. I even tried an SMS alert from my monitoring service, but that app just plain didn’t work at all.

The solution? Flash the ROM of my ICS Galaxy nexus to the latest nightly build for Cyanogenmod 9.

Cyanogenmod 9 (and earlier versions), has a built-in setting aptly named “Profiles”. This feature allows you to control notifications for various situations, such as “Work” or “Car” or “Night”. Additionally, you can control the notifications for specific apps. Default apps include Gmail and Email.

What I did was set up all of my email accounts in the Gmail app, and the server-alert account in the Email app using Exchange (per my related post). Once this was set up, I could then use Profiles to override the notifications for the Gmail app when set to the “Night” profile, and subsequently pump up the volume for the Email app and its server-alert email address.

Seems so simple, right? I think the problem I had in finding an app to do this was that Google apparently changed the way apps can be accessed by other programs, basically disallowing the type of control I wanted. Flashing a different ROM removed this restriction.

Anyway, I’ve been using the mod for a few days now and it’s been very stable. It also has a lot of nice and seemingly obvious tweaks to the stock ICS interface that I really think enhances the usability of the OS. Another nice touch is that the changes are relatively transparent; there’s no bloatware or gratuitous interface skinning here. It still looks like stock ICS, but with some welcome tweaks.

Let me try and sum up how to Flash this ROM in my own words:

  1. Install the Galaxy Nexus Toolkit (This allows you to root, unlock, install Clockworkmod recovery, everything, in one step)
  2. Install ROMManager from the Google Play store
  3. Assuming you successfully installed the Toolkit, you can now download the latest CM9 build and also the Google Apps files to your PC (I don’t know if you can do all of this on a Mac, but luckily my Mac has Bootcamp and Win7 on it; it won’t work with Fusion or Parallels)
  4. Create a directory (folder) on your GNex called “cm9”, and copy the above two files in .zip form to it. (I like to keep the ROM files in one place rather than loose on the root level /sdcard)
  5. Launch ROMManager and select Reboot into Recovery (this will reboot into Clockworkmod recovery)
  6. Continue from Step 6 in the article above

Note: This will wipe your device of all user data, but not photos or media type stuff. Just your apps and your account setups like Gmail, etc. Once you are up and running again, you can just restore most of this stuff easily once you sign into your Google account again.

Update: Updating to a new build on CM9 is also easy:

  1. Download the latest nightly build from Cyanogenmod.
  2. Once downloaded, launch ROM Manager, (optional: select Backup Current ROM" if you want to be safe and have a restore point), then select “Install ROM from SD card”. “Wipe Dalvik cache” is selected by default. Proceed.
  3. When your Nexus reboots into CWM Recovery, use the volume buttons to select “install zip from sdcard” (press Power button to select), then navigate to your /Downloads directory to select the new ROM build.
  4. After installation, reboot the device and allow Android to finish updating itself.
  5. Done!

YAR (Yet Another ROM): LiquidSmooth

I found another ROM that also has the Profiles settings. It’s called LiquidSmooth (I think they may have just ripped it off from CM and integrated it into their own ROM under CM open source license). I tried it for a couple days, but went back to CM9 because of one issue: I couldn’t get my notifications to remain persistent in my status bar until dismissed. For example, an email is received, and it dings me and shows me a little email icon in the status bar. It remains there until I slide down my notification and dismiss it. For some reason, in Liquid Smooth the icon showed up but went away on it’s own after about a second or two. It remains in the notifications panel, but not visible in the status bar, so basically you don’t really know if there is an email by glancing at the status bar area. It’s probably a setting somewhere that I missed, but I didn’t want to deal with it.

On the plus side, Liquid Smooth fixed two bugs I have been experiencing with CM9: 1) YouTube does not launch at all and 2) Using DoubleTwist in CM9 results in really bad wifi performance. I’ve since uninstalled DoubleTwist and I don’t use YT anyway, so no big deal there.

Notification Fix: A helpful tip fixed my notification icon issue with LiquidSmooth. At some point I must have changed the notification color to Black, making it essentially invisible. To fix this, in the main section of Liquid Control under Statusbar: select General. Scroll all the way down to the bottom selection (Notification Color). Open that up and change the color to #fff (white). Now just back out and all your notifications should stay  "visible" until you dismiss or check them.

Hence, I am back to running Liquid Smooth for now. It seems to be generally more compatible with various apps. For example, Youtube and Doubletwist work fine for me. Another thing is Bluetooth Audio to my car stereo works, but with CM9 it doesn’t. I do find it faster than CM9 as well, supposedly one of the selling points of this ROM.

Making Android more like a Blackberry: True Push Email using Exchange on a Galaxy Nexus

Gmail app on Android isn’t true push. Not like a Blackberry at least. Try as I might, I couldn’t get my emails to arrive on my new Galaxy Nexus in real-time, which is important for my pseudo server admin duties. I need to know when something’s gone haywire on my servers [preferably] before my users do! And if anything, the Blackberry was really, really good at this one thing (push email).

My tests with Gmail push were all over the place. Sometimes it seemed instant, and other times I didn’t get a notification at all. Or may I would 5 minutes later. WTF?

I even tried using Gmail to forward to my phone’s SMS address, but that led me into other issues: trying to assign a specific notification tone to a contact without a phone number or using multiple SMS apps to achieve what I wanted. In the end, the hacks I was trying to use to make my Nexus more Blackberry-like were pretty sloppy and I wasn’t very happy.

Until now…I think I figured it out (finally).

Set up the Gmail account you need to push using the built-in Email app instead of the Gmail app. Once you eneter your credentials, select Manual Setup (note: this is using ICS, so I don’t know what the interface looks like in pre-ICS). Then select “Exchange”. For server, change it to “m.google.com” and leave everything else as-is.

When you complete the setup, try a test to that account. Instant, huh? (well at least within 1 minute, consistently,unlike Gmail). Niiiice

Next task is to figure out how to set up Ringer Profiles like a Blackberry: Being able to assign specific notifications to specific email addresses I’ve set up to sync, with individual volumes. For example, setting a profile to “Night”, so everything is off but only the dreaded server alerts come through.

Update: Sadly, my Exchange setup doesn’t seem extremely reliable either. Better than plain Gmail, but still not very instant. I’ve now downloaded and installed an app called Mail Alert (free), that polls the email account at a specified interval. I’ve set mine to every 60 seconds, and using that in conjunction with the Exchange method provides me with a sort of backup alert system. True, this may be a battery drain, but so far in my testing it doesn’t seem to make a significant impact; I am still getting a full day out of the stock battery with room to spare. I may pick up a secondary battery just in case, since I tend to use the WiFi hotspot feature of the Nexus quite a bit.