{"id":81,"date":"2008-03-19T00:28:01","date_gmt":"2008-03-19T07:28:01","guid":{"rendered":"http:\/\/thesmithfam.org\/blog\/2008\/03\/19\/unbricking-your-ipod-touch-with-the-manual-dfu-procedure\/"},"modified":"2019-08-12T07:16:11","modified_gmt":"2019-08-12T13:16:11","slug":"unbricking-your-ipod-touch-with-the-manual-dfu-procedure","status":"publish","type":"post","link":"https:\/\/thesmithfam.org\/blog\/2008\/03\/19\/unbricking-your-ipod-touch-with-the-manual-dfu-procedure\/","title":{"rendered":"Unbricking Your iPod Touch with the Manual DFU Procedure"},"content":{"rendered":"<p>If you are as curious as I am, you&#8217;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 &#8220;ps -A&#8221;). 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:<\/p>\n<pre>ABORT: Unable to register \"PurpleSystemEventPort\" port, 1103 unknown error code<\/pre>\n<p>Now that is a cool error message! (note to self: Use random colors in future error messages).<\/p>\n<p>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&#8217;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 &#8220;fg&#8221; and the UI comes back to life. This much fun should be illegal.<\/p>\n<p>At this point, my Windows XP computer would no longer make the happy &#8220;ding dong&#8221; sound when I plugged the iPod into the USB port. And, of course, iTunes could no longer detect the iPod. D&#8217;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.<\/p>\n<p>After some googling and some help from the good folks on #iphone, I learned that I needed to get the iPod into &#8220;DFU mode&#8221;, which is a special mode that will indicate to iTunes that there is a bricked iPod that needs to be restored. Here&#8217;s the procedure to manually put the iPod Touch into DFU mode:<\/p>\n<ol>\n<li><b>Turn on your iPod<\/b> (in my case it would only get as far as displaying the Apple logo<\/li>\n<li>Hold the <b>power and home buttons down<\/b> (the iPod will power off after 10 seconds, but keep holding those buttons down)<\/li>\n<li>After the iPod powers off, release the <b>power button<\/b> (but keep holding the home button down)<\/li>\n<li>After a couple more seconds, you should hear that magical &#8220;ding dong&#8221; that means the iPod is coming back alive, and that Windows has detected it. You may even see a little &#8220;New hardware&#8221; popup in Windows. It is now safe to <b>release the home button<\/b>, and your iPod is in DFU mode.<\/li>\n<li>Now iTunes will see it as a DFU&#8217;ed iPod and should ask you to automatically <b>restore its firmware<\/b>.<\/li>\n<li>iTunes has to download the new firmware, and it takes a while, so go make a sandwich.<\/li>\n<\/ol>\n<p>In case you&#8217;re wondering, the &#8220;power button&#8221; is the one on top, and the &#8220;home button&#8221; is the one under the screen.<\/p>\n<p>Happy i<b>Un<\/b>Bricking!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you are as curious as I am, you&#8217;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 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-81","post","type-post","status-publish","format-standard","hentry","category-code-and-cruft"],"_links":{"self":[{"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/posts\/81","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/comments?post=81"}],"version-history":[{"count":1,"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/posts\/81\/revisions"}],"predecessor-version":[{"id":1567,"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/posts\/81\/revisions\/1567"}],"wp:attachment":[{"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/media?parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/categories?post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thesmithfam.org\/blog\/wp-json\/wp\/v2\/tags?post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}