Simple Method to Change APN Settings on an iPhone/iPad

Many Mobile Virtual Network Operators (MVNOs) such as Straight Talk require that you update the Access Point Names (APNs) on your phone to work with their service. A quick an easy way to do this is to use the Unlockit NZ service by browsing to the following website from your mobile device:

If you are using an iPhone, click on the “Create APN” link at the bottom of the browser window, select your country and carrier, then click on the “Create APN” button. This will create a new “Install Profile” containing the APN settings for your carrier. Just click on the “Install” button and then “Install Now” to update the settings on your phone. Note that you may be prompted to enter your passcode before the updated settings will be installed.

The procedure is similar for Android phones although you’ll likely need to enter these settings manually. You can also just look up the required settings by clicking on the above link from your computer.

Hardware ID Missing

With the Jelly Bean update soon to be released for the international version of the Samsung Galaxy SIII (GT-I9300), I thought I would connect my phone to my notebook, launch the Samsung Kies, and see if the update was available yet. When launching Kies, I was prompted to update to a newer version which I thought would be a good idea especially since the update stated that it was supposed to resolve firmware update issues. After updating Kies, I re-connected my phone to my notebook and was immediately greeted with the following “Hardware ID Missing” warning message:

Hardware ID Missing

The Kies utility could see the phone as it correctly identified the model phone by its model number but was stuck at the “Connecting…” prompt. I tried running the connection troubleshooter a couple of times, each time reinstalling the Kies device driver, but the issue persisted. Removing and reinstalling the latest Kies release along with the associated USB drivers also failed to resolve the issue.

After much research, it turns out that this issue due to a bug in the newer Samsung USB drivers. Downgrading the driver to version can resolve the issue but can be rather tricky to install properly. The problem is that even after the downgrading the device driver, Windows will automatically check for and install the latest version the next time you connect your phone to a USB port on your computer or move the phone to a different USB port. You can force Windows to use the downgraded driver by taking one of the following steps:

  1. Disconnect your computer from the Internet. This will prevent your computer from contacting the Windows Update service and keep it from using the updated driver.
  2. Click the “Stop obtaining driver software from Windows Update” link in the driver software installation prompt. This option is not as easy as it sounds as you have to quickly click on the “Installing device driver software” prompt as soon as it appears in the System Tray and then click the “Skip obtaining driver…” link before while the “Searching Windows Update…” message appears to the right of the “SAMSUNG_Android” device in the driver software installation window. You also have to remember to do this each time you move your phone to a different USB port on your computer. (Note that you only need to prevent your computer from searching Windows Update for a newer USB driver. There are no issues with using the latest drivers from Windows Update for the “MTP” and “CDC Abstract Control Model (ACM)” drivers.)
  3. Disable the Windows Update Device Driver search on your computer. (See the links at the end of this blog post on how to do this.) This will ensure that the device driver is never updated even if you move the phone to a different USB port, but will also prevent the automated installation of the latest drivers for other devices.

None of the above options are foolproof and some have some rather significant downsides. The best option might be to keep a copy of the older USB driver on your local hard drive and manually downgrade it the next time you run into the issue. Just re-install the older Samsung USB driver then follow one of the steps above to prevent your computer from automatically downloading and installing an updated version.

To prevent your computer from searching Windows Update for newer drivers, please refer to the following article:

Disable Windows Update for device driver installation

For further discussion of this issue, please refer to the following links:

“Hardware ID doesn’t match” error when plugging phone in
Hardware ID is Missing error

“The folder is open; the folder is closed”

Earlier today I received an alert on my Samsung Galaxy S3 regarding an impending heat wave in the Bay Area. I was a bit puzzled as I couldn’t figure out why I received the alert. Of course, the weather forecast was accurate — it’s looking to be a very hot over the weekend — but I couldn’t determine the source. I haven’t subscribed to any weather related alerts and I don’t have any weather apps installed on my phone. I thought I’d use the Notification History app I installed a while back to track down the source of the alert. When I launched the app, I received a notice instructing me to enable accessibility and the Notification History Pro service to start record notifications.

Enable Accessibility Service

Unfortunately, this also meant that there was no notification history to search so I wasn’t able to use this app to track down the source of the alert. I enabled the services as instructed in hopes that the alert would reappear. Later that same afternoon, I noticed that each time I opened or closed a folder, a voice would announce that the folder was open or the folder was closed. Very annoying. It turns out that this is an unavoidable side effect of allowing the Notification History Pro service to keep track of my alerts. If I want to keep a log of all of the notifications that I receive on my phone, I have to enable accessibility prompts. However, the voice prompts are a lot more annoying to me than an occasional mystery alert. So, bye-bye Notification History Pro. It seems I hardly could use you.

