Re: [Banshee-List] Podsleuth + iPod firmware update
- From: "Patryk Zawadzki" <patrys pld-linux org>
- To: banshee-list gnome org
- Subject: Re: [Banshee-List] Podsleuth + iPod firmware update
- Date: Wed, 23 Jan 2008 01:32:05 +0100
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]