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.
Happy iUnBricking!
March 19th, 2008 at 12:51 am
By the way, when I unbricked and reinstalled installer.app, it told me to not use the passwd program to change the password on firmware 1.1.3 because it’ll make SpringBoard (the main desktop launcher program) crash continually. Well, that’s what I did on 1.1.4 and had the same problem, so the advice probably stands for 1.1.4 as well.
April 7th, 2008 at 12:46 pm
I was using 1.1.4 and looped in same problem.
Thanks for the information.
April 8th, 2008 at 12:24 pm
Thanks, you’re a lifesaver!
April 11th, 2008 at 7:07 pm
Thank you sooo much i thought it was broke and i did not have the insurance to turn mine in for a new ipod touch!
April 13th, 2008 at 6:06 am
*evil scientist voice on* Innnnterrrresting! *evil scientist voice off*
Thanks a lot for that! I’d just installed OpenSSH and changed the root password, only to have - I assume - Summerboard go nuts on me. Since the power and home buttons seem to operate via software rather than hardware, you have to use the command-line to save yourself (thank the Budda for *nix based OS’s).
April 13th, 2008 at 9:41 pm
THANK YOU for posting this. I found you via google, and i’m so glad I did. Now I know what caused it! That darn passwd app. That’s the problem with iPhone/iPod Touch tutorials, some of them are out of date, and you really have to be careful. No worries though, I was able to change the name of springboard like you did and AFP in to copy some data off. (ebooks, etc)
All will be well soon, I just wish I didn’t just cost myself over an hour of my life putting this thing back the way it was. Oh well, at least we have ijailbreak.com
April 18th, 2008 at 12:37 pm
Could it work if you passwd change to the older password alpine ?
April 18th, 2008 at 12:41 pm
No, I tried changing the password back to “alpine” with the passwd program, but the problem persisted.
April 18th, 2008 at 6:49 pm
Dude, you saved my bacon. I can report that your button-fu works with a Mac as well as with Windows.
So what made this happen? Was it because I changed the root password? The security nerd in me insisted that I do this, blissfully unaware that there were system applications that are HARD-CODED to expect a particular password.
I can also report that, consistent with Dave’s experience, resetting the password back to its original value did NOT help.
So of course I’m going to try the whole thing again. I was too deliriously happy with my multiple HP calculators to go back to being in jail.
April 19th, 2008 at 6:20 pm
[...] I found a blog post from a dude named Dave [...]
April 19th, 2008 at 6:53 pm
Dave:
I have documented my little iPod freak-out (pretty much identical to yours) on my blog, and plagiarized your instructions blatantly (with attribution). I hope you don’t mind.
I kind of think that this is important. I didn’t find anything on the Apple support site that explains how to set an iPod Touch to I AM A BRICK PLEASE FIX ME mode.
April 29th, 2008 at 6:02 pm
Man, good thing i found this. I was having same problem. I changed the password via terminal on mac. And this went wonky.
So there’s no other way to change the password? I’m stuck with alpine?
April 29th, 2008 at 6:55 pm
Jat,
To my knowledge, you cannot change the root password but you should be able to restrict ssh access by editing sshd_config to only allow people to connect using key-based authentication instead of password-based.
Good luck!
July 11th, 2008 at 2:45 am
Damn, thanks for this guide: 18 hours into ownership I bricked it as well, didn’t know I had to disable the lock code, itunes doesn’t initialize properly with it enabled apparently…
July 17th, 2008 at 2:08 pm
I tried this but only get the “USB device not recognized” message on my computer, and the recovery screen on the iPod Touch. Any other tips?
July 20th, 2008 at 7:33 am
mate you are a life saver!! i have been searching the net for the past hour trying to find out how to stop my ipod, which was stuck in a DFU mode loop, untill i found you
thank you so much
July 22nd, 2008 at 12:04 pm
Thanks you so much, a friend of mine had her ipod touch bricked. And she just bought it, this saved her a trip to the store and possibly the warranty being voided.
Again, thanks a bunch!
August 23rd, 2008 at 5:51 pm
thank you. i love you.
August 25th, 2008 at 11:20 am
Your method was the only one that has worked for me. I think my iphone was stuck in a DFU loop and was not being recognized by iTunes. Thanks you are a lifesaver.
August 28th, 2008 at 11:40 am
Life saver… thought my iphone was dead :P… all of this for trying to crack intelliscreen :S