Fix GPS on iPhone 6s

Mobile Devices No Comments

Two months ago, Google Maps stopped telling me directions when navigating on my Apple iPhone 6s. I could still navigate without the voice prompts though. Two week ago, my current location would only update once per minute. I couldn’t navigate at all. Sometimes, after 5-10 minutes, the GPS location updates would start working correctly again. In any case, my GPS was broken. (Apple Maps exhibited the same GPS problem.)

Note: The intermittent GPS updates reminded me of the refurbished iPhone 5s I got from T-Mobile. It would abruptly lose power in very cold weather. Later I found out that the phone was missing parts inside, specifically, the metal shield over the battery connector; so during cold weather, some parts must have contracted and shorted the battery out. Maybe my GPS problem was similar. Alas, no parts were missing from the iPhone 6s.

I thought it was a software bug because I had updated to iOS 11.2 near the time the GPS started misbehaving. Updating to iOS 11.3 did not fix the GPS problem. I reset the location configuration (under Settings, General, Reset, Reset Location & Privacy), did a “Reset All Settings”, and performed a full system restore (using iTunes), but none of those actions fixed the GPS.

After researching, I could only conclude that the GPS issue was a hardware problem. Most likely, the GPS antenna needed to be replaced.

Tip: If you no longer hear the Google Maps (or Apple Maps) navigational voice prompts, then the iPhone probably was not able successfully to acquire the GPS satellites. However, Google Maps will still roughly (and inaccurately) update your position using the cellular, Wi-Fi, and Bluetooth networks.

While there were numerous instructions on replacing the iPhone 6 GPS antenna, I could only find one Youtube video (from the Netherlands) that had instructions on replacing the iPhone 6s GPS antenna.

The reason is that while the iPhone 6 had a separate GPS antenna, the iPhone 6s uses an integrated cellular, Wi-Fi, and GPS antenna. Unfortunately, different sources refer to the antenna by different names. iFixit calls it the cellular antenna. Some Youtube videos call it the Wi-Fi antenna. Many eBay sellers call it the antenna “retaining bracket” which doesn’t sound like an antenna at all.

Note: To add to the confusion, there is a second Wi-Fi antenna which iFixit calls the “Wi-Fi diversity antenna”. I suppose it is necessary to increase the Wi-Fi reception range.

I ended up purchasing a used, original iPhone 6s antenna by mistake. I was looking for an authentic iPhone 6s antenna (instead of the cheaper “OEM” clones), found one for a reasonable price (almost twice as expensive as the OEM), thought it was new, and purchased it. I installed the antenna by following instructions from the Youtube video above and iFixit’s iPhone 6s Cellular Antenna Replacement page.

Once the antenna was replaced and after testing, I found that the GPS was still not working correctly. While I didn’t see the intermittent GPS location update issue, it would still take several minutes before Google Maps would start updating the location correctly.

Note: Once the GPS was working, I did noticed that in Google Maps (and Apple Maps), the shadow on the location dot pointed in the wrong direction. It was 80 degrees off from my car’s direction of travel. Strangely, the directional shadow was correct when Google Maps was giving walking directions.

Some forums recommended installing an iOS app called GPS Diagnostic: Satellite Test (available for $2.99). The app provided more information on the GPS function and indicated that it was taking several minutes before the phone could acquire the GPS satellites.

Tip: Test the GPS outside with an unobstructed sky. The phone will have problems acquiring the GPS Satellites inside a house.

In conclusion, I purchased a brand new iPhone 6s OEM antenna, installed it, walked outside, opened up the GPS Diagnostics app, and within a few seconds, the phone successfully acquired the GPS satellites. I’ve tested the GPS navigation a couple of times since then and Google Maps worked immediately as expected. The directional shadow was still wrong, but hopefully it will fix itself over time.

Update: Sporadically, the GPS would not be able to acquire the satellite when I first turn it on. I found out that it was because I hadn’t tightened the screws on the GPS antenna enough. Unlike the screws on the other parts (like the metal shields which you don’t need to tighten too much), the screws on the antenna need to be tight to ensure a solid metal connection.

I noticed another benefit. Wi-Fi reception is poor in a corner of my house. With the old antenna, the iPhone wouldn’t switch to the LTE network, but would just keep trying and failing to use the Wi-Fi. With the new OEM antenna, the iPhone switches quickly to the LTE network (and back).

I hope the above will help you to fix your iPhone 6s’ GPS woes.

No Comments

iPhone Missing From Windows 10 File Explorer

Mobile Devices, Windows No Comments

Under Windows 7, whenever I connected my iPhone, I would see a device drive appear in the File Explorer, which allowed me to manually copy photos from the iPhone to my computer. Under Windows 10, the device drive no longer appeared. I found the solution to this problem at iPhone doesn’t show up in Windows 10 File Explorer [Solved].

On my system, the cause is Windows 10 neglecting to install the “MTP USB Device” driver. MTP stands for Media Transfer Protocol, which Microsoft uses to allow access to files (like photos and videos) on iOS and Android devices. Under my Windows 10 machine, when I connect my iPhone, Windows 10 only installs the “Apple Mobile Device USB Driver” which iTunes uses. It does not install the “MTP USB Device” driver which File Explorer requires.

The solution is to manually install the “MTP USB Device” driver. This fix also worked for my iPad and iPod Touch.

Note: You may also have this problem under Windows 7 or 8. Or with an Android device. The steps below should still work.

Install MTP USB Device

To manually install the “MTP USB Device” driver:

  1. Connect the iPhone, iPad, or iPod to the Windows computer. Trust the computer if prompted to (only need to do this once when you first connect a new device).
  2. On the computer, run the “Device Manager” application.
  3. Open the “Universal Serial Bus controllers” section.
  4. Right-click on the “Apple Mobile Device USB Driver” and select “Update driver”. A dialog window will appear.
  5. Select “Browse my computer for driver software” and then “Let me pick from a list of available drivers on my computer”.
  6. Select the “MTP USB Device” driver in the “Show compatible hardware” listbox. Click Next.
  7. Once done, you will get a “Windows has successfully updated your drivers” message. Click Close to quit the dialog window.
  8. In the “Device Manager”, if you open “Portable Devices”, you will now see a new “MTP USB Device” driver listed. However, the device still doesn’t appear in the File Explorer and worse, the “Apple Mobile Device USB Driver” is gone (iTunes won’t show the attached device icon any longer).
  9. Disconnect and reconnect the iOS device. Windows will now load both the “Apple Mobile Device USB Driver” and “MTP USB Device” driver.
  10. The iOS device should now appear in the File Explorer under “This PC” and “Devices and drives”.

Note: If you check “Portable Devices” under the “Device Manager” again, you will now see the “Apple iPhone”, “Apple iPad”, or “Apple iPod” driver listed. The “MTP USB Driver” is renamed to the specific device type.

You should only need to manually install the “MTP USB Device” driver once for each new iOS device. Windows 10 should automatically load the “MTP USB Device” driver on subsequent connections.

Re-install MTP USB Device

I have seen a behavior when on a subsequent connection, Windows 10 did not successfully load the “MTP USB Device” for my iPhone. When I checked “Portable Devices” in the “Device Manager”, I saw the “Apple iPhone” driver with a caution icon, meaning it was in error state.

To fix the issue, I just right-clicked on the “Apple iPhone” and selected the “Update driver” option. And then I followed the instructions above from step 5 onward.

Hopefully your Windows 10 system does not have this problem. If it does, I hope the steps above will resolve your issue.

No Comments

Factory Image Flash a Nexus 5 Android Phone

Mobile Devices No Comments

I needed to re-image a Google Nexus 5 Android GSM smartphone with its stock factory image. Because I haven’t done this in a long while, I thought I would document what I did.

The instructions below should also work for the Google Pixel phone. I did the re-image using my Windows 10 desktop, but you can also do it on a Mac.

Note: Please backup your data because a factory image flash will destroy everything!

Install ADB and Fastboot

We need to install the software tools necessary to flash an Android phone. These are the Android Debug Bridge (adb), used to communicate with an Android device, and fastboot, used for writing directly to a device’s flash memory.

Thankfully, Google has separated these tools from the Android SDK into a smaller “SDK Platform Tools” package.

  1. Download the SDK Platform Tools package; I downloaded “”.
  2. Unzip to a directory, say “C:\Program Files\platform-tools”.
  3. Add that directory to the %PATH% environment variable.
  4. Launch a Command Prompt window and run “adb version”. I got “Android Debug Bridge version 1.0.39” as the response.

