How to Hack Your Nano / Nike+ Run Data When iPod Freezes

March 2, 2008 – 4:28 pm by Gabe Anderson | 77 Comments

Today was my weekly Team in Training run — I’m training for and planning to run a marathon to raise money for blood cancer research — and 6.61 miles into the run, my iPod Nano froze on me for the first time in the month that I’ve had it (yes, it let me down after I raved about it in my last post). I was really upset that I was not only going to lose my run data, but that I wouldn’t get the mileage credit for the Articulate miles challenge. I ended up doing another 2+ miles for a total of 8.78 miles.

So on my drive home from the run, aside from being bummed, I started thinking about how to fix this. I thought that there had to be some way to hack into the iPod to recover my lost run data — or at least simulate the run based on similar run data.

Sure enough, I was right: My run data was lost during the iPod crash, but I was given the opportunity to tackle a fun technology challenge.

I got home and started doing some Google searches to research the topic before I just started digging into my iPod’s hard drive. I found a couple resources with the info I needed — “MadeUpName’s” method outlined on runpl.us and WalkBlogRun’s method here — and pieced together my own approach that did the trick beautifully.

Here’s how I did it — proceed with caution and at your own risk to your data and software:

The Setup

Hacking your iPod’s run data requires that you create and edit XML files, so before you can do that, you need to confirm two things (both were already the case for me):

  1. Make sure iPod is set to be a disk (check the Enable disk use box on your iPod Summary tab in iTunes).
  2. Make sure you can see hidden system files & folders in Windows (XP how-to | Vista how-to).

The Backup

As is the case whenever you’re editing pretty much anything — especially files that help drive your iPod and iTunes software — always make a backup first since you never know what might happen:

  1. Connect your iPod to your computer.
  2. Navigate to this path (yours may vary):
    G:\iPod_Control\Device\Trainer\Workouts\Empeds\<unique ID>
  3. Copy the entire contents of that folder to your hard drive (2 folders — latest and synched, and 5 files — best, calibration, settings.plist, lastWorkout.xml, and preferences.xml).

    iPod Nike+ run data folder

The Hack

Now that you’ve backed up the key files, you’re ready to get down ‘n dirty. It just so happened that, in my case, the run I did today was the same run I did a couple weeks ago (February 16) in terms of location, mileage, and rough pace. So that made copying the run data fairly easy. Along with that, I also wanted to ensure my last workout and workout summary data were correct.

So there are 3 things you need to do:

  1. Create or copy your new run data (the XML file named after the date & completion time of your run — e.g., 2008-03-02 08;14;25.xml — that’ll begin with the <sportsData> tag inside the file) to your latest folder.
  2. Update your lastWorkout.xml file.
  3. Update your preferences.xml file.

Those last two files are used to display your run summary data in both iTunes and in your iPod. Here’s what the screen with that info looks like in iTunes:

iTunes Run Summary Data

So here’s what I did for each of the above steps:

1. Copying run data.

The first thing I needed to do was to re-create today’s lost run data file by duplicating the data for the last time I did the run and update it with today’s date:

  • Opened the synched folder and located the data file for the last time I did this run (2008-02-16 08;14;25.xml).
  • Copied 2008-02-16 08;14;25.xml to my desktop.
  • Opened 2008-02-16 08;14;25.xml with Notepad.
  • Located the two references to the date & time of the run — in the <time> and <startTime> tags — and changed the values to today’s date (run start time was the same today and last time I did the run):

    run data xml file

  • Saved the file & renamed it to match today’s date and run finish time (2008-03-02 08;14;25.xml).
  • Copied this new file to the latest folder on my iPod — the staging area for runs that have yet to be snyched with iTunes.

Note: I left all other run data the same in my run data file, but you’ll see that you can update all kinds of data to match your estimated values for your run, including these:

  • <duration>
  • <distance> (in both km and miles)
  • <calories>
  • <pace>

You’ll also notice in the middle of your run data file that your iPod records your run distance every 10 seconds. Pretty cool stuff.

2. Updating lastWorkout.xml.

Next, I needed to copy key portions of today’s run data to the lastWorkout.xml file, so here’s what I did:

  • Opened up both 2008-03-02 08;14;25.xml and lastWorkout.xml in Notepad.
  • In my run data file, copied from the beginning of the <time> tag to the end of the <lifetime> tag; this includes all the relevant data you need to paste into lastWorkout.xml.
  • Pasted this data into lastWorkout.xml, overwriting the existing values, of course.
  • Referred to my last run data XML file to update lifetime stats in this section to include this latest run data.
  • Saved lastWorkout.xml.

3. Updating preferences.xml.

