Difference between revisions of "Troubleshooting"

From freemyipod.org
Jump to: navigation, search
(Created page with "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 ...")
 
 
(12 intermediate revisions by 2 users 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 iLoader, your iPod may not complete the flashing process successfully. This will lead to a unfinished instalation 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 [http://svn.freemyipod.org/embios/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].
  
 
===Recovery mode===
 
===Recovery mode===
  
Sometimes iLoader 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 emBIOS Loader's 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====
 
====Getting to Recovery mode====
Line 15: Line 15:
 
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:
 
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:
  
<pre>
+
<pre>emCORE Loader vX.X.X rXXX
emBIOS Loader vX.X.X rXXX
 
 
Switch HOLD on for recovery
 
Switch HOLD on for recovery
  
 
Entered recovery mode
 
Entered recovery mode
Connect via USB
+
Connect via USB</pre>
</pre>
 
  
====Uploading an emBIOS binary====
+
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.
  
You will need a known-working emBIOS build, you can use one that you have built yourself, grab the latest from [http://builds.freemyipod.org/ the build server] (not recommended because they aren't tested), 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:
+
====Uploading an [[emCORE]] installer====
  
<pre>python embiosldr.py run embios-ipodnano2g.bin</pre>
+
After that, you need an installer binary. You can get the official version from [[EmCORE_Releases|the releases page]] or build one yourself. Place it in the same folder as the previous files, then run:
  
You should see this text in your terminal window:
+
<pre>python emcoreldr.py run installer-*.ubi</pre>
 +
 
 +
(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:
 +
 
 +
<pre>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</pre>
 +
 
 +
Your iPod should launch the installer program. Follow the instructions on the screen to update your [[emCORE]] installation.
  
<pre>Connected to emBIOS Loader Recovery Mode on iPod Nano 2G, USB version 1
+
====Uploading an [[emCORE]] binary====
Uploading embios-ipodnano2g.bin to 0x 8000000..... done
 
Passing control to code at 0x 8000000... done </pre>
 
  
Then, you will (hopefully) see an emBIOS console on your iPod's screen. It will say somethins similar to this:
+
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>emBIOS vX.X.X rXXX
+
<pre>python emcoreldr.py run emcore-ipodnano2g.bin</pre>
  
Waiting for USB commands</pre>
+
(if you are on *nix, you may need to prefix it with "sudo" or run it from a root shell)
  
====Uploading an installer====
+
You should see this text in your terminal window:
  
After that, you need an installer binary. You can get the official version from [http://theseven.freemyipod.org/iloader/installation.php TheSeven's Installation page] or build one yourself. Place it in the same folder as the previous files, then run:
+
<pre>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</pre>
  
<pre>python embios.py runfirmware 08000000 installer.bin</pre>
+
Then, you will (hopefully) see an [[emCORE]] console on your iPod's screen. It will say somethins similar to this:
  
You should see something similar to that in your terminal window:
+
<pre>emCORE vX.X.X rXXX
  
<pre>Connected to emBIOS Debugger vX.X.X rXXX running on iPod nano 2g
+
Waiting for USB commands</pre>
Writing file 'installer-XXXXXXXX.bin' to memory at 0x8000000...done
 
Running firmware at 0x8000000. Bye.</pre>
 
  
Your iPod should launch the installer program. Follow the instructions on the screen to update your iLoader installation.
+
If everything goes as described here, you can connect to your device using the emcore.py script.
  
 
===DFU Mode===
 
===DFU Mode===
Line 59: Line 65:
 
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.
 
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 emBIOS 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 emBIOS Loader. You can build one yourself, 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 embiosldr-ipodnano2g.dfu</pre>
+
<pre>python ipoddfu.py emcoreldr-ipodnano2g.dfu</pre>
  
(if you are on *nix, you may need to prefix it with "sudo" or run it from a root shell, if you are on Windows, you may need to run it in an administrator command prompt)
+
(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:
 
You should see the following text in your terminal:
Line 72: Line 78:
 
Upload: ..... done</pre>
 
Upload: ..... done</pre>
  
Then your iPod should be in emBIOS Loader's recovery mode. Procees with the instructions from the previous section starting with "Uploading an emBIOS binary", in order to recover your iLoader installation.
+
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:
 +
 
 +
<pre>emCORE Loader vX.X.X rXXX
 +
Switch HOLD on for recovery
 +
 
 +
Entered recovery mode
 +
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.

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.