Enable USB Debugging

Enable USB debugging so adb can talk to the phone:

  1. On the phone, go to Settings, “About phone”, and scroll to the bottom until you see “Build number”.
  2. Click on the “Build number” seven times. You’ll see popups telling you how many times more to press to enable “Developer options”. (Ex: “You are now 3 steps away from being a developer.”)
  3. Once done (you’ll see a “You are now a developer!” popup message), go back to Settings and you will see a new menu “Developer options”. Click to go into it.
  4. Near the top, you will see an option “USB debugging”. Enable it.
  5. Plug the phone into the computer and answer “OK” when prompted with “Allow USB debugging?”. (Windows 10 was able to automatically find and install the Nexus 5 driver. If your operating system fails to do so, you may need to find and install the driver for your phone manually.)
  6. Open a Command Prompt window and run “adb devices”. It should list one device.

Note: You can see the status of and control how the USB connection behaves. On the connected phone, drag from the top, and you will see a message relating to the USB connection. If USB debugging is enabled, you will see the “USB debugging connected, Touch to disable USB debugging” message. If you disable USB, you will see a new “USB for charging, Touch for more options” message. You can change USB options to “File transfers” if you wish to browse files (such as pictures) located on the phone.

Find Factory Image

The hardest part of this process was finding the correct factory image to download for the Nexus 5. There were so many listed without any helpful instructions as to which image to download.

Here’s what I did:

  1. Locate Google’s Factory Images for Nexus and Pixel Devices page.
  2. Find the factory images for the “Nexus 5”, which is code-named “hammerhead”. (The “Nexus 5X” has code-name “bullhead”.)
  3. Locate the last image, which is the latest and greatest version, “6.0.1 (M4B30Z, Dec 2016)”. (“M4B30Z” and similar are build labels, not model numbers, as I originally thought. So any of them should work with the Nexus 5, though an older Nexus 5 image would prompt you to update the latest.)
  4. Unzip the downloaded “” file to any location; I just left the unzipped “hammerhead-m4b30z” folder in the Downloads folder.

Flash Factory Image

This is the easiest step because Google has provided a script with the factory image that does all the work.

  1. Open a Command Prompt window and change directory to the unzipped factory image folder.
  2. Run the “flash-all.bat” script. It only took 125 seconds to complete, ending with the message “finished. total time: 125.757s”.

The Nexus 5 then rebooted.

Note: It is recommended to do a data reset after a factory image flash. To do so, go to Settings on the phone, “Backup & reset”, and “Factory data reset”.

Need To Know

For your reading pleasure, below is the output of the “flash-all.bat” script:

C:\Users\username\Downloads\hammerhead-m4b30z> flash-all.bat
target reported max download size of 1073741824 bytes
sending 'bootloader' (3124 KB)...
OKAY [  0.316s]
writing 'bootloader'...
OKAY [  0.543s]
finished. total time: 0.863s
rebooting into bootloader...
OKAY [  0.100s]
finished. total time: 0.101s
target reported max download size of 1073741824 bytes
sending 'radio' (45489 KB)...
OKAY [  1.748s]
writing 'radio'...
OKAY [  3.130s]
finished. total time: 4.881s
rebooting into bootloader...
OKAY [  0.100s]
finished. total time: 0.102s
extracting android-info.txt (0 MB) to RAM...
extracting boot.img (8 MB) to disk... took 0.033s
target reported max download size of 1073741824 bytes
archive does not contain 'boot.sig'
archive does not contain 'dtbo.img'
archive does not contain 'dt.img'
extracting recovery.img (9 MB) to disk... took 0.061s
archive does not contain 'recovery.sig'
extracting system.img (996 MB) to disk... took 6.279s
archive does not contain 'system.sig'
archive does not contain 'vbmeta.img'
archive does not contain 'vendor.img'
wiping userdata...
mke2fs 1.43.3 (04-Sep-2016)
Creating filesystem with 7137786 4k blocks and 1785856 inodes
Filesystem UUID: b6135b46-f5a1-11e7-9dd3-33ea8476e3c7
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

wiping cache...
mke2fs 1.43.3 (04-Sep-2016)
Creating filesystem with 179200 4k blocks and 44832 inodes
Filesystem UUID: b66edade-f5a1-11e7-be2f-2fbe1c3d8ae8
Superblock backups stored on blocks:
        32768, 98304, 163840

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

Bootloader Version...: HHZ20h
Baseband Version.....: M8974A-
Serial Number........: 04a0b345437de8e6
checking product...
OKAY [  0.100s]
checking version-bootloader...
OKAY [  0.098s]
checking version-baseband...
OKAY [  0.099s]
sending 'boot' (9156 KB)...
OKAY [  0.529s]
writing 'boot'...
OKAY [  0.780s]
sending 'recovery' (10014 KB)...
OKAY [  0.587s]
writing 'recovery'...
OKAY [  0.828s]
erasing 'system'...
OKAY [  0.988s]
sending 'system' (1020657 KB)...
OKAY [ 35.063s]
writing 'system'...
OKAY [ 69.580s]
erasing 'userdata'...
OKAY [ 14.754s]
sending 'userdata' (4416 KB)...
OKAY [  0.369s]
writing 'userdata'...
OKAY [  0.497s]
erasing 'cache'...
OKAY [  0.580s]
sending 'cache' (428 KB)...
OKAY [  0.229s]
writing 'cache'...
OKAY [  0.217s]

finished. total time: 125.757s
Press any key to exit...

For more details, I found this page, How to flash a factory image | Return to stock | Unroot your Nexus 5, very helpful.

No Comments

Unroot and Upgrade Nexus 5 to Latest Android Version

Mobile Devices No Comments

I purchased a used Nexus 5 recently. When I used the built-in Settings app to upgrade it to the latest Android version, it got stuck at the bootloader screen on reboot. The previous owner had rooted the Nexus with a custom bootloader which broke the stock upgrade process. Because I am planning to develop apps on the Nexus 5, I needed a stock device. Below are the steps I took to unroot the Nexus 5 and upgrade it to the latest stock Android 5.0 Lollipop version using my Macbook.

Note: Actually, there are no special steps to unroot the Nexus 5. Re-imaging the phone with the latest stock Android version will automatically do the unroot (by overwriting the custom bootloader and/or android OS with the stock version).

Install Android SDK Tools

To prepare, I downloaded the stand-alone Android SDK Tools . The latest version for Mac OS X was “”. (Alternatively, you could install the Android Studio, which includes the SDK Tools and a graphical IDE equivalent to Eclipse.)

I extracted the Android SDK Tools to my “~/Development/android-sdk-macosx” directory (you can choose your own path) and added it to the execution path by inserting the following into my “~/.profile” file:

export ANDROID_SDK=$HOME/Development/android-sdk-macosx
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

Note: The ANDROID_SDK variable is my own shortcut and is not used by the Android SDK Tools in any way.

nexus5_bootloaderUnlock the Nexus 5

Before we can do the re-image, we need to put the Nexus 5 phone into Bootloader Mode (aka Fastboot Mode) and unlock it.

To put the phone into Bootloader Mode, do the following:

  1. Power off the phone.
  2. Power on by holding the volume up, volume down, and power buttons simultaneously.
  3. When the phone vibrates, let go of the power button while continuing to hold the volume up and down buttons.
  4. The phone will then display the bootloader screen.

