Posted on March 28, 2009 and tagged as linux.
Ich habe mir jetzt ein iPhone zugelegt und damit meinen iPod Touch ersetzt. Nur am Rande, wenn jemand überlegt sich eins dieser beiden Geräte zu zulegen, ich kann dazu nur sagen: "Mach es!!" :)
Ok aber jetzt zum eigentlichen Artikel und dem Grund warum ich diesen Artikel schreiben musste.
Anmerkung: Das iPhone und der iPod Touch verwenden die gleiche Software und somit sind folgende Informationen für beide Geräte gleich.
iPhone und iTunes
Bevor man das iPhone benutzten kann (telefonieren usw.) muss es via der iTunes Software aktiviert werden. Da ich ja Linux benutzte stand ich nun vor einem großen Problem, die iTunes Software gibt es leider NUR für MacOS und Windows! :( Also was nun? Mac kaufen ... zu teuer! Eigene Windows Partition aufm Laptop ... aber wie kann dieses Windows auf meine Musik von der Linux Platte zu greifen? Das einzige und kostengünstige: VMware!
iTunes in einem VMware Windows XP
Die VMware Installation ist sehr einfach (ja auch unter Linux), herunterladen, Installer aufrufen, weiter, weiter, fertig! Dann schnell ein Windows XP in der VMware installiert und über die VMware meinen Music Ordner dem Windows gegeben. Das iTunes heruntergeladen und installiert.
Das ist alles noch nicht die hohe Kunst, aber leider reicht das nicht um ein iPhone zu aktivieren bzw. zu syncen :(
Konfiguration von HAL
Wenn man in dem jetzigen Setup das iPhone am Computer anschliesst, sehen das Linux und das Windows das iPhone. Dadurch funktioniert das iTunes im Windows nicht richtig, es können manche USB Kommandos nicht ausgeführt werden. Die Lösung bring dein Linux dazu das iPhone zu ignorieren, aber wie? Die Antwort lautet: Sag dem HAL, das das iPhone ihn nix angeht :)
-
Finde die USB ID des iPhones heraus
root@...# lsusb [snip] Bus 002 Device 002: ID 05ac:1292 Apple, Inc. -
die USB ID (hier 05ac:1292) ist in der Hex Darstellung, das HAL braucht sie in der Dezimal Darstellung 1452:4754
-
in /etc/hal/fdi/preprobe/10-iphone.fdi folgendes eintragen
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2"> <device> <match key="usb.vendor_id" int="1452"> <match key="usb.product_id" int="4754"> <merge key="info.ignore" type="bool">true</merge> </match> </match> </device> </deviceinfo> -
HAL restarten und das Linux ignoriert das iPhone und das iTunes sollte ohne Probleme funktionieren :)