Difference between revisions of "Troubleshooting"

From freemyipod.org
Jump to: navigation, search
m (s/(emBIOS|iLoader)/emCORE/g)
 
(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 "bin" 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:
+
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 [Nano2G]), or ask someone on IRC. Then you put it in the same folder as ipoddfu.py, turn your iPod's HOLD switch on and enter the following command:
+
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>
  
You can proceed with the instructions from the previous sections ([[#Uploading_an_installer|Uploading an installer]] or [[#Uploading_an_emCORE_binary|Uploading an emCORE binary]]) in order to recover your [[emCORE]] installation.
+
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.

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.