On the bootloader screen, look for the “LOCK STATE” status at the bottom. My Nexus 5 was already unlocked so the display showed “LOCK STATE – unlocked”. If you see a “locked” state instead, connect the phone by USB cable, launch the Terminal and run these Android SDK Tools commands (ignore the comments marked by the pound # symbol below):

# Optionally show all connected devices in Bootloader Mode
fastboot devices

# Unlock bootloader
fastboot oem unlock

Note: When you unlock the bootloader, all data on the phone will be wiped as a security precaution. Also, there is no harm if you run the unlock command on a phone that is already unlocked; you will just get a “FAILED (remote: Already Unlocked)” error.

Re-image the Nexus 5

Download the latest Android 5.0 Lollipop image file for the Nexus 5 from Google’s Factory Images for Nexus Devices. Look for the section named “hammerhead for Nexus 5 (GSM/LTE)”. The latest version when I checked was “5.1.1 (LMY48B)” with a downloaded filename “hammerhead-lmy48b-factory-596bb9c1.tgz” (579 MB in size).

Extract the contents to a directory like “~/Downloads/hammerhead-lmy48b”.

Note: Before doing the steps below, make sure that Nexus 5 phone is connected by USB cable and showing the Bootloader Mode.

The extracted “hammerhead-lmy48b” directory has a script named “” which you can run to do the factory re-image. It will run several commands with hard-coded 5 second pauses in between. To execute it, launch Terminal and run the following commands:

cd ~/Downloads/hammerhead-lmy48b
sh ./

Instead of using the “” script, I recommend running its commands manually just in case the phone takes longer than 5 seconds to complete each command. Also, if an error occurs, it would be easier to tell which command had failed. Do to so, run the commands in the “” script one-by-one, ignoring the “sleep 5” lines.

cd ~/Downloads/hammerhead-lmy48b
# Reimage the bootloader
fastboot flash bootloader bootloader-hammerhead-hhz12h.img
fastboot reboot-bootloader
# Reimage the radio firmware
fastboot flash radio radio-hammerhead-m8974a-
fastboot reboot-bootloader
# Reimage OS with Android 5.0 Lollipop
fastboot -w update

The re-image process took about 5 minutes for me. The initial boot up (the screen showed flying colored dots) took another 8 minutes. Be patient because some folks reported that the initial boot up could take up to 30 minutes.

Once the phone has booted up, I recommend doing a data wipe to ensure that everything is consistent. To do the data wipe, go to Settings, under Personal section, Backup & reset, under Personal data, Factory data reset. Reboot the phone.

Lock the Nexus 5

To avoid any security risks, I recommend locking the bootloader. To do so, put the phone into Bootloader Mode and run the following command in the Terminal:

fastboot oem lock

Once done, exit the Bootloader Mode by clicking on the Start button to boot the Android OS.

If you run into issues, some troubleshooting tips are located at How to Unroot Nexus 5! – Complete Stock.

No Comments

Sync Google Contacts on iPhone

Mobile Devices 2 Comments

046WinonaRyderCartoonRecently, my niece’s iPhone 4S died. We got her a replacement phone, but all the data on her old phone was gone. Unfortunately, even though she had a Gmail account configured, her iPhone did not sync its addresses to Google Contacts. I checked my own Google Contacts account and found that it contained almost none of the addresses on my iPhone. Even though I had enabled contacts sync for my Gmail account, the iPhone addresses were not getting synced to Google. So I did some research, found the issue, and have summarized my findings and solution below.

Four Contact Types

For my purpose, there are four contact types that exist on the iPhone:

  1. SIM contacts are located on your legacy SIM card (which you will need to import into your iPhone to make visible).
  2. Local contacts exist only on your iPhone (not synced from Google).
  3. Google contacts synced from Google to the iPhone.
  4. iCloud contacts synced from iCloud to the iPhone. When you enable iCloud contacts sync, it will merge or delete any local contacts so the two types cannot co-exist. iCloud will also merge or delete any Google contacts on the iPhone.

Note: There are other contact types, like Yahoo contacts, but I don’t use them.

When you view your Contacts app, all the addresses (except non-imported SIM contacts) will show in one listing. The iPhone does remember which contacts are of which type, and there is a way to filter what you see. If you have more than one type of contacts, the Contacts app will show a Groups link on the top left. Click on it and you will see two or more these options to select which types to make visible (by checkmark):

  • “All on My iPhone” (Local contacts; you won’t see this option if iCloud contacts sync is enabled.)
  • “All your_Gmail_address” (Google Contacts)
  • “All iCloud” (iCloud Contacts)

Set Google Contacts as the Default

On my iPhone, I had many local contacts and a few Google contacts. Even after configuring Google contacts sync, newly-created addresses were saved as local contacts and not synced to Google. The problem was a second, separate setting called “Default Account” which controlled the default type for newly-created contacts; on my iPhone, that setting forced all new addresses to be created as local contacts. I believe that the default type was set to local contacts because I had created some local addresses before configuring Google contacts sync and Google contacts sync did not set “Default Account” to itself. To fix this, I had to manually change “Default Account” to be Google contacts.

Note: If you configure Google contacts sync and there are no pre-existing local contacts on your iPhone (and iCloud contact sync is not enabled), then the default type for newly-created addresses will be set to Google contacts automatically.

To configure a Google account, go to “Settings->Mail, Contacts, Calendars” on your iPhone. Under Accounts at the top, click “Add Accounts” and input your Google account access information. Or if you have already created the Google account, it will be listed and you can just click on it to see its settings. In the Google account settings , make sure that “Contacts” sync is turned on (in addition to other services like “Mail” or “Calendar”). You will be prompted to “Keep on My iPhone” your current contacts (local or iCloud), which I recommend you agree to; otherwise, those pre-existing addresses will be deleted.

Note: Only addresses in your Google “My Contacts” group will be synced to the iPhone. So if you want a particular Google contact available on the iPhone, just move that contact into the “My Contacts” group.

Then make sure to set the iPhone to save new addresses to Google Contacts by going back to “Settings->Mail, Contacts, Calendars” and locating the “Default Account” setting. Change it to “your_Gmail_address” (Google contact), instead of “On My iPhone” (local contact) or “iCloud” (iCloud contact). The “Default Account” setting is also used to identify the default sender email address when you compose a new email.

Note: You will only see the “Default Account” setting if you have more than one contact type existing on your iPhone. If you have two contact types but still do not see the “Default Account” setting, manually close the Settings app (click on Home button twice and drag the Settings app up and out) and then re-open it to refresh the display.

Be aware that when creating a new address in the Contacts app, if the Contacts app is configured to not show Google contacts, then the newly-created address may be stored locally (or to iCloud) instead of to Google; even if the “Default Account” setting is configured to use your Google account.

Transfer Local Contacts to Google

Google contacts sync did not provide an option to merge local contacts. I had to figure out a workaround. The method I decided to use was to merge my local contacts into iCloud and then to export the contacts from iCloud for import into Google. (Alternatively, I could use iTunes sync, but it looked a lot cleaner to use iCloud.)

Developed by Apple, iCloud contacts sync is very comprehensive. When you enable iCloud contacts sync, it will offer the option to merge with any contacts on the iPhone (including local and Google contact types); if you decline to merge, it will delete all the pre-existing addresses. Once merged, whatever you see in the Contacts app (with all types visible) is what you will see in iCloud. Unlike Google contacts sync which only affects Google contacts, iCloud takes ownership of all the contacts on the iPhone. In addition, iCloud contact sync will set itself as the “Default Account” automatically.

First, configure the iCloud account by going to “Settings->iCloud” to add or view an existing iCloud account. (Alternatively, you can go to “Settings->Mail, Contacts, Calendars” and “Add [an] Account” of type “iCloud”. In the iCloud settings, turn on “Contacts” sync and agree to the merge prompt (to not delete all the pre-existing addresses).

Once iCloud contacts sync was enabled and the local contacts were merged (almost instantaneously because I only had 75 addresses), these are the steps which I took to transfer the addresses to Google:

  1. icloud_export_contactsBrowse to the iCloud website, log in, and click on Contacts. (Note: You must use a browser other than Chrome, like Internet Explorer or Firefox, because the iCloud contacts export function is currently broken under Chrome.)
    1. Verify that all addresses from the iPhone are present.
    2. Click on the grey gear icon on the bottom-left.
    3. Click on “Select All” and then “Export vCard” to download a .vcf file containing all the addresses.
  2. At this time, I recommend disabling the iCloud contact sync on the iPhone so that it won’t interfere with the Google contact sync. Disabling iCloud contacts sync will prompt you to delete or leave the addresses on the phone. If you want to start with a clean slate, I recommend deleting all the addresses. Once we are done, the iPhone will re-populate them from Google Contacts.
  3. Browse to Google Contacts and log in.
    1. Unfortunately, Google will default you to their new contacts UI preview which strangely does not make the “My Contacts” group visible or accessible. To see the “My Contacts” group, click on the “More” link at the bottom-left and then select “Leave the Contacts preview” to get back to the old UI. You should now see “My Contacts” listed as the top group.
    2. Click on “Import Contacts…” on the bottom-left.
    3. Browse to the downloaded .vcf file that was exported from iCloud.
    4. Click on the “Import” button.
    5. You will see a new “Imported ” group under the “My Contacts” group. It should contain all the addresses exported from iCloud.
    6. Optionally, you can delete the Imported group by selecting it, clicking on the “More” link at the top, and picking “Delete Group”. Don’t worry, the imported contacts won’t be deleted because they are also kept under the parent “My Contacts” group.

I ended up with a lot of duplicate contacts because my Google account had email addresses while my iPhone had telephone numbers. Thankfully, Google provided a mechanism to merge duplicate contacts. I recommend using the more sophisticated merge contacts function under the new UI preview, instead of under the old UI (under the old UI, click on the Imported folder under “My Contacts” and you will see a banner asking if you wish to “Find & merge duplicates”).

On the old Google Contacts UI:

  1. Click on “Try Contacts preview” on the bottom-left menu to return to the new UI preview.
  2. Click on “Find duplicates”.
  3. The duplicate contacts are nicely grouped together (2 or more by name) with their own “Merge” buttons. Click on the “Merge” button to merge the associated set of duplicate contacts.

Contacts Not Syncing From Google

I then checked my iPhone and did not see the newly imported Google contacts. There is an iPhone setting which controls how the iPhone syncs with Google. The default configuration on my iPhone is to manually sync Google contacts; meaning that when I start or use the Contacts app, my Google contacts will be synced. Unfortunately, even when starting and using the Contacts app, my Google addresses weren’t downloaded.

iphone_fetch_scheduleTo see the Google sync setting, go to “Settings -> Mail, Contacts, Calendars”, click on “Fetch New Data”, and locate “your_Gmail_address”. Gmail doesn’t support “Push” (where Google would send newly-created contacts to the iPhone), so it is set to “Fetch” (the iPhone queries Google for new contacts) by default. The fetch schedule is located at the bottom and on my iPhone, it was set to “Manually”. The manual fetch meant that I had to start or use the Contacts app for the addresses to sync with Google. I could change the fetch schedule to sync with Google periodically (by minutes or hour), but decided that manual was fine (I want to reduce battery usage).

To force the iPhone to sync immediately with Google Contacts, I disabled and then re-enabled the Google contacts sync (see the Google account under “Settings -> Mail, Contacts, Calendars”). When disabling the Google contacts sync, it will force you to delete all Google contacts from the iPhone; this is okay because when we re-enable, it will re-download all the Google addresses. After that, I was able to see all the Google addresses in the Contacts app. (Make sure to double-check that the “Default Account” is still set to Google.)

Import SIM Contacts

If you have an old SIM card that contains addresses (the SIM storage was used by the older, non-smart phones) and wish to import it into your iPhone, put the SIM card into the iPhone, go to “Settings ->Mail, Contacts, Calendars”, click on “Import SIM Contacts”, and select your Google account (instead of “On My iPhone” or “iCloud”).

Simultaneous Google and iCloud Contacts Sync

It occurred to me that I could have both Google and iCloud contacts sync enabled at the same time. However, I’m not sure about some of the behavior. Every address on the iPhone will replicate from iCloud, while only Google-type addresses will replicate from the Google account. Will downloaded Google addresses that don’t exist in iCloud be replicated then to iCloud? Will downloaded iCloud addresses that don’t exist in Google be replicated to Google? Does this behavior depend upon which contact type “Default Account” is set to? I don’t know. It is probably best to use one or the other, not both.

Because I am leery about unnecessarily exposing my personal information on the Internet, I manually removed all the contacts from iCloud after I was confident that I had imported them into Google Contacts successfully.


Buying a Used iPhone in One Word: Painful

Mobile Devices 3 Comments

I purchased a T-Mobile iPhone 5s for a great price on Craigslist. The seller seemed like a nice young man. The phone worked without any issues. Coming from a Blackberry Pearl, the iPhone was a wonderful treat. Three months later, I couldn’t make or receive phone calls or text messages. The T-Mobile service representative explained that T-Mobile had blacklisted the phone’s IMEI number (phone’s unique identifier) because the phone was financed and the original owner had stopped paying. I tried calling the seller, no pickup. I called the seller from a different phone number, he picked up, said he would investigate and get back to me; he never did. I asked T-Mobile how much was due and whether I could pay it myself; T-Mobile said it was against their policy to reveal any info or allow such an action. Evidently, only the original owner could remove the blacklisting. So I ended up with a very expensive iPod Touch.

051HannibalI learned that a used phone’s IMEI number is attached to the account used to activate it, and the original account owner retains some control over whether the phone is useful or not. Thankfully, there are online tools to check the IMEI status. Inputting the phone’s IMEI number into T-Mobile’s IMEI Status Check page returned “Your device is blocked and will not work on T-Mobile’s network”. If I had checked the IMEI status before buying, I might have seen that the iPhone was being financed (it would say “financed” and/or “balance due”) and I would not have purchased it (I would not want to depend on the seller to continue making monthly payments). Lesson learned: check the phone’s IMEI number before buying.

At about the same time, my sister bought a used T-Mobile iPhone 5. Her T-Mobile micro SIM card did not fit (the iPhone 5 requires a nano SIM card) so she was not able to test it. The seller insisted that the iPhone 5 worked with T-Mobile. She purchased it and took it to a T-Mobile store to get a nano SIM card. The T-Mobile store representative told her that it was a Sprint phone and would not work with T-Mobile.

I offered to resell the Sprint iPhone in an attempt to recoup some of her lost money. Before posting it on Craigslist, I inputted the phone’s ESN (Sprint’s alternative name for IMEI) number into Swappa’s Check Your ESN page (the Sprint website did not have an ESN check status tool) and it responded that the phone was reported lost or stolen. I called Sprint to see if I could return the phone. The Sprint service representative said that Sprint did not have any process in place to return lost or stolen phones, that she could not provide me with information about the original owner (so I could mail it myself), and that the phone was mine to do with as I wished. Looks like my sister also ended up with a very expensive iPod. Lesson learned: make sure the phone can connect to the carrier before handling over the cash.

Update: There is a way to check the ESN status on the Sprint website if you have an account. Log into your Sprint account, go to the “I want to” menu, select “activate a new phone”, and input the ESN of the new phone. After you click Next, the Sprint website will give you a confirmation page (the ESN is good) or an error message (the ESN is bad).

locked_iphone4sLater, I purchased a used T-Mobile iPhone 4s for my niece. I checked that the IMEI was good (the Craigslist seller texted me the IMEI when I requested it and the T-Mobile website said it was useable; no mention of “financed” or “balance due”). Having read up on the subject, I made sure that the security passcode was not set on the phone. And I made sure to delete the iCloud account to disable the Find My iPhone feature; erroneously, the iPhone allowed me to remove the iCloud account without requiring a password input. When I came home, I did a reset and the iPhone booted into the activation lock screen, asking for the iCloud password belonging to a mostly-blacked out iCloud email address. After several phone calls, I finally reached the original seller and he stated that his friend had set up the iCloud account years ago and that he had lost all contact with that friend. So there was no way to recover the iCloud password. He then insisted that the sale was final, even though I remembered asking him if it was okay to do a reset and he had said yes. I ended up with a very expensive brick. Lesson learned: do a reset before forking over the money.

Update: Apple now provides a Check Activation Lock Status page using the IMEI number, which eliminates the need to do a reset.

The above and more really happened to me. I’m not saying that all Craigslist iPhone sellers were dishonest, I’m saying that almost half of them were guilty of selling nonworking iPhones. I did buy several iPhones (one iPhone 5c and three iPhone 4s’) that continue to work fine. So my success rate was over 50 percent.

In this post, I will provide suggestions to help you to avoid purchasing a nonworking used iPhone. Because it is not possible to be 100 percent safe when buying a used phone, I will also offer suggestions on how to recoup some of your loss, should any occur.

Note: Though I talk about the iPhone specifically, most of the following tips are applicable to Android phones. And while my buying experience involves using craigslist, most of the suggestions may be applicable to other venues like eBay.

Quick Checklist

For your convenience, I’ve summarized the info in this post into a high-level checklist.

  1. Before meeting, ask for the model and IMEI (or ESN) number of the phone.
    1. Google the model; for example, to make sure you are getting an iPhone 5s, instead of an iPhone 5 which looks the same.
    2. Check the IMEI number using Swappa’s Check Your ESN page (or the specific carrier’s IMEI/ESN status check page if available). Look out for phones that are financed or blacklisted (lost/stolen).
    3. Check Apple’s Check Activation Lock Status page to make sure that the iPhone is not iCloud-locked.
  2. When meeting, double-check that the phone has the model and IMEI number given above.
  3. Check out the phone functions. For example, capture a short video and play it back to test camera, microphone, and speakers.
  4. Insert a working carrier-specific SIM card. Make a phone call and send/receive a text message. (Make sure you bring an appropriately-sized SIM card or SIM adapters.)
  5. Finally hand over the cash for the phone.
  6. If months later, your phone becomes blacklisted or nonworking, consider selling it to International buyers or for parts and repair.

Note: If you have no one to do a test call with, try this little-documented echo back line. Dial 909-390-0003, it will pick up at the first ring and then repeat back whatever you say.

Be An Informed Buyer

Because iPhones are very expensive and tend to become obsolete within a few years, it makes sense to buy a used iPhone to save significant amounts of money. Of course, the usual downsides to buying used apply, including not knowing how the phone has been treated (previous water damage, cracked screen replaced), undisclosed defects (Bluetooth doesn’t work), and the phone may have fallen off the back of a truck (aka lost or stolen).

In the past, a lost or stolen phone can still be useful because the U.S. carriers did not do a good job of tracking such phones or even sharing data with each other. For example, a nonworking AT&T phone with a blacklisted IMEI number can be unlocked for use with T-Mobile because on T-Mobile, the IMEI number wouldn’t be blacklisted. However, this all changed in 2013 when the carriers started sharing the same database of IMEI numbers (mandated by law). So a phone which is blacklisted by one carrier would be blacklisted by all other carriers. (Currently, international carriers do not share IMEI numbers with U.S. carriers.)

With the release of iOS 7.0, Apple introduced the Activation Lock feature which required inputting the iCloud password when resetting the iPhone if the Find My iPhone feature was enabled. This added another possibility to render your used iPhone useless when you did a reset and didn’t know the iCloud password. Once activation lock occurred, you wouldn’t be able to use the iPhone as an iPod or anything else.

To increase your chances of buying a working used iPhone, it pays to be informed about all the pitfalls and to take steps to mitigate the risks.

Before You Meet The Buyer

When looking at ads for iPhones, you will want to watch out for clues. For example, I see ads selling just the iPhones without the wall adapter or any other accessories; most likely, this indicates that the phone is found or stolen. Of course, don’t buy phones advertised with text that says “bad, blocked, or blacklisted IMEI (or ESN)”; you won’t be able to use that phone with any U.S. carrier. Good clues are text saying “clean IMEI or ESN” or if the seller is including the original box (this seller takes very good care of her stuff), wall adapter, and accessories (I would hesitate to re-use someone else’s earphones).

Ask the seller to provide the IMEI or ESN number. Check the IMEI or ESN status on the carrier’s website or Swappa (if the carrier doesn’t provide such a tool). Beware of statuses that include words like “financed under contract” or “balance due”. Status of “phone paid off”, “ready for use with network”, and “unknown” (new, unused iPhones or unlocked phones from another carrier have this status on T-Mobile) are good. Of course, avoid phones with status “blacklisted”, “blocked”, “lost”, or “stolen”.

Unfortunately, you cannot be 100 percent certain even with an IMEI status check. For example “ready for use with network” or “balance fully paid” could mean that the seller has just made the monthly payment, but the iPhone could still be financed. Even a “phone paid off” and “unknown” status is no guarantee. There is scam where the seller has phone insurance, sells the phone, and months later, declares that the phone is lost or stolen so he could receive a replacement phone. This is allowed because the phone is still associated with the original owner’s account. There is nothing that you can do as a buyer to guard against this scam. (Probably because of abuse, T-Mobile had to institute a one replacement per year limitation on their phone insurance plan.)

Note: I have read of people arranging to meet at the cell phone store to move the phone to the new account, but have never done it myself. I have also read that it didn’t work. Doing the transfer does sound like a good idea because it may prevent the original owner from declaring the phone lost or stolen later. Meeting at the store definitely provides the opportunity to ask the service representative if the phone is fully paid off or financed. If the seller refuses to meet at the store or goes silent, you will know that it is probably a lost or stolen phone.

Before You Hand Over The Cash

When you finally meet the seller, double-check that the given IMEI matches the IMEI displayed on the iPhone under Settings, General, and About. The IMEI is also printed on the back of the iPhone, but because an iPhone can be repaired with the back cover from another iPhone, the printed IMEI may not match. If the IMEI on the back is not identical to the IMEI in the iPhone Settings, you are probably looking at an iPhone which had significant repairs done.

Bring a SIM card to test the iPhone to be certain that it will work with your carrier. Research the phone model so you will know what size SIM card is required. You can cut your SIM card down to size or use a SIM adapter to make it larger. With the SIM card inserted, if you get an invalid or locked carrier error, then the phone won’t work with your carrier.

I’ve successfully cut SIM cards with a sharp pair of scissors and one time, I used a nail clipper. Unless you like to live dangerously, I recommend going to a cell phone store where they will usually cut it for free. If you don’t want to cut your existing SIM card or don’t have a SIM card (because you are switching carriers), you can buy a starter SIM card. With a starter or unregistered SIM card, the phone will still connect to the carrier, but you won’t be able to make calls. (The T-Mobile website sells a starter SIM card for $10; however, they usually have frequent sales where the SIM card is free or only costs one penny.)

The discerning buyer will check the iPhone’s model number (under Settings, General, About) to determine if the phone is originally made for the carrier and not an unlocked phone from another carrier. The reason to do so is because an unlocked phone may not have the same capabilities; for example, an unlocked AT&T iPhone 4s will not support T-Mobile LTE 4G speeds. (Again, the model number printed on the back of the iPhone may not match what is in the iPhone’s Settings if the back cover has been replaced with another iPhone’s back cover.)

As a minimum hardware check, I suggest launching the Camera app, switching from the back to the front camera, recording a video, and then playing the video back. This will test the cameras, microphone, and speakers. Also, check that the Wi-Fi works if you have access to a hotspot. (Due to a hardware bug, the Wi-Fi feature on some iPhone 4s phones were broken by iOS 7.) If you have an activated SIM card installed, make a phone call and send a text message.

Note: Make sure to ask permission from the seller before you do any modifications to the iPhone, especially before doing the reset below.

If the passcode is enabled, remove it by going into Settings, Passcode or “Touch ID & Passcode”, and selecting “Turn Passcode Off”. Technically, you could remove the passcode by doing a full restore using iTunes, but that is avoidable with this little bit of effort.

Most importantly, go into Settings, iCloud, and manually turn off the “Find My iPhone” feature. (Deleting the iCloud account is not guaranteed to disable the “Find My iPhone” function.) Check Apple’s Check Activation Lock Status page to make sure that the iPhone is not activation-locked. Alternatively, you can reset the iPhone to check the activation lock status. Make sure that you have a SIM card inserted and have access to a wireless network before resetting the phone; the iPhone requires a working SIM card and wireless network in order to fully activate. Upon restart after the reset, you will be prompted for the password if the phone is activation-locked. (I think you might be able to activate the iPhone with a SIM card that has the Internet data plan enabled, but I have not tried it.)

What to Do With a Blacklisted iPhone

The above suggestions offer you better odds of getting a working iPhone. Unfortunately, you cannot protect yourself against the seller reporting the phone as lost or stolen months later. If you end up with an iPhone which you cannot use with your carrier (or even use as an iPod), perhaps my experiences below might help you to recoup some of your loss.

I was able to get a working T-Mobile iPhone 5s by exchanging the blocked iPhone 5s with a non-blocked one for $100. I found an eBay seller, iphoneswaps, whose auction offered to exchange my blocked iPhone for an iPhone (of the same model, color, and carrier) with a clean IMEI. The requirements are that the iPhone be in good, original condition (no major dents or repairs) and that the IMEI is not lost or stolen; my iPhone 5s thankfully met those requirements. I took the gamble and got back what looked to be a refurbished iPhone 5s. I don’t know what made the swap possible; I was just grateful that I ended up with a working iPhone.

If the swap is not available or applicable, you can sell your blocked phone to an International buyer who might be able to unlock it for use with a foreign carrier. I was able to do this when the Android phone that I got my sister quit working after six months, because the original owner had stopped making payments (the Android was financed; this was before I learned about IMEI). I put the Android phone on eBay with a full disclosure about why it was blocked, and it was purchased by a buyer from Texas who told me that he planned to ship it down south for use in Mexico.

I found out later that there is a service, advertised on eBay, which could have swapped out the logic board on my sister’s Android phone for $50. This swap would have given my sister’s Android a new, clean IMEI number. Too late, my sister had already purchased a replacement phone directly from T-Mobile; she didn’t want to deal with the hassle of buying used again. I felt bad but was glad that I was able to recoup half of what she had lost by selling her blocked Android to a cowboy.

I resold the activation-locked iPhone 4s on Craigslist for parts or repair. I got a low offer and took it, resulting in a huge loss. (I had originally posted the iPhone on eBay but got a message saying that eBay no longer allowed the sale of activation-locked iPhones. Strangely, eBay still allows the sale of iPhones with blacklisted IMEI numbers.) After the sale, I realized that I could have purchased a replacement logic board with a clean IMEI for $20 and with some elbow grease, gotten a working iPhone 4s; assuming that I didn’t destroy the phone during the process.

While I applaud the government (which mandated the common IMEI database) and the carriers for working to prevent the sale of lost or stolen phones, I don’t think they have implemented the necessary processes and infrastructure to support that intention. For example, the carriers could identify abuse by the owner if his iPhone is suddenly used by another person and then several months later, he declares that it was lost or stolen. The government could require that phone status be lost or stolen, but not both (currently, the IMEI database does not seem to distinguish between the two); so that in the case of the phone being lost, more leniency in enforcement by the carriers can be used. And of course, the carriers should have processes in place to return lost or stolen phones to the original owners. Currently, as a result of the above, innocent used phone buyers are the only ones paying the price; the perpetrators continue to go unpunished and are actually rewarded.

I’m certain that the info in this post is not comprehensive, but I hope it is a good start in helping you to become a more informed buyer of used iPhones.


Transfer Music From One iPod To Another

Mobile Devices No Comments

I needed to move music from my sister’s old iPod Mini to her new iPod Nano. At first, I thought I needed to install special software to do the music transfer; however, it turns out that there is a method that doesn’t require extra software. I found it in the comments from this webpage, Get songs off your iPod. The steps are to copy the music directly from the old iPod, import the music into iTunes, and then copy/sync to the new iPod.

Before we start, non-IOS iPods (which excludes iPod Touch) are either formatted for Windows or for Mac. So depending upon the format, you will need to use the corresponding operating system to retrieve the music from the old iPod. In my case, the old iPod was formatted for Windows. (The instructions below should also apply for Mac.)

Copy Music From the Old iPod


  1. Connect the old iPod to the computer using the USB sync cable.
  2. Launch a File Explorer window and look for a new drive with a label like “Bob’s iPod”. That is the iPod’s hard drive.
  3. If you don’t see a drive for the iPod, then you will need to set the “Enable disk use” under iTunes.
    • Open iTunes and you should see the iPod listed under DEVICES. Select the iPod.
    • If you see a “Welcome to Your New iPod” message, click on the Continue button, and then the Get Started button.
    • Under the Summary tab, make sure that “Enable disk use” is selected. On my computer, the “Enable disk use” was selected by default and grayed out because “Manually manage music” is selected. (If you wish to unselect “Enable disk use”, you must unselect “Manually manage music” first. Disabling “Manually manage music” means that the iPod will be overwritten to match whatever is in the iTunes library automatically.)
  4. In File Explorer, open the iPod’s drive and you will see three folders: Calendars, Contacts, and Notes.
  5. There is a hidden folder named iPod_Control. To see it, go to your folder properties and enable the “Show hidden folders” property. Under Windows 7, you would click on the menu Organize, Folder and search options, View tab, and check the “Show hidden files, folders, and drives” option.
  6. Go into the iPod_Control folder and then into the Music subfolder. You will see many folders named like F00, F01, etc. Under those folders, you will find mp3 files with names like DGUZ.mp3, TBBO.mp3, etc. These are your mp3 music files. (Don’t be concern about the weird names because the song titles and artists are embedded in the mp3 files and iTunes will use that embedded info.)
  7. Copy the whole iPod_Control\Music folder to your hard drive.

Import Music into iTunes

Actually, you don’t need to import the copied music into iTunes. Instead, you could drag each of the copied mp3 files directly to the new iPod; however, you would need to go into each of the copied Music folder’s subfolders to select the mp3 files. To avoid that effort, I recommend using the first import method listed below, “Add Folder to Library”.

If you wish to rename the copied mp3 files to the actually song titles, you will want to configure iTunes to copy and organize imported music files. To do so, go to iTunes menu Edit->Preferences…, Advanced tab, and make sure both “Keep iTunes Media folder organized” and “Copy files to iTunes Media folder when adding to library” options are checked. After importing the mp3 files, you will find them under the “iTunes Media folder location” (usually your user’s “Music\iTunes\iTunes Media” folder), renamed according to song title.

The iTunes application supports three methods to import music into the iTunes library. They are listed below with the first requiring the least effort:

  1. (Warning: This behavior might not exist in iTunes versions earlier than 11. Earlier versions of iTunes may not process subfolders.) Use the iTunes menu “File->Add Folder to Library…” to select the copied Music folder. iTunes will then import all the mp3 files under all the subfolders in the Music folder.
  2. (I believe this feature was added to iTunes 9.) Copy or move all the copied mp3 files to your user’s “Music\iTunes\iTunes Media\Automatically Add to iTunes” folder. Within seconds, iTunes will detect the files and import them; the imported mp3 files will disappear from that folder.
  3. Drag and drop the copied mp3 files to the iTune’s LIBRARY on the left sidebar.

Unfortunately, in the last two import methods, you will need to go into each of the copied Music’s subfolders to select the mp3 files. So I recommend updating to the latest iTunes and using the “Add Folder to Library…” method.

Copy Music to the new iPod

  1. Connect the new iPod to the computer.
  2. Under iTunes, select the new iPod under DEVICES. If you see a “Welcome to Your New iPod” message, click on the Continue button, and then the Get Started button.
  3. Go to iTunes LIBRARY->Music and select the Songs tab.
  4. Select the music which you wish to copy and drag them to the iPod under DEVICES.

Alternatively, you could sync the music to the new iPod by selecting the iPod under iTunes DEVICES, going to the Music tab, checking the “Sync Music” option, and then performing a Sync.

If you are getting rid of your old iPod, you can wipe it by doing a restore. Under iTunes, select the old iPod under DEVICES, go to Summary tab, and click on the “Restore iPod…” button. Once the iPod is rebooting, you can disconnect it. If you don’t, the iPod will reboot, reconnect to iTunes, and you will see the “”Welcome to Your New iPod” screen. You can eject and disconnect the iPod at that point.

No Comments

Quick Guide for the Kindle 4 Wifi (with Special Offers)

Mobile Devices No Comments

I finally broke down (after years of defending “real” books) and recently got a Kindle 4 Wifi. It is very convenient (I can adjust the font size and carry a lot of books on trips) and I wondered why it took me so long to get one. To help you on your journey to getting one, below are some tips on using the Kindle for those who don’t want to slog through the whole manual.

KindleOnToiletTurn Your Kindle On

The power button for the Kindle is located on the bottom to the right of mini-USB charger port. Press it once to turn the Kindle on or off. A green light will come on for a brief period of time and then turn off to acknowledge the power button press. If you don’t turn the Kindle off, it will turn itself off (go to sleep) after a period of inactivity (several minutes).

Buttons and Buttons

The Kindle comes with four buttons and what I call a square thumb joystick at the bottom. The four buttons from left to right are Back (to go back to previous screen), Keyboard (to show/hide the virtual keyboard), Menu (to show the page-sensitive menu), and Home (to go to the main screen). The thumb joystick allows you to highlight things (like keys on the virtual keyboard) by going up, down, right, and left and can then be clicked on to make a selection.

I try to minimize my use of the virtual keyboard. Imagine inputting a 26 character wireless password using the thumb joystick and you can understand why.

Charge Your Kindle

The Kindle comes with a USB cable (it’s included in the box) which you can use to charge with. When you turn on the Kindle, if you look at the top right of the screen, you will see the battery status bar. Your Kindle shouldn’t need to be charged for a month or more with moderate reading (make sure you disable Wifi if you don’t need it).

Quick analogy on volts and amps: Think of electricity as water going through an opened half-pipe powering a water wheel. Volt is equivalent to the height of the water and amp is how fast the water flows. If you have a half-pipe of a certain size, the water level (volt) can only go so high before it overflows (bad for electronics). The speed of the water (amp) can vary within reason; it needs to go fast enough to move the water wheel but if it goes really, really fast, it could destroy the wheel, or back up and overflow the pipe (both bad for electronics). The point of this very rough analogy is that to power electronics, volts need to be a specific value while amps needs to be minimal value or greater. (FYI, Watts are just power ratings and is basically volts times amps; for example, 10 Watts = 5 Volts x 2 amps.)

The Kindle requires 5 volts and 0.5 amps or more to charge. This is what a computer’s USB port will usually output so you can just plug the Kindle’s USB cable into a computer’s USB port. (Note: Some older computers’ USB ports might not output this much power. You’ll know because electronics won’t charge.) Some newer computer’s USB port outputs 5 volts and 2 amps for power-hungry devices like Apple iPad; the Kindle will charge fine from these more powerful USB ports, pulling only as much amps as it needs.

The above means that you can charge the Kindle using the Kindle 4 wall charger (5 volts and 0.85 amp), iPad wall charger (5 volts and 2 amps), iphone/ipod touch wall charger (5 volts and 1 amp), Kindle Fire wall adapter (5 volts and 1.8 amps), and other USB wall chargers that meet the Kindle’s power requirements (5 volts and 0.5 amps or better).

When plugged in, the battery bar at the top of the Kindle screen will show a lightning bolt in the middle. When charging, an orange LED light will turn on at the bottom of the Kindle next to the power button. When the charge is 100% complete, the orange LED light will turn off and a green LED light will turn on. You can unplug at the point.

What are Special Offers?

I got the Kindle with special offers. Special offers is Amazon’s ad-supported platform. You see ads on the Kindle, Amazon gets revenue from advertisers, and thus, Amazon can sell you the Kindle at a discounted price ($30 off).

The ads are very unobtrusive. After a while, I stopped noticing them. The ads will only appear on the “screen saver” screen (when the Kindle is turned off or goes to sleep) and at the bottom of the book listing page (or home page). When reading a book, no ads are displayed; this is a good thing because most of the time, I am reading a book.

Disable Wifi to Save Battery Life

Wifi uses a lot of power so disable it when you don’t need it (not purchasing and/or downloading a book from Amazon). This is especially true if you have a Special Offers Kindle because it will wake periodically and use the Wifi to download new ads. (This explains why the battery may go down significantly even if you don’t use your Kindle for a while.)

When you first get your Kindle, if you hit the Menu button off the home screen, you will see the second option is either “Turn On Your Wireless” or “Turn Off Your Wireless”. Unfortunately, this option disappears once the Special Offers Kindle is updated and registered with your account. (I’ve also seen the option disappear on a non-Special Offers Kindle).

If you don’t see the above “Turn On/Off Your Wireless” menu option, you can use the Airplane Mode to disable Wifi. When you turn on Airplane Mode, the wireless is disabled; and vice versa. To toggle the Airplane mode, click on the Home button, click on the Menu button, select Settings, look for “Airplane Mode” at the top, and select the “turn on/off” option.

When Airplane Mode is on, the Wifi icon (five vertical bars of increasing height) will disappear from the top-right of the screen (to left of battery indicator) and you will see a new airplane icon (looks like a crooked plus sign) appear in its place.

Register Your Kindle

Register your Kindle with to buy books and to allow others to email books directly to your Kindle. To register the Kindle, turn Wifi on, go to home, menu, Settings, and click “register” to the right of the Registration setting. Use the virtual keyboard to input your username and password.

Getting Books on Your Kindle

There are several ways to get books onto your Kindle. Here are a few:

  • Buy a book from the Kindle store using your Kindle or from a browser.
  • Copy a book to the Kindle over the USB connection.
  • Email a book directly to the Kindle.

If you buy a book using a browser, the book will appear in the “Archived Items” folder on your Kindle (if wifi is enabled). If you select to open an “Archived Items” book on your Kindle, it will automatically be downloaded.

To copy a book to the Kindle over USB, do the following:

  1. Attach the Kindle to your computer using the USB cable. The Kindle screen will display a message titled “USB Drive Mode” with instructions that should you wish to read while the Kindle is plugged in, just eject the Kindle without disconnecting the USB cable.
  2. On the computer, you will see a new drive named “Kindle” appear. Under that drive is a directory called “documents”.
  3. If you copy books (with Kindle-compatible formats like AZW, Mobi, PRC or PDF) to the “documents” directory, they will show on the Kindle when you disconnect the USB cable (or eject the Kindle).

Note: On my Windows 7 64bit desktop, the eject did not work to allow me to read with the Kindle connected by USB cable. However, it did work on my Windows 7 64bit laptop.

If you want to allow a friend to email a book to your Kindle, log into your account using a browser and do the following:

  1. On your account settings page, select “Manage Your Kindle” in the left “Digital Content” section near the bottom.
  2. Select “Personal Document Settings” under the left “Your Kindle Account” section.
  3. Your Kindle will be listed with an email address ending in “”.
    • This is your Kindle’s email address. If you don’t like the email address, you can modify it using the Edit link to the right. (If you have more than one Kindle, you will get a unique email address generated per Kindle.)
  4. If you want Amazon to store a copy of all books emailed to your Kindle, enable the “Personal Document Archiving” option.
  5. You will need to add your friend’s email address to the “Approved Personal Document E-mail List”. Make sure to use the email address from which he will send the book to you.
  6. Once you do the above, your friend can email a book to the Kindle’s email address.
    • I suggest using the Mobi book format (.mobi file extension). This will reduce the transmission time because the system won’t have to convert and reformat the book.
    • To convert any book format to Mobi, I recommend using a free application called Calibre.
  7. If Wifi is enabled, the Kindle will automatically download the book (within seconds or minutes). The time varies depending upon how busy the system is and whether the book format needs to be converted.
    • Warning: If you use 3G Whispernet to download an emailed book, Amazon will charge you $0.15 per megabyte. Wifi is free.

Increase the Reading Font Size

I found the default reading font size was a little too small for me. Increasing it to the next larger font size was perfect for me. You can change the font size by doing the following:

  1. Hit the Home button.
  2. Click on a book to read it.
  3. Hit the Menu button and select “Change Font Size”.
  4. You can adjust the font size, typeface, letter spacing, word spacing, and line spacing. I just adjusted font size and left the rest alone.

Categories to Organize Your Library

If you have a lot of books on the Kindle (I have 40+ books), it can be a hassle to scroll through the list of books. Instead, use categories to organize your books into collections (categories are like folders). To begin using categories, highlight a book and instead of clicking to read it, hit the thumb joystick to go right. You will see useful options like “Add to Collection…” and “Remove from Device”. Click on “Add to Collection…” and select an existing collection or create a new collection.

Off the Topic: Email Books to an iPad

If you ever need to get a book onto an iPad (or iphone/ipod touch), here’s how to email it:

  1. Make sure that the iBooks application is installed on the iPad.
  2. I recommend using the ePub (.epub file extension) format for books that are sent to iPads.
  3. Email the book (as an attachment) to the iPad user’s email account.
  4. On the iPad, go to the Mail application, open the email, and click to open the attachment.
  5. The iPad will offer you the option to “Open in iBooks”.
  6. Accept it and the book attachment will be downloaded into iBooks for reading.

The tips above should work for other models like the Kindle Touch and Kindle Fire.

No Comments

Repeat a Jailbreak and Unlock on iPhone 3G iOS 4.2.1 (Death to Error 1015!)

Mobile Devices 7 Comments

I wanted to give my iPhone 3G, which I had previously jailbroken and unlocked, to a friend. So naturally, I went into Settings, General, Reset, and selected “Erase All Content and Settings”. Bad mistake. After reboot, the iPhone was stuck in recovery mode.

Worse mistake. I then plugged the iPhone into my Macbook Pro and did an iOS 4.2.1 restore using iTunes. I was thinking that I would just redo the jailbreak. Unfortunately, the iTunes restore failed with an error 1015. I found that I still had the custom PwnageTool iOS 4.2.1 ipsw firmware image I had used previously. I re-attempted the restore, this time holding the Option key while clicking on Restore so I could browse for and select my custom ipsw image file. This time, I got an error 1016.

After hours of googling, experiments (where I got other errors like 1600), and reading my own posts on the subject (I had forgotten everything), I found the answer. It turns out that the previous jailbreak I used was an tethered jailbreak; meaning that if I rebooted the iPhone, I would have to connect it to the computer and do something. In this scenario, that something would probably be to run a tool like TinyUmbrella to kick the iPhone out of recovery mode.

FYI: Per some instructions I found on the web, I did the restore again, left iTunes displaying the error 1015 dialog, ran TinyUmbrella to get the iPhone to “exit recovery” mode, and waited for the iPhone to reboot. Unfortunately, this method did not work and the iPhone promptly booted back into recovery mode. (TinyUmbrella also offered a “fix recovery” function which I tried; whatever it did, it didn’t fix my issue.)

The iTunes restore error was caused by the updated 06.15.00 baseband version (I had updated the baseband to get the unlocking tool, UltraSn0w, to work). iTunes did not recognize this baseband version and thus, threw a 1015 error. (I have no idea what the 1016 error is about though.)

The correct solution was to run RedSn0w to put the iPhone into a special “pwned” DFU mode which would accept custom ipsw firmware images and then to do the iTunes restore. This Youtube video, How to: Fix ERROR 1015 iPhone 3G STUCK ITUNES-STEP BY STEP!, contains the instructions. Basically run any version of RedSn0w 0.9.6 (I used the 0.9.6b5 version I had from my last jailbreak) and in the options screen, select only the “Just enter pwned DFU mode right now”. RedSn0w will walk you through putting the iPhone into that special DFU mode.

Hint: To get into DFU mode, leave the iPhone connected to the computer by USB cable. Turn the iPhone off first. If you can’t get to the shutdown slider, you can force an iPhone to turn off by holding both the power and home buttons until the screen goes dark (about 3-5 seconds). DFU mode is entered by holding the power button for 3 seconds, both power and home buttons for 10 seconds, and the home button for 15 seconds. If you have trouble getting into DFU mode and end up in recovery mode, use TinyUmbrella to exit recovery mode and try again.

Once RedSn0w is done, RedSn0w will tell you to quit it and run iTunes to do the restore. Rather than using my previous custom iOS 4.2.1 ipsw firmware image, I decided to create a new one using PwnageTool 4.2. PwnageTool 4.2 is an updated version which can do an untethered jailbreak. With an untethered jailbreak, when the iPhone is rebooted, it should just start up like normal, instead of entering recovery mode.

To create the new ipsw firmware image, I managed to download PwnageTool 4.2 from one of the working mirror links (specifically the 4th one) hosted on this page, PwnageTool 4.2 For Mac: iOS 4.2.1 Untethered Jailbreak For iPhone, iPad, iPod Touch & Apple TV 2G Released; Fixes iBooks Problem.

I then followed the excellent instructions from How To Jailbreak & Unlock iPhone 4, 3GS & 3G On iOS 4.2.1 Using PwnageTool 4.2. I only followed the steps up to 10. I did not do steps 11 and after because they are replaced with the RedSn0w “pwned” DFU mode steps above and iTunes restore steps below.

After putting the iPhone into “pwned” DFU mode and quitting redSnOw, I started iTunes and it recognized the iPhone 3G in recovery mode. I then held down the Option key while clicking on Restore to browse for the new PwnageTool 4.2 custom iOS 4.2.1 image that I had created above.

This time, the restore proceeded to completion, without the dreaded error 1015. It took almost 10 minutes before my iPhone 3G booted up and showed me the normal home screen. I then ran Cydia, updated it, searched for and installed ultraSn0w to do the unlock. I popped in the T-Mobile SIM card and checked that the phone calling and texting were working.

Hopefully if you encounter the above, you won’t have to do so much research to resolve the issue.


Sync an iPod Touch to Two Computers

Mobile Devices No Comments

ipodtouch4gI use both a Macbook and a Windows desktop and wanted to see if I could sync the same iPod Touch to both machines. Below is one method I found to do this and some caveats about the method. (This method will work with iPhones and iPads also.)

Some background on how an iPod Touch pairs with an iTunes library

When you install iTunes on any computer, iTunes gets assigned a unique identifier. When you sync an iPod Touch to that same computer, the iPod Touch will store that unique identifier. If you attempt to sync the iPod Touch with another computer, the stored identifier won’t match that of the other computer’s iTunes library and the iPod Touch will refuse to sync. To get the iPod Touch to sync with the other computer, you would have to agree to overwrite the stored unique identifier and content of the iPod Touch with that of the new iTunes library.

Syncing to more than one machine

I found several websites that contained instructions on how to sync an iPod Touch (or iPhone or iPad) to more than one computer. However, the instructions did not work for the latest iTunes 10.5 version. In the comments of How to sync an iPhone with two (or more) Computers, I found a method which worked. While the old method was to change the unique identifier in two files (“iTunes Library.itl” and “iTunes Music Library.xml”), the new method only required changing one file (iTunes Music Library.xml).

  1. On the first computer (which the iPod Touch currently syncs to), locate the iTunes directory.
    • On Windows XP: \Document and Settings\username\My Documents\My Music\iTunes
    • On Windows 7: \Users\username\Music\iTunes
    • On Mac OS X: /Users/username/Music/iTunes
  2. Open the “iTunes Music Library.xml” file in your favorite text editor, search for the “Library Persistent ID” key, and copy the key value (a hex string that looks like “8ACF35DDCB78FEB1”).
  3. On the second computer, locate the iTunes directory.
  4. Open the “iTunes Music Library.xml” file, search for the “Library Persistent ID” key, and overwrite its value with the value from the first computer.
  5. Rename (or delete if you are brave) the “iTunes Library.itl” file.
  6. Create a new “iTunes Library.itl” file with zero size. You must create this file; otherwise, iTunes will generate a new Library Persistent ID without any warning.
  7. Run iTunes on the second computer, it will throw a warning that the “iTunes Library.itl” file is corrupt and it will then generate a replacement file. (If you don’t get a warning, iTunes will overwrite your inputted Library ID and you will need to start over.)
  8. Exit iTunes, open the “iTunes Library.itl” file, and double-check that the Library Persistent ID is still the value you want. (You can delete the “iTunes Library (Damaged).itl” file.)
  9. Because the iTunes Library was re-generated, you will need to re-add any apps, music, videos, etc. To re-add the content, go to the menu “File->Add File to Library” or “File->Add Folder To Library” and choose the file or folder to add. (The application files with extension “.ipa” are located in the “iTunes Media/Mobile Applications” subdirectory under the iTunes directory.) iTunes will automatically recognized what is being imported.

The iPod Touch is now sync’able against both computers. But wait, the information (music, video, contacts, notes, etc.) and applications on both computer are likely not identical. If that is the case, you will want to manually control how the sync works on either computer. You can start by configuring iTunes to not automatically sync.

Run iTunes on both computers and do the following:

  1. On Mac OS X, go to menu “iTunes->Preferences”. On Windows, go to menu “Edit->Preferences”.
  2. Select the Devices tab and check the “Prevent iPods, iPhones, and iPads from syncing automatically” option.
  3. If you would like to control the location where your music and video files are stored, select the Advanced tab and uncheck the “Keep iTunes Media folder organized” and “Copy files to iTunes Media folder when adding to library” options.
  4. If you would like to prevent automatic downloads from the iTunes store, select the Store tab and uncheck every option (including “Always check for available downloads”).

Doing the above does not solve the whole issue of having different content on the two computers. The problem is that the iPod Touch has its own configuration on what to sync (Apps, Music, Movies, TV Shows, Photos, and Info). To see those sync options (they show as tabs in the device details), connect the iPod Touch to the computer and click on the iPod Touch device in iTunes. If you configure the iPod Touch to sync Music, the same setting is used for both computers and if you don’t have the same music on both computers, then you have an issue.

The workaround I use for the above is manually intensive. Before syncing, I double-check the sync options on the iPod Touch. If I only have music on my first computer, I make sure to check “Sync Music” before syncing; while on the second computer, I make sure to uncheck “Sync Music” before syncing. (Strangely, the “Sync Info” options are not persisted for both computers, but this might be a Mac OS X and Windows side effect.) If I’m careful and don’t get confused, it works. Of course, if I mess up and accidentally get the music wiped from the iPod Touch, it is easy to re-sync the music back.

Of course, you can avoid the above complexity by having the same content exist on both computers. In that case, instead of following the steps above to get sync working with both computers, you might consider copying the “iTunes Library.itl” file over to the second computer and deleting the “iTunes Music Library.xml” file on the second computer. On startup, iTunes will regenerate the “iTunes Music Library.xml” file with the library identifier from the “iTunes Library.itl” file. The content info (stored in “iTunes Library.itl”) will show up in iTunes on the second computer; you will need to have the actual content files, like mp3 music files, exist in the same directory locations. I also read that you could just copy the whole iTunes directory from the first to the second computer, but I have never tried this so don’t know if it will work.

Alternatively, there is a way to sync the content from the iPod Touch to the second computer. This is possible according to Sync iPhone to iTunes – Transfer iPhone to iTunes synchronization. I haven’t tried this, but it looks very interesting and opens up new possibilities.

I hope that the above info will help you to get the most from your iPod Touch.

No Comments

« Previous Entries