Samsung Galaxy S III Software Update Issue

If you’re like me and always checking to make sure that you’re running the latest updates on your phone, you may encounter a curious message when checking for updates under Settings –> About device –> Software update –> Update.

Software update

Most likely this message indicates that Samsung has released a new update for your phone but that their servers are currently too busy to service your request. If you can’t wait to receive the update over the air, you could try downloading and installing the update using Samsung’s Kies utility.

Samsung Kies for Mac and Windows

Taking a Screenshot on a Samsung Galaxy S III

Not sure if this will work on other Android phones from Samsung, but here’s a rather simple way to take a screenshot of whatever is on the screen of your Galaxy SIII:

First, make sure that the use “Palm swipe to capture” option is enabled in the “Hands motion” section under Settings –> Motion. Once enabled, you can take a screenshot simply by swiping the side of your hand across the screen from right to left or left to right. Although the gesture is called a palm swipe, you want to use just the edge of your hand – not unlike the motion you would use to brush crumbs off a table.

How to take a screenshot on the Samsung Galaxy S3 (free – no app required!)

Straight Talk – Unlimited Voice, Text, Data for $45/month

Many long-time cell phone users may be surprised to learn that they can save a great deal of money by switching to a pre-paid plan. Most people are paying top dollar for plans they are barely using or are hanging on to unlimited plans simply because they still can. Unless you are a heavy mobile data user, someone who insists on streaming video 24×7, or use your cell phone as a network tether, you’d probably be better off going pre-paid. Depending on your current plan, you may find that you can cut your monthly cell phone bill in half without noticeably limiting your cell phone usage. If you’re an existing AT&T or T-Mobile customer or have an unlocked GSM phone, you should seriously consider switching to Strait Talk’s bring-your-down-device plan. For just $45 per month, you get unlimited voice, text, and data. Of course, the data portion isn’t truly unlimited as Straight Talk reserves the right to cancel your service due to excessive data use. However, most Straight Talk customers do just fine provided they keep their data usage below 1.5 to 2 GBs per month or under 100 MB per day. That may not sound like much but most people use a lot less. Newer Android phones running “Ice Cream Sandwich” or “Jelly Bean” have built-in data usage monitoring allowing you to place a hard cap on your mobile data usage. You can also install data usage monitoring utilities such as Onavo on older phones to monitor and manage mobile data usage. You won’t be giving up much in terms of coverage by switching to Straight Talk as their AT&T SIM service has access to the same network as a regular AT&T customer. You’ll only lose out on roaming and the ability to call internationally — although even that won’t necessarily be an issue.

Going with one of these pre-paid plans also means you’ll likely have to get used to lower quality customer support. Some customers report having their service abruptly terminated for “excessive” or unauthorized (tethering?) data usage, even losing their phone number in the process. You can help alleviate some of the headaches of going prepaid by first porting your existing mobile number to Google Voice. (Bear in mind that porting your mobile number to Google Voice will likely result in the early termination of your current cell phone contract and may subject you to rather costly early termination fees!) Once your number has been ported to Google Voice, you no longer need to worry about losing your mobile number. Most people already know that Google Voice can automatically forward calls to any cell phone you choose although few are aware that you can configure the Google Voice app on your Android phone to route all outgoing calls through your Google Voice number. No need to launch the Google Voice app when making outgoing calls, just use the standard Dialer. I first saw this working on a Samsung Galaxy S3 running “Ice Cream Sandwich” so I’m not sure it will work on earlier releases. You can also use Google Voice to place international calls from your cell phone, closing this service gap in some of the prepaid plans. (Google’s international calling rates are super cheap meaning that you could save even more money.) With the “Ice Cream Sandwich” release, Google Voice messages can now appear in phone’s call log. Why does all this matter? Once you have all of your incoming/outgoing calls routing through Google Voice, you can change prepaid service providers at any time. No one will ever need to know your real cell phone number.

Not convinced? Check out the following links and decide for yourself. Note that not all of links are for prepaid plans for GSM phones and not all of the prepaid service providers allow you to bring your own device.

Is there any reason not to get a prepaid phone? – Mobile – CNET News
Straight Talk SIM Card + iPhone 4S = $45 Unlimited Prepaid Plan » My Money Blog
Geek Factor › Straight Talking With Google Voice and A Locked iPhone
Straight Talk SIM: The BFF of a Galaxy Nexus or iPhone
Straight Talk: Keep AT&T Humming While Chopping Your Cellphone Bill in Half
7 reasons to shred your wireless contract and switch to pre-paid
I hate Verizon, so I decided to compare all the carriers’ plans including pre-paid options to see which is the best
Straight Talk

