Unbricking Your iPod Touch with the Manual DFU Procedure
If you are as curious as I am, you’ve probably managed to brick your iPod touch by now. I bricked mine within 24 hours of owning it. It happened sometime after I installed Apollo and changed the root password using SSH and the passwd command. After I did that, my SpringBoard process stopped working, and was continually getting restarted by launchd because it was crashing consistently (according to “ps -A”). Nice loop really! Anyhoo, I renamed the /System/Library/CoreServices/SpringBoard.app/SpringBoard binary to SpringBoard.bak (so launchd would quit trying to restart it), and ran it myself with ./SpringBoard.bak. I got a really funky error message like this:
ABORT: Unable to register "PurpleSystemEventPort" port, 1103 unknown error code
Now that is a cool error message! (note to self: Use random colors in future error messages).
At one point, I was able to run SpringBoard on the command line and it would stay up, and I could use the interface. Here’s a cool trick: Run SpringBoard from the command line over SSH, and then Ctrl+Z it to suspend it. Notice that your UI is totally frozen on the iPod. Cool stuff! Type “fg” and the UI comes back to life. This much fun should be illegal.
At this point, my Windows XP computer would no longer make the happy “ding dong” sound when I plugged the iPod into the USB port. And, of course, iTunes could no longer detect the iPod. D’oh! This is when I started to get a bit scared. I googled for an iPod touch reset utility like I had used on my 1st generation iPod Nano, but no luck.
After some googling and some help from the good folks on #iphone, I learned that I needed to get the iPod into “DFU mode”, which is a special mode that will indicate to iTunes that there is a bricked iPod that needs to be restored. Here’s the procedure to manually put the iPod Touch into DFU mode:
- Turn on your iPod (in my case it would only get as far as displaying the Apple logo
- Hold the power and home buttons down (the iPod will power off after 10 seconds, but keep holding those buttons down)
- After the iPod powers off, release the power button (but keep holding the home button down)
- After a couple more seconds, you should hear that magical “ding dong” that means the iPod is coming back alive, and that Windows has detected it. You may even see a little “New hardware” popup in Windows. It is now safe to release the home button, and your iPod is in DFU mode.
- Now iTunes will see it as a DFU’ed iPod and should ask you to automatically restore its firmware.
- iTunes has to download the new firmware, and it takes a while, so go make a sandwich.
In case you’re wondering, the “power button” is the one on top, and the “home button” is the one under the screen.