Re: [Banshee-List] Podsleuth + iPod firmware update



On Jan 23, 2008 12:00 AM, Aaron Bockover <abockover novell com> wrote:
> Patryk,
>
> Awesome!

Thanks ;)

> About 1.5 years ago I started writing firmware updating code into
> ipod-sharp. Most of that code is still useful I hope. I abandoned the
> effort because Apple changed the way they delivered firmware updates to
> the iPod and thus made it harder for us to replicate, so if you've
> solved that new part of the problem, maybe we should start the effort
> again in ipod-sharp.

Yes, my code pretty much works now for every model I was able to test
it except for the Shuffles (I have no idea how to upload firmware
there as there is no firmware partition and I don't own a Shuffle so
my testing possibilities are pretty limited).

> The code I wrote is here:
> http://anonsvn.mono-project.com/source/trunk/ipod-sharp/src/Firmware/

Looking at it now, some comments below...

> Now, maybe Apple completely changed how they package firmware and none
> of this code is useful anymore. I don't know. It used to be a DMG image
> with a bunch of raw firmware files in it. My code handled extracting
> firmwares from the image, among a few other things, in 100% managed
> code.

Now it's just a plain zip file with two files inside: a manifest with
some metadata encoded as plist (we could use that to check already
downloaded firmware if upgrading from a local copy) and the Firmware-*
file containing the raw image in the ready to upload state. I believe
the change was introduced some time after iTunes began to oficially
support Windows platforms.

All the gory details of my research can be found here:
http://code.google.com/p/ipod-update/wiki/UpdateProcess

While my proof of concept was written in Python (I'm a pythonist for
living) the description is pretty software-agnostic. The whole process
is just a matter of doing a http request, parsing some files and
unpacking twice (once a gzip stream and once a zip archive).

I'm not sure if I can help with the implementation code (my .net
experience is limited to some simple university projects I had to do
some years ago) but I can help with the process (if the above
description is not clear enough) and work on some UI mockups for
Banshee.

> I can easily expose UpdaterFamilyID via PodSleuth, and I'll make that
> change in svn soon.

Thanks, that would be a major improvement (no longer need to read the
XML data in the client).

-- 
Patryk Zawadzki
PLD Linux Distribution


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]