And here are some links to help configure Google Voice and manage your data usage on Android phones:

Track Android data usage with Onavo Count – How To – CNET
Optimize data usage – Android OS Help
The Best Data Usage Tracker for Android
Google Voice for Android, now with Ice Cream Sandwich voicemail integration – Google Voice Blog
Google Voice gets an ICS update, brings visual voicemail to the missed call log — Engadget
Place calls with Google Voice – Google Mobile Help
Making International calls – Google Mobile Help

Preparing a Sprint Epic 4G Touch for Sale

Some people might be surprised to learn that performing a factory reset on a Sprint Android phone won’t clear out all of your personally identifying information. In fact, a factory reset will only erase your previously installed applications, user data, and configuration settings. It won’t clear the phone’s NVRAM nor will it remove your Sprint mobile number or user name which usually contains your full name, e.g., You probably don’t want that kind of personal information left on your phone if you plan to sell it on eBay or Craigslist.

To clear your phone’s NVRAM, you’ll need to locate your Master Subsidy Lock (MSL) code. You may be able to get your MSL by calling Sprint or you can try to locate it on your own. Assuming that you haven’t already performed a factory reset, the easiest way to find your MSL code would be to use one of the MSL lookup apps available on Google Play such as Get My MSL. Alternatively, you could install one of the free terminal emulators such as Terminal IDE and use the following command:

getprop ril.MSL

Note that the above command is case-sensitive. Some custom keyboards may auto-capitalize the “r” in ril.MSL preventing the command from working properly.

Your next best option, assuming you’ve already factory reset your phone, would be to install the Android SDK on your computer and use the Android Debug Bridge (ADB) to look up your phone’s MSL over a USB connection. This procedure is somewhat more time consuming but doesn’t require reconfiguring your phone. To install the Android SDK and adb tool on your computer, please do the following:

  1. Download and install the latest Android SDK from
  2. Run the Android SDK Manager. The first time you run the SDK manager, you will be list of packages to install. If all you need is adb, select the “Android SDK Plaform-tools” and “Google USB Driver” and de-select all of the other options. Note that you’ll need to scroll down to confirm that the Google USB Driver is selected. Most likely both options will be selected by default.
  3. Android SDK Platform-tools

    Google USB Driver

  4. Click the button “Install 2 packages…”
  5. Next, you’ll be prompted to accept the license agreements for each of the selected packages. Either click “Accept” under each one or click the “Accept All” radio button.
  6. Choose Packages to Install

  7. Click Install to download the packages and begin the installation.
  8. Click Close when done loading packages then close out of the Android SDK Manager.

Once installed, you should see a platform-tools folder inside your Android SDK folder, e.g., C:\Program Files (x86)\Android\android-sdk\platform-tools. To make it easier to run adb as well as the other SDK and platform tools, you can add the tools and platform-tools directories to your PATH.

With the Android SDK and platform tools installed, you’ll want to connect your Android phone via USB and verify that adb is working.

  1. On your Android phone, go to the home screen, press Menu, select Settings –> Developer options (ICS) or Settings –> Applications –> Development (Gingerbread), and enable USB debugging.
  2. Click OK or Yes when prompted whether to allow USB debugging.
  3. Now connect your phone to your PC using a USB cable. Windows should automatically launch the new hardware wizard and install the required USB device drivers.
  4. Android USB Driver

  5. Verify that adb is ready to be used with your device by opening a command prompt on your computer, typing adb devices, and pressing Enter. If properly configured, you should see the serial number of your Android device listed in the result.
  6. adb devices

  7. To get the MSL for your Android phone using adb, type the following command: adb shell getprop ril.MSL

Finally, to clear the NVRAM on the phone, perform a ##72786# reset from the Dialer and enter the MSL when prompted. After pressing OK, the following message should appear prompting you to confirm that you want to reset your phone to factory defaults:

SCRTN is change to factory default value for DSA.

Click Yes to clear the NVRAM. The phone should restart automatically.

Confirm that all personal identifying information has been cleared by going to the Home screen and pressing Menu –> Settings –> About Phone –> Status. Note that you will likely be prompted to perform a handsfree activation. This indirectly confirms that all user identifiable information has been wiped.

At this point, I recommend performing one final factory reset.

  1. Select Settings –> Privacy –> Factory data reset
  2. Select the option to “Format USB storage” then click the Reset phone button.
  3. Click “Delete all” to confirm.

Your phone is now ready for sale. 🙂

What Is ADB And How To Install It With Android SDK