Fixing iPods

From ShawnReevesWiki
Jump to navigationJump to search

Diagnostics

Key combinations

See the graphic at http://www.command-tab.com/2006/03/30/hidden-ipod-commands/ for key combinations.

iPod 5th gen
MENU+SELECT
restart
SELECT+REVERSE
diagnostic mode

Disk repairs

Replacing firmware without running Restore in iTunes

When you want to change the firmware, or replace firmware on a drive where the firmware was erased, you can copy the firmware to the iPod without iTunes:

  • In iTunes, choose to restore the iPod; cancel the restore after the firmware is downloaded but before iTunes writes it to the hard drive (tricky).

OR

  • Use a copy of the firmware you copied from the firmware partition before.

THEN

  • Find the ipsw file in ~/Library/iTunes/iPod Software Updates/ .
  • Make a duplicate of the file.
  • Change the extension of the duplicate file from .ipsw to .zip .
  • Double click the file to unzip the archive.
  • Navigate to the file called Firmware-etc. in the resulting folder.
  • Open Terminal
  • Use the diskutil command to find out where you should put the firmware:
diskutil list
  • Look in the results for an identifier like disk1s3 in the following, matching the partition of type "Apple_MDFW":
/dev/disk1
  #:                       TYPE NAME                    SIZE       IDENTIFIER
  0:     Apple_partition_scheme                        *30.0 GB    disk1
  1:        Apple_partition_map                         32.3 KB    disk1s1
  2:                 Apple_MDFW                         67.1 MB    disk1s3
  3:                  Apple_HFS                         28.8 GB    disk1s4
  • Use dd as superuser to copy that firmware to the drive. DD IS A SUPER POWERFUL COMMAND THAT CAN EASILY ERASE ANYTHING—USE WITH CARE! Start by typing
sudo dd if=
  • Don't press return yet. Then drag the file from the finder onto the Terminal window. The path and name of the file will automatically appear after "if=". "if" stands for "input file."
  • Don't press return yet. Tell dd that you want the output to go to the disk. "x" and "y" will be different digits depending on your situation. In our example, it would be "/dev/disk1s3":
of=/dev/diskxsy
  • Double check the command line—I had a command like this but yours may vary, and if you copy and paste this command you might ruin a disk if there's another disk in the disk1 slot:
sudo dd if=/Users/shawn/Library/iTunes/iPod\ Software\ Updates/iPod_13.1.3/Firmware-13.6.3 of=/dev/disk1s3
  • Now you can press return. If everything goes well, dd will tell you how many blocks were copied, and then you can disconnect the iPod (maybe you'll need to eject it first), and it will restart and load the new firmware. If dd reports errors, you might be able to use the number of blocks successfully copied to locate the bad block that caused the stoppage.

I used Restore Your iPod Firmware WIthout Data Loss at http://www.techspikes.com/2009/10/restore-your-ipod-firmware-without-data-loss/ as inspiration for this tutorial. It describes how to do the same thing, but in linux.

Skipping bad blocks

See http://www.openobject.org/isop/?p=47 for how to re-partition an iPod's hard drive so that bad blocks are part of the partition-map partition instead of the firmware or data partitions. I've successfully used the routine there, but with a firmware partition twice the size. Make sure you're using the right size for your device by listing the existing partition map and printing it or saving it in a text file. I also made free space partitions usable space instead of enlargening the partition map, which doesn't always work. Here's my modified map of a 30GB fifth generation iPod:

Partition map (with 512 byte blocks) on '/dev/disk1'
 #:                type name       length   base     ( size )
 1: Apple_partition_map Apple          63 @ 1       
 2:          Apple_Free Extra     2097088 @ 64       (1024.0M)
 3:          Apple_MDFW firmware   131072 @ 2097152  ( 64.0M)
 4:           Apple_HFS disk     56300000 @ 2228224  ( 26.8G)
 5:          Apple_Free Extra       76896 @ 58528224 ( 37.5M)
Device block size=512, Number of Blocks=58605120 (27.9G)

See http://www.macgeekery.com/node/6 for nice examples of partitioning that helped people with both new and old disks.

Take-apart guides

Good guides are at iFixit.com, for example their page on the iPod 5th generation (Video): http://www.ifixit.com/Device/iPod_5th_Generation_%28Video%29