If you’re trying to update iOS to the latest version on an iPhone, iPad, or iPod touch and you get an error in iTunes saying:
The iOS Device “Device Name” could not be updated. This device isn’t eligible for the requested build.
You’re encountering one the following problems: either you are using an old version of iTunes, you are using an incorrect version of the firmware for your device, or you have gs.apple.com re-routed in your hosts file.
If you know you’re on the right iTunes and iOS version and you’re familiar with editing a hosts file, just throw # in front of the “22.214.171.124 gs.apple.com” entry and you’ll be good to go. If you have no idea what that means, read on and it’ll be explained easily. First let’s cover the iTunes and firmware aspect, then explain hosts modifications. Try these in order, one of them will certainly fix the ineligible build error:
1) Update iTunes
This is easy, just open iTunes and update to the latest version. This is required because the newest version of iOS require the newest versions of iTunes. Easy to resolve.
2) Use Proper iOS Firmware
The next thing you need to do is make sure you’re using the proper firmware IPSW file for your iOS hardware. You can download any firmware files from these links:
A fair amount of confusion regarding IPSW seems to be in the difference between GSM and CDMA downloads, in the USA this is easiest to determine based on the cellular provider: AT&T is GSM, Verizon is CDMA. If you’re not sure what to do with an IPSW file, you can read our walkthrough ofhow to use them.
If you’re certain you have the correct firmware file and you’re still getting the “device isn’t eligible” iTunes error, it’s almost certainly a result of gs.apple.com being blocked in the hosts file.
2) Remove the Hosts Block
This usually comes from users who have jailbroken an iOS device at some point on their computer, or did the error 3194 fix, and as a result have a line in their hosts file blocking Apple’s servers. There’s two ways to fix this, the first is the easiest:
Easy: Using TinyUmbrella
TinyUmbrella prevents you from having to use the Terminal to edit system files, instead you can just launch the app and quit it.
- Download TinyUmbrella for Mac OS X (direct download link)
- Download TinyUmbrella for Windows (direct download link)
After you’ve downloaded and installed TinyUmbrella, here’s how to use it to remove a hosts block:
- Open TinyUmbrella and click on the “Advanced” button tab at the bottom
- Uncheck the box next to “Set Hosts to Cydia on Exit”
Now quit out of TinyUmbrella and the app will modify the hosts file in the process to remove the block, allowing you to connect to Apple’s servers again. Before you try though, be sure to turn the iPhone, iPad, or iPod touch on and off again, and relaunch iTunes as well.
If you still run into problems, you may need to flush the DNS cache as well. Quit out of iTunes and open the Terminal in OS X Lion, then type:
Now relaunch iTunes and you’ll be good.
Advanced: Manually Editing Hosts
- Quit out of iTunes
- Go to the hosts file. For Mac OS X this is located at: /etc/hosts or /private/etc/hosts and in Windows it is located at: c:\windows\system32\drivers\etc\hosts
- Open the hosts file with Administrative privileges so that changes can be made and saved (eg: sudo nano /etc/hosts)
- Look for a line that resembles something like this:
- Put a # in front of that to comment it out, making it now look like this:
# 126.96.36.199 gs.apple.com
- Save the hosts file
- Flush DNS cache and restart iTunes
Whichever approach you took, this fixes the “eligible build” error and the iOS device will update as intended.