Difference between revisions of "Troubleshooting"

From freemyipod.org
Jump to: navigation, search
m
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.
+
Next, you need to upload and run another copy of [[emCORE]] Loader at a different address using the following commands:
 +
 
 +
<pre>python emcoreldr.py upload 0x22000000 emcoreldr-ipodnano2g.bin
 +
python emcoreldr.py execute 0x22000000 0x00000000</pre>
 +
 
 +
If everything goes fine, the display will show the same text as before entering these commands.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.
  
  

Revision as of 23:37, 8 July 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 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:

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

Next, you need to upload and run another copy of emCORE Loader at a different address using the following commands:

python emcoreldr.py upload 0x22000000 emcoreldr-ipodnano2g.bin
python emcoreldr.py execute 0x22000000 0x00000000

If everything goes fine, the display will show the same text as before entering these commands.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

(to be continued)