Difference between revisions of "Troubleshooting"
User890104 (talk | contribs) m (s/(emBIOS|iLoader)/emCORE/g) |
User890104 (talk | contribs) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
Different devices have different methods for getting out of a "bricked" condition. Here is a summary of each device and the conditions that it may get into. | Different devices have different methods for getting out of a "bricked" condition. Here is a summary of each device and the conditions that it may get into. | ||
− | ==Nano 2G== | + | ==[[Nano_2G|Nano 2G]]== |
After installing or updating [[emCORE]], your iPod may not complete the flashing process successfully. This will lead to a unfinished installation which does not work as expected. To recover your device you will need some Python scripts from [[SVN|the SVN]], a [http://www.python.org/ Python] interpreter, [http://sourceforge.net/projects/pyusb/files/PyUSB%201.0/ pyUSB] and [http://files.freemyipod.org/misc/windows_driver.zip a driver] (for Windows only). You can get the script by checking out [http://svn.freemyipod.org/emcore/trunk/tools/ this folder]. | After installing or updating [[emCORE]], your iPod may not complete the flashing process successfully. This will lead to a unfinished installation which does not work as expected. To recover your device you will need some Python scripts from [[SVN|the SVN]], a [http://www.python.org/ Python] interpreter, [http://sourceforge.net/projects/pyusb/files/PyUSB%201.0/ pyUSB] and [http://files.freemyipod.org/misc/windows_driver.zip a driver] (for Windows only). You can get the script by checking out [http://svn.freemyipod.org/emcore/trunk/tools/ this folder]. | ||
Line 41: | Line 41: | ||
====Uploading an [[emCORE]] binary==== | ====Uploading an [[emCORE]] binary==== | ||
− | You will need a known-working [[emCORE]] build, you can use one that you have built yourself, grab the latest from [http://builds.freemyipod.org/ the build server] by selecting the " | + | You will need a known-working [[emCORE]] build, you can use one that you have built yourself (but only if you have access to a working [[Nano_2G|Nano 2G]]), grab the latest from [http://builds.freemyipod.org/ the build server] by selecting the "ubi" link for the device you need ('''not recommended''' because they might not have been tested yet), or ask on IRC for one. After you get one and place it in the same folder as the scripts, you can proceed with the following command: |
<pre>python emcoreldr.py run emcore-ipodnano2g.bin</pre> | <pre>python emcoreldr.py run emcore-ipodnano2g.bin</pre> | ||
Line 67: | Line 67: | ||
====Uploading an [[emCORE]] Loader==== | ====Uploading an [[emCORE]] Loader==== | ||
− | First, you need to checkout [http://svn.freemyipod.org/tools/ipoddfu/ this folder]. Then you need a DFU image that contains [[emCORE]] Loader. You can build one yourself (but only if you have access to a working [ | + | First, you need to checkout [http://svn.freemyipod.org/tools/ipoddfu/ this folder]. Then you need a DFU image that contains [[emCORE]] Loader. You can build one yourself (but only if you have access to a working [[Nano_2G|Nano 2G]]), or download it [http://files.freemyipod.org/tmp/emcoreldr-ipodnano2g.dfu here]. Then you put it in the same folder as ipoddfu.py, '''<big>turn your iPod's HOLD switch on</big>''' and enter the following command: |
<pre>python ipoddfu.py emcoreldr-ipodnano2g.dfu</pre> | <pre>python ipoddfu.py emcoreldr-ipodnano2g.dfu</pre> | ||
Line 86: | Line 86: | ||
Connect via USB</pre> | Connect via USB</pre> | ||
− | + | If everything goes fine, you can proceed with the instructions from the previous sections ([[#Uploading_an_emCORE_installer|Uploading an emCORE installer]] or [[#Uploading_an_emCORE_binary|Uploading an emCORE binary]]) in order to recover your [[emCORE]] installation. | |
+ | |||
+ | |||
+ | ==[[Classic_1G|Classic 1G]] / [[Classic_2G|Classic 2G]] / [[Classic_3G|Classic 3G]]== | ||
+ | |||
+ | ===Recovery Mode=== | ||
+ | |||
+ | Since the Classics have DFU, recovery mode is not implemented. | ||
+ | |||
+ | ===DFU Mode=== | ||
+ | |||
+ | The DFU mode of the Classics is supported by iTunes. So you should always be able to enter DFU (holding MENU+SELECT for 10-15 seconds while connected to USB), and either restore with iTunes, or [[EmCORE_Installation|(re)install emCORE]] | ||
+ | |||
+ | If you're unable to enter DFU, please [[Contact|contact us]]. |
Latest revision as of 19:03, 19 August 2011
Sometimes your iPod may get into an unusable state, which is often called "bricked". It does not mean that your device is permanently broken, it means that you should follow the instructions that describe best your case.
Different devices have different methods for getting out of a "bricked" condition. Here is a summary of each device and the conditions that it may get into.
Contents
Nano 2G
After installing or updating emCORE, your iPod may not complete the flashing process successfully. This will lead to a unfinished installation which does not work as expected. To recover your device you will need some Python scripts from the SVN, a Python interpreter, pyUSB and a driver (for Windows only). You can get the script by checking out this folder.
Recovery mode
Sometimes emCORE may not finish loading and crash before showing the menu, because you have installed a faulty build (for example, when making changes and then building the code yourself). In this case, you need to enter emCORE Loader's Recovery mode.
Getting to Recovery mode
Restart your iPod by holding MENU+SELECT until the screen turns off, then immediately turn the HOLD switch on. If you manage to do this fast enough, your iPod will show some text, similar to the following:
emCORE Loader vX.X.X rXXX Switch HOLD on for recovery Entered recovery mode Connect via USB
At that point you can either run an emCORE build directly to manually fix the problem, or reinstall emCORE, in case the problem was caused by a failed update.
Uploading an emCORE installer
After that, you need an installer binary. You can get the official version from the releases page or build one yourself. Place it in the same folder as the previous files, then run:
python emcoreldr.py run installer-*.ubi
(if you are on *nix, you may need to prefix it with "sudo" or run it from a root shell)
You should see something similar to that in your terminal window:
Connected to emCORE Loader Recovery Mode on iPod Nano 2G, USB version 1 Uploading installer-XXXXX.ubi to 0x 8000000..... done Passing control to code at 0x 8000000... done
Your iPod should launch the installer program. Follow the instructions on the screen to update your emCORE installation.
Uploading an emCORE binary
You will need a known-working emCORE build, you can use one that you have built yourself (but only if you have access to a working Nano 2G), grab the latest from the build server by selecting the "ubi" link for the device you need (not recommended because they might not have been tested yet), or ask on IRC for one. After you get one and place it in the same folder as the scripts, you can proceed with the following command:
python emcoreldr.py run emcore-ipodnano2g.bin
(if you are on *nix, you may need to prefix it with "sudo" or run it from a root shell)
You should see this text in your terminal window:
Connected to emCORE Loader Recovery Mode on iPod Nano 2G, USB version 1 Uploading emcore-ipodnano2g.bin to 0x 8000000..... done Passing control to code at 0x 8000000... done
Then, you will (hopefully) see an emCORE console on your iPod's screen. It will say somethins similar to this:
emCORE vX.X.X rXXX Waiting for USB commands
If everything goes as described here, you can connect to your device using the emcore.py script.
DFU Mode
If something goes terribly wrong and your iPod does not display any contents on the screen when powering on, it means that it is in Bootrom DFU mode. This mode is a last resort for recovering your device.
Uploading an emCORE Loader
First, you need to checkout this folder. Then you need a DFU image that contains emCORE Loader. You can build one yourself (but only if you have access to a working Nano 2G), or download it here. Then you put it in the same folder as ipoddfu.py, turn your iPod's HOLD switch on and enter the following command:
python ipoddfu.py emcoreldr-ipodnano2g.dfu
(if you are on *nix, you may need to prefix it with "sudo" or run it from a root shell)
You should see the following text in your terminal:
Connected to S5L8701 Bootrom DFU mode, USB version 1 Upload: ..... done
Then your iPod should be in emCORE Loader's recovery mode. You can confirm that by looking at your device's display. It should print some text, similar to the following:
emCORE Loader vX.X.X rXXX Switch HOLD on for recovery Entered recovery mode Connect via USB
If everything goes fine, you can proceed with the instructions from the previous sections (Uploading an emCORE installer or Uploading an emCORE binary) in order to recover your emCORE installation.
Classic 1G / Classic 2G / Classic 3G
Recovery Mode
Since the Classics have DFU, recovery mode is not implemented.
DFU Mode
The DFU mode of the Classics is supported by iTunes. So you should always be able to enter DFU (holding MENU+SELECT for 10-15 seconds while connected to USB), and either restore with iTunes, or (re)install emCORE
If you're unable to enter DFU, please contact us.