Hello everybody! This is my very first post on your forum, and I don't even know if I'm posting this in the right section. Recently I downloaded the 3.1.2 firmware, and freaking iTunes denied me downgrading my 4.0 firmware to 3.1.2! I quickly discovered that this is because Apple have "invalidated" any firmware below 4.0, which I don't see ANY reason to do! - So pissed of as I was, I decided to write my own piece of software that allows the user to downgrade to any firmware version they wish. Here's a list of the things that (to my understanding) is required to actually bring this software idea to life: My own USB driver (to establish a connection between my program, and the device). The device has to be in DFU mode. The device's memory map (so I know where to place the various parts of the decompressed firmware). And now, for a closer look of the list: My own USB driver: I expect to write this device driver in Xcode using the IOKit framework. The device has to be in DFU mode: This is kind of self explanatory, but it is just as much an opportunity to ask a question: Does the device actually have to be connected with iTunes once in DFU mode, to continue the process - or just a computer? The device's memory map: This also is kind of self explanatory, AND like the above point, just as much an opportunity to ask a question: Does anybody know the memory map of the iPod touch 2G? - Or does anybody know where I can find it? The first version is only going to support the iPod touch 2G, but I might expand it to support all of the iDevices. I assume I do, but do I REALLY have to write the USB driver? - I've developed my own GUI OS for PCs before, so it's not because I don't know how to operate in this level of the computer, but just because I know how hard it is to write safe and stable software at that ring level! If you need any more info, just ask, and I'll be happy to provide it . Just in case you are in doubt of what my actual question is, here it is: Am I approaching this right? - Can I actually pull this idea off with what I wrote above? Best regards, Benjamin .