Finally, I needed to do some basic math to update my total run data to reflect today’s run:

  • Opened both 2008-03-02 08;14;25.xml and preferences.xml in Notepad.
  • Incremented my <TotalWorkouts> value by 1 (from 11 to 12).
  • Updated the <TotalCalories> value by adding the <calories> value from today’s new run data file.
  • Updated the <TotalSeconds> value by taking the <duration> value from my run data file, minus the last 3 digits since your run data files measure to the thousandth of a second (in my case, the <duration> value was 4236763, so I took 4236 and added it to 30529 to get 34765, which, when converted to hours, checks out to be my correct total: 9.6 hours).
  • Updated the <TotalDistanceMiles> to include today’s mileage.
  • Updated the <TotalWeightWorkouts> value to 12.
  • Left everything else — like <FarthestMile> and <TotalMarathon> — the same since my longest distance still stands at 10.02 miles (last Sunday) and since I haven’t yet run a marathon.
  • Saved the file.

So that’s it! You’re done with the hard part.

The Confirmation

The only thing left to do is to confirm that your hacks worked as expected (you did back up your original files, right?). Here’s what I did to confirm:

  1. In iTunes, ejected my iPod.
  2. Unplugged my iPod and went to the Nike+ screen to confirm my latest run and new totals were reflected.*
  3. Plugged my iPod back into my computer & confirmed latest run & summary data were reflected.
  4. Synchronized my data and uploaded the run to my Nike+ site (I had to login to my nikeplus site again).

* At first, my summary data was showing up in iTunes, but not in my iPod, so I did a force reset using the method suggested by Apple, and after that, the new summary data appeared as expected.

Success! I learned a fun hack and can now rest assured that my run data — at least the mileage totals — remains (mostly) accurate.

Have fun and remember: If you use this method to fabricate run data, you’re cheating no one but yourself. 🙂

[ Subscribe to gabeanderson.com via email or RSS feed. ]
  1. 77 Responses to “How to Hack Your Nano / Nike+ Run Data When iPod Freezes”

  2. Hi .. This is so exciting that so many of you have been able to retrieve your runs!
    I use a mac – i am making no headway since i cant find the path
    G:\iPod_Control\Device\Trainer\Workouts\Empeds\
    nor can i find the .xml files with a search.

    any chance you can help?

    By Kunal on Dec 1, 2009

  3. are you able to at least plug in your ipod and see it as a drive on your mac?

    By Mike Ramos on Dec 6, 2009

  4. This doesn’t work on the iphone, any suggestions?

    By BJ on Dec 16, 2009

  5. BJ, yep does NOT work on the iphone because it does not allow you to enable disk use. Of course i would never recommend jail breaking it 🙂

    Czarina

    By Czarina Spieler on Jan 7, 2010

  6. Thank you for this valuable piece of workaround!

    i managed to recover a routine 12km run i did today, but ipod nano 4th gen froze on me after i pressed “End Workout”… auugh!!

    i should have looked for this info last year where I have had several unsynced workouts stuck on ipod are could not be uploaded to nikerunning site, but today’s missing run was too painful to pass up. Thanks again.

    By eric (ebto on nike+) on Jan 18, 2010

  7. Hi Gabe

    My ipod nano 3rd gen has frozen (again). Fully charged, screen is frozen on it’s run display (from today’s run). My computer can’t see it (and I’ve hacked it before using your hack successfully). Should I just wait now for the power to run out and hope that when I recharge it the run will magically reappear?? Darn these ipods. I too have bought a garmin, but I still like the nike+ interface…. Clare

    By Clare on Feb 18, 2010

  8. Hi Clare- doh! Bummer it happened again. I’m not sure what to suggest – other than to stick with the Garmin 🙂 – did waiting for battery to die save the run?

    By gabe on Feb 19, 2010

  9. Hi Gabe. Yes, amazingly when I recharged my ipod the run was still there! Thanks again, Clare

    By Clare on Feb 20, 2010

  10. hi gabe,
    i recently upgraded from a 2nd gen nano to 5th gen. i managed to get the workout data from the old unit into my new one.

    the annoying bit is that the workout history kept showing 2 workouts (1 run and 1 pedometer) instead of 1+54(which is the count of my runs in the old unit).

    have reset the new nano a number of times, still the same. my itunes is showing the correct info though. have u come across a problem like this?

    By nsa on Mar 9, 2010

  11. Thanks!!, worked perfectly, if it hadn’t been for you i would have lost a 10k run, thanks!!!

    By Sybelle on May 19, 2010

  12. Hi, quick question. Unfortunately my iPod froze while on a run as well. This was the first time I ran as much as I did and was shocked to see that my iPod had frozen about mid-way. I’d love to try the hack and I’m not sure if anyone’s asked this yet, but has anyone figured out how to (maybe) retrieve the data on a Mac? I’m expecting a ‘no.’

    Anyway, I was upset that my data was erased but am wondering if anyone might know how to do this, or perhaps even another technique, on a Mac? Any info is appreciated. If not, that’s cool. I’ll settle for losing it and just run again later. It just sucks to lose that much running information. Thanks in advance 🙂

    By Danny P. on Jun 7, 2010

  13. Thanks for the great tutorial! I overlooked the step to copy the edited run to the “latest” folder (I had done that once in the past). After that, I got my 8.2km back.

    Thanks again!

    By Holger on Oct 11, 2010

  14. for mac…. this is how its done

    /volumes/*****/ipod_control/device/trainer/workouts/empeds/

    where the ****** are, put the name of your ipod

    ie

    /volumes/scottsnano/ipod_control/device/trainer/workouts/empeds/

    By SCOTT COLEMAN on Nov 26, 2010

  15. You can access the iPhone as a disk, using software (Mac) such as iPhone Explorer (free) or Phone Disk ($10).

    My iPhone 3Gs stopped recording my 5k run just after 4ks.
    I accessed the folder you metioned, located on the phone at iTunes_control/device/trainer/workouts/empeds/
    and I edited the XML files and replaced them on the phone, then did a hard reset but it doesn’t seem to make the changes.
    Any ideas?

    By tolucophoto on Jan 23, 2011

  16. Success! I’ve managed to sort it and it’s uploaded to Nike+ correctly!
    Had to mess around a lot with the XML file, making sure the distance, time, etc all matched up, but now it represents the actual run I did.
    Hopefully I won’t have to go through all this again in the future!

    Thanks very much for all the info Gabe!

    By tolucophoto on Jan 23, 2011

  17. tolucophoto- glad to hear this article helped!

    By gabe on Jan 27, 2011

  18. HI Gabe,

    I followed all your instructions.
    But for some reason my run only shows in iTunes but won’t send/synch to the Nike+ website.
    Do you have any advice?

    Thanks
    Marianne

    By Marianne on Apr 13, 2011

  19. Thanks!

    I did it a bit differently, though, by adding a run on the day before my last run. That way, I didn’t have to make any changes in the LastWorkout-file.

    But awesome “hack”! Thanks once again!

    By Michael on Sep 14, 2011

  20. Thanks for info, worked perfectly. Restored my day, was depressed when lost my 8k run data! Thanks again!!!!!! Rob.

    By Rob on Jan 20, 2012

  21. A shame that something can’t automate to allow this to function correctly. I saw npedit.com but the files no longer synch for me. I switched to MiCoach for a while and wanted to transfer all those runs over to my Nike+ account but alas no. It is funny that Nike works to prevent people editing runs to protect challenges when technically they count for nothing at all.

    By Rich on Feb 7, 2012

  22. Does anyone know if this will work with the 6th gen nano? I just tried several times, but iTunes says that it can’t send my data because it can’t be validated. I notice that the xml files contain signatures and digital certificates, so I’m guessing that editing them invalidates the signature.

    Really annoying as this morning I recorded a 5 mile run, but the time showed up as 13 seconds (but with correct start time, end time and a reasonable approximation of the distance). So I tried to correct it, but can’t seem to get it to work. This is what I can’t stand about the Nike/Apple mindset: our software and hardware are perfect so you’ll never need to manually fix anything. My experience today (and several times before) tell me this is ridiculous. These things fail quite frequently. Agree with Rich – there’s no real reason to prevent this. The challenges mean nothing, especially true since for every person who hacks their data to show more, there are probably 10 who don’t bother and get shorted.

    By sean on Feb 19, 2012

  23. Rich, I just got this to work with my 6th gen nano. All I did was copy one of my old runs at the same distance and edited and changed the dates. I then saved the file with the new date and placed in the nikeinternal\latest folder.

    I had ran and synced after the date I needed to add so I didn’t change any other files. After I disconnected and reconnected everything updated without any errors.

    By Mike on Apr 15, 2012

  24. Hi,
    I have used your advice on 2 occasions now after running on the treadmill without the nike+ pod (the last 2 runs). The first time it worked fine, the second time is uploaded to itunes ok and appeared to send the data through to the nike+ website but the run didn’t appear to come through. Any advice?

    By Steve on Jun 28, 2012

  25. Does this work with iphone 4s? I can get to an itunes resources folder that just has a bunch of .nib files. My iphone internal storage folder only contains jpegs of my photos. I really wish nike would let you manually enter or modify a run so we could bypass all this!

    By hs on Sep 7, 2012

  26. Help, just completed my longest training run, half marathon and have lost that data, as not to PC savvy finding it difficult to follow the instructions … HELP
    I’ve got an iPod nano -one of the early models, not sure if that makes a difference ……. Can anyone supply an idiots step by step guide, thanks …. I can provide an email address to send it to if that helps

    By kamlola on Jan 1, 2013

  27. Thank you so much! I recovered todays run easily!

    By Nick on Jun 15, 2013

  28. This was great. Fixed my problem where a run did not get transferred to the Nike+ site. Simple and quick solution!

    By Michael on Sep 12, 2013

Post a Comment