RSS LJ

February 18, 2006

HOWTO: fix a non-booting iPod 5G (, )

by fluffy at 12:35 AM
So, just searching for high-ASCII in id3 tags was finding a lot of false positives (because I do have a lot of valid UTF8 in my id3 tags), so now I've been doing this manually in a way which any idiot can do even though it's kind of tedious. I'd might as well document it here so others can follow in my footsteps if they need to.

This is how you can narrow down which file(s) in your archive may be causing your 5th-generation iPod (with video playback) to fail to boot (or, more accurately, start to boot up but then not get past the Apple logo, and then start over again).

First, when your iPod gets stuck in a reboot loop, hold down the center button and play button until it goes into Disk Mode. In iTunes, create two playlists, one called "break test" and one called "break candidate." Drag the contents of your currently-syncing playlist(s) (or your library, if applicable), including any podcasts you may be subscribed to, into "break candidate" (this requires that you are syncing with playlists or the whole library, obviously; if you're manually managing your iPod, this won't quite work for you). Set the iPod to sync ONLY the "break test" playlist.

Next, do the following steps, in order:

  1. Go to the "break candidate" playlist, and select the first half of the files (click on the first one, scroll halfway down, then shift-click on the middle one; you don't have to be exact or anything though)
  2. Drag the selected playlist entries into the "break test" playlist, and then delete them from the "break candidate" playlist
  3. Update the iPod, and wait for it to finish
  4. On the iPod, hold down the center and menu keys for 5 seconds to make the iPod reboot
  5. If the iPod fails to boot:
    • Move the first half of the files from the "break test" playlist into the "break candidate" playlist (i.e. drag them to "break candidate" and then delete them from "break test")
    • If there are only a few songs left in "break test," go through them to see if there's any weird characters in the song info. If so, edit the song info and fix it.
    • Hold down center/play to put the iPod into disk mode
    • When the iPod finishes syncing, hold down center/menu to reset it
    • Repeat the above four instructions until the iPod boots
  6. Great, now you've ensured that everything in the "break test" playlist is fine, so clear out that playlist (select-all, then delete), and then start from step 1 above. Repeat until both "break test" and "break candidate" are empty.
Basically, what you're doing here is taking half of the files and seeing which ones are good. Once an entire set is good, you don't need to test it anymore; if a set is not good then there's at least one bad file in it, and so you narrow it down until you fix the problem.

This process is pretty tedious, but it's a lot less tedious than going through each file individually, as long as there's more good files than bad files. If there's at least as many bad files as good files, it's better to just move files 10-20 or so at a time from "break candidate" to "break test."

Even better would be if Apple didn't leave this horrible bug in the iPod to begin with, though. Not all mp3s are tagged in UTF-8!

Comments

#7453 05/22/2006 08:52 am
Ugh, this is so ludicrous. I have to go through this AGAIN because somewhere along the line I've picked up another mp3 file which doesn't quite satisfy the iPod's exacting standards. Why can't Apple fix this fucking problem?
#7613 06/17/2006 09:21 am
And again. What the hell, people.
#7992 12/06/2006 10:28 pm
Great, and now it's happening to my dang Nano.
#8991 Anonymous 04/18/2007 04:36 pm
Sincere thanks for your idea, youve just managed to save my ipod and my sanity.
#8992 04/18/2007 07:04 pm
It turns out that one of the things which causes iPod death is id3v2 comments which are longer than 254 characters, due to a buffer overrun in iTunes. You might want to try using a bulk-tagging tool to strip all the comment tags off. A lot of downloaded mp3 files have lyrics in the comment tag.
#9506 kwazyazn21 (unregistered) 07/22/2007 08:12 pm
easier way is put into diskmode and it should beable to recognize it then just reformat ur ipod..u lose everything but shrugs
#9507 07/22/2007 08:15 pm
That doesn't help you prevent it from happening again, when the corrupt mp3 (or rather, non-conformant id3 tag information) shows up on it the next time you sync.
#10512 poponix (unregistered) 02/29/2008 06:58 am Thank Very Much...
Thank You..
#11297 09/18/2008 08:39 am
Incidentally, there's an easier way to find encoding errors: have iTunes export the library as XML and then run the XML through a validator. That won't help to find ones with large comments though.
#12464 heyheyhey (unregistered) 10/07/2009 11:56 pm
fluffy:
Incidentally, there's an easier way to find encoding errors: have iTunes export the library as XML and then run the XML through a validator. That won't help to find ones with large comments though.


So what do you do when you find the file that is bad, do you just go into info of it and erase some characters so it's not too long?
#12465 10/08/2009 12:02 am
Generally you just have to bring up the tag editor in iTunes and fix the broken fields. The tag editor won't let you put more than 254 characters in the comment field so just touching that field should fix it, if it's a length-related issue.
#12466 heyheyhey (unregistered) 10/08/2009 12:48 am
fluffy:
Generally you just have to bring up the tag editor in iTunes and fix the broken fields. The tag editor won't let you put more than 254 characters in the comment field so just touching that field should fix it, if it's a length-related issue.


oy. So it may be other issues than length? Not sure what to do in that case.

And sorry for being a noob but the tag editor in iTunes is right clicking on a sing and "convert ID3 tags"? If so then what, cause I've found a chunk of songs that are giving me the boot-loop, and selected all and did convert; tried both "ID3 tag version 2.4" and "reverse UNICODE" it's still not workin..

I've also just went through the Info of each file and checked to see if there were lyrics or anything long written in them and nothing that I saw but maybe I'm approaching this wrong?

Appreciate your help, I thought my iPod was plain broken before stumbling across your post, so that's good at least!
#12467 10/08/2009 12:58 am
Sorry, I realize that my post was a bit technical. I'm a software engineer so it's hard for me to talk about these things in terms other than software engineering. Smile

The iTunes tag editor is what you get when you select 'get info' (which is cmd-I on a Mac, and I think ctrl-I on Windows). When you edit a tag that way, iTunes should correct the encoding so that it's compatible with the iPod database format, although just to be safe you might want to completely clear out all the fields and retype the information. Or, by looking at the XML dump you can see exactly where the bad character is (it will often be something that you can't actually see in the tag editor but you'll know it's there because you have to press a cursor key an extra time to move past it).

Deleting all the information and re-entering it is generally the easiest way to go, in any case.
#12468 heyhey (unregistered) 10/08/2009 01:36 am
fluffy:
Sorry, I realize that my post was a bit technical. I'm a software engineer so it's hard for me to talk about these things in terms other than software engineering. Smile

The iTunes tag editor is what you get when you select 'get info' (which is cmd-I on a Mac, and I think ctrl-I on Windows). When you edit a tag that way, iTunes should correct the encoding so that it's compatible with the iPod database format, although just to be safe you might want to completely clear out all the fields and retype the information. Or, by looking at the XML dump you can see exactly where the bad character is (it will often be something that you can't actually see in the tag editor but you'll know it's there because you have to press a cursor key an extra time to move past it).

Deleting all the information and re-entering it is generally the easiest way to go, in any case.


Alright I went through the editor for them, I didn't retype all the info (been working on this for hours already) and that didn't work, didn't see any long comments or lyrics or anything. I exported the list with the bad files on XML and ran through validator and opened on IE but had no clue what I was looking at lol. So I'm pretty clueless how to actually fix the file
#12469 10/08/2009 07:38 am
If you don't retype the information, then iTunes won't fix the tag.

What you're looking for in the validator is a validation error, specifically problems with "character encoding" or similar.

If you like, you can email me your library XML file to fluffy(at)beesbuzz(dot)biz and I can take a look. Or if it's just one specific file that's causing a problem, email me that and I'll fix the tags for you and you can just delete it from your library and re-add it.

It is, of course, ridiculous that Apple haven't fixed this issue, though, even though it's been known for years and I have sent them quite a few exemplar files that trigger the problem.
#12470 10/08/2009 08:10 am
heyheyhey: [quote]fluffy:
And sorry for being a noob but the tag editor in iTunes is right clicking on a sing and "convert ID3 tags"? If so then what, cause I've found a chunk of songs that are giving me the boot-loop, and selected all and did convert; tried both "ID3 tag version 2.4" and "reverse UNICODE" it's still not workin..

Oh, hey, I just noticed that paragraph. Where did you do that conversion? If it was in an application external to iTunes, you'll have to remove them from your iTunes library and re-add them for iTunes to reimport the tag into the database. (It's actually the information in the iTunes database which causes the problem, not the tag on the file.)
#12471 heyhey (unregistered) 10/08/2009 11:33 am
fluffy: [quote]heyheyhey:
fluffy:
And sorry for being a noob but the tag editor in iTunes is right clicking on a sing and "convert ID3 tags"? If so then what, cause I've found a chunk of songs that are giving me the boot-loop, and selected all and did convert; tried both "ID3 tag version 2.4" and "reverse UNICODE" it's still not workin..

Oh, hey, I just noticed that paragraph. Where did you do that conversion? If it was in an application external to iTunes, you'll have to remove them from your iTunes library and re-add them for iTunes to reimport the tag into the database. (It's actually the information in the iTunes database which causes the problem, not the tag on the file.)



I did it in iTunes, just selected all the files where one of the bad ones is and converted all the ID3 tags, didn't help though.
I'll try retyping the info and see if that works if not I'll email you the xml file.