Linux, the iPad, iPhone OS 4.0 and libimobiledevice support
Even if you are not tech-savy, you should have noticed by now that Apple released it’s new product, the iPad, to the masses. This new device can simply be compared to an iPod Touch with a huge display. That’s it.
Now Apple had a keynote event yesterday and among other stuff presented the features of the upcoming iPhone OS 4.0.
This new OS version will provided for the iPad this fall alongside iPhone 3G/3GS and iPod Touches 2G/3G this summer. Developer builds are already available and some videos of the new features like multitasking (technically it’s just an illusion though) already fill up the internet tubes.
With the recent news about libimobiledevice and native Linux support for these devices some important questions rise that i’ll try to answer:
- First of all: Will the iPad blend? Yes it will.
- Will the iPad (using OS 3.2) work with libimobiledevice? Yes it will. We tested access and all tools work as expected. Changes are in GIT and support arrives in the next releases.
- So everything works? Not everything. The iPad uses a “DBVersion 5” for it’s music database and apparently a new hash algorithm. However, we’re already looking into it and hope to have everything working before iPhone OS 4.0 arrives to keep people syncing fine.
- Will iPhone OS 4.0 be supported by libimobiledevice? Access and tools should work fine. However, the music database hashing has changed with OS 3.2 again. As the OS will also be used on current iPhone and iPod Touch models, libgpod will have to gain support to support the new hashing aswell.
- Is this cat and mouse game never going to stop? In the context of the music database iTunes is managing: It won’t. New features, like those found in iPhone OS 4.0 (mainly for books), require changes to the music database format and new iTunes versions. So whenever something new will be added, things will have to be altered to work. However the basic underlying protocols used by libimobiledevice should remain stable.
If you have more questions just add a comment and i’ll try to add them to the list.
The libimobiledevice preliminary website has also gained a FAQ, especially for those who seem to hit a bug which boils down to “I can’t sync music to the device but I see it was copied!”. If you don’t have an “iTunes_Control/Device/SysInfoExtended” file on your device’s filesystem you are hitting this bug.
It was just fixed in libgpod 0.7.93 which is released now. For a manual fix just create the “iTunes_Control/Device” directory and run “ipod-read-sysinfo-extended
Expect a mini-series soon explaining the tools one can use on Linux to access the devices. Although you can already check out a very nice video created by an early tester “masterofabortions” which already shows some of the tools in action. Great work! Mind though, that this is not just Ubuntu specific.
Icon copyright by Hylke Bons, available in the gnome-icon-theme-extras package.