AGGIORNAMENTO: Banshee 1.9 supporta ora il mio Ipon Nano 5g
Niente da fare, Floola e la sua dannata libreria zlib 😡 mi sbarravano la strada per accedere al mio nuovo iPod nano 5g (di cui abbiamo già parlato in un precedente articolo), proprio non mi andava giù di dover usare la postazione con Windows 7 (tra l’altro con la licenza beta in scadenza) e iTunes.
Dopo aver provato Banshee beta, Rhythmbox, Amarok, Floola, YamiPod e altro e aver consultato il lungo topic di ubuntuforums mi ero quasi arreso, finché non ho trovato la illuminante guida di blog.reloweb.eu ecco come ho risolto:
Si tratta di patchare Libgpod (una libreria che permette di accedere ai contenuti del dispositivo) e di utilizzare l’ultima versione sperimentale di GTKpod, il front end grafico per connettersi al lettore, tutto questo in attesa di un aggiornamento ufficiale dei software in questione che tenga conto del nuovo ID di accesso al database del dispositivo.
Ecco come procedere con la nostra Debian (ho aggiunto solo qualcosa rispetto alla guida linkata a cui debbo pieno merito):
Se lo abbiamo rimuoviamo GTKpod:
$ apt-get remove –purge gtkpod
Installiamo libgpod4 e python-gpod
$ apt-get install libgpod4 python-gpod
Installiamo le dipendenze necessarie per compilare GTKPod e Libgpod:
$ apt-get install build-essential git-core libsqlite3-dev libsqlite3-0 autoconf flex gettext libglib2.0-dev libgtk2.0-dev libglade2-dev libid3tag0-dev libxml-parser-perl pkg-config automake gcc git-core gtk-doc-tools
Installare anche il pacchetto checkinstall se si intende creare il .deb
Scarichiamo Libgpod (SVN) da qui e la relativa patch da qui e scompattiamo entrambi gli archivi.
Ci ritroveremo quindi sul Desktop 3 cose:
– Cartella libgpod
– Patch itdb_sqlite.c
– Patch itdb_sqlite_queries.h
Copiamo le due patch nella cartella ~/Desktop/libgpod/src/
quindi:
$ cp itdb_sqlite* ~/Desktop/libgpod/src/
Compiliamo Libgpod:
$ cd ~/Desktop/libgpod/ $ ./autogen.sh $ make $ su $ make install (o checkinstall se si vuole il .deb, facendo attenzione ai campi release e version che debbono essere numerici).
Compiliamo GTKpod:
Procuriamoci l’ultima versione da SVN dando da un nuovo terminale il comando:
$ git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/gtkpod
Ci ritroveremo i sorgenti nella home che compileremo nel modo consueto:
$ cd ../gtkpod/ $ ./autogen.sh $ make $ su $ make install (o checkinstall se si vuole il .deb, facendo attenzione ai campi release e version che debbono essere numerici)
Linkiamo la nuova libreria per far si che GTKPod la riconosca:
$ cd /usr/lib/ $ su $ rm -rf libgpod* $ ln -s /usr/local/lib/libgpod.so.4
Per non ripetere quest’ultima procedura ad ogni aggiornamento di libgpod4 da Synaptic selezionate il pacchetto e fate Pacchetto>Blocca versione
Configuriamo l’iPod:
Colleghiamolo e diamo il comando:
$ su $ lsusb -v | grep -i Serial
Avrete un output come questo:
iSerial 3 000A27002037D4F4
Individuate tra gli ID presenti la stringa con 16 caratteri (ho evidenziato la mia) e copiatela nel file iPod_Control/Device/SysInfo in questa forma:
ModelNumStr: xC031 FirewireGuid: 0x000A27002037D4F4 (non dimenticate 0x)
Al posto del codice evidenziato usate il vostro ID di 16 caratteri.
Al posto di xC031 inserite il codice del vostro modello basandovi su questa lista:
8 Giga 16 Giga (silver) = xC027 (silver) = xC060 (Black) = xC031 (Black) = xC062 (Purple) = xC034 (Purple) = xC064 (Green) = xC037 (Green) = xC066 (Blue) = xC040 (Blue) = xC068 (Yellow) = xC043 (Yellow) = xC070 (Orange) = xC046 (Orange) = xC072 (Red) = xC049 (Red) = xC074 (Pink) = xC050 (Pink) = xC075
Nota: attenzione alla dicitura dei percorsi e all’uso corretto dalla barra \
Nel mio caso:
$ su $ gedit /media/IPOD\ DI\ FAB\/iPod_Control/Device/SysInfo Sostituite ad IPOD\ DI\ FAB\ il nome del vostro dispositivo ($ cd /media/ --> $ dir)
Generare l’HashInfo.
Andiamo in questa pagina e inseriamo il nostro famoso ID di 16 caratteri nel campo Your device UUID/FirewireID, c’è anche il classico capcha per la sicurezza.
Salviamo sul Desktop il file Hashinfo generato e piazziamolo in iPod_Control/Device/ del nostro iPod, quindi :
$ su $ cp ~/Desktop/Hashinfo /media/IPOD\ DI\ FAB/iPod_Control/Device/ (naturalmente al posto di /IPOD\ DI\ FAB/ usate il nome del vostro dispositivo)
Riavviamo.
Accederemo al programma da Applicazioni > Audio e Video > Gestore di iPod
Cliccare su Leggi gli iPod per connettere il dispositivo.
Possiamo eventualmente creare dei lanciatori con queste icone davvero ben realizzate.
Godiamoci finalmente il nostro iPod e mandiamo iTunes a quel paese (..ma che fatica) 🙂
Ho inserito i miei pacchetti .deb (AMD64) , per poterli usare occorre avere libgpod4 python-gpod e tutte le dipendenze utilizzate:
libgpod_5g_x64
gtkpod_5g_x64
Screenshots:
[nggallery id=16]
luca says
Grande!! aspettavo da tempo una guida così 🙂
fabrixx says
@luca
E funziona molto bene ti dirò, bisogna tenere d’occhio poi il sito di gtkpod per vedere quando integreranno la patch…
Ciao 🙂
gianpiero says
Ciao, ascolta la guida funziona anche per ipod video?
Se sì mi sai dire dove posso trovare il codice xC031 per ipod video 30 gb black.
Grazie
p.s.
Ho installato anche Rockbox come firmware alternativo, molto fico!!
fabrixx says
@gianpiero
Bello Rockbox e funziona bene?
Per il tuo modello, prova ad aprire il file:
/iPod_Control/Device/SysInfo
In effetti non ho trovato niente in proposito.
Mia sorella ha uno shuffle ma non ho provato con quello..
Ciao 🙂
Matteo says
Ho provato a fare come dici ma non riesco a andare avanti, mi sono bloccato a .7autogen.sh non riesco a trovare glib-gettext.. scusa se uso il tuop blog come un forum ma queste cose non le ho trovate da nessuna altra parte..
fabrixx says
@Matteo
Ciao, che distribuzione usi e a che passaggio ti blocchi di preciso?
Matteo says
Ciao,
innanzitutto grazie mille per questa utillissima guida, e soprattutto per la tua disponibilità.
Il problema è che non riesco ad installare libglib2.0-dev mi da un errore di dipendenze insoddisfatte:
I seguenti pacchetti hanno dipendenze non soddisfatte:
libglib2.0-dev: Dipende: libglib2.0-0 (= 2.16.6-3) ma 2.22.4-1~bpo50+1 sta per essere installato
E: Pacchetto non integro
Probabilmente è cosa banale ma non per me.. Ho provato comunque ad andare avanti con ./autogen.sh e, dopo aver installato da sorgente un altro po’ di pacchetti sono arrivato ad un punto morto.. mi dice:
Checking for required M4 macros…
glib-gettext.m4 not found
***Error***: some autoconf macros required to build libgpod
were not found in your aclocal path, or some forbidden
macros were found. Perhaps you need to adjust your
ACLOCAL_FLAGS?
e questo mi basisce..
fabrixx says
@Matteo
Sembra che ti manchino i pacchetti libtool e appunto libglib2.0-dev
Sembra che tu abbia una versione troppo recente di libglib2.0-0.
Che distribuzione usi?
Hai usato qualche repository alternativo?
Ciao 🙂
Matteo says
Scusa il ritardo ma devo aver fatto del casino grosso con queste librerie, non partiva più gdm e potevo smanettare solo da terminale (e non sono per niente bravo). Aveva dei problemi con libglib e l’unico modo è stato rimuovere lei e tutti i suoi annessi..
Ho debian 5.0.4 e ho messo un po’ di repositories in più (volatile, backports, e multimedia) sicchè è molto probabile che abbia ottenuto un pacchetto troppo nuovo.
Con tutto quello che mi è successo non sono così sicuro di volerci riprovare.. che tu sappia è la libreria o sono stato io ad aver incasinato la cosa?
è successo ad altri?
fabrixx says
Io ho provato sempre con Debian testing, immaginavo infatti che tu avessi qualche backports, dipende appunto da questo, le tue librerie vanno purtroppo in conflitto.
Attualmente su debian l’ultimo rhytmmbox mi legge l’ipod 5g e riproduce i brani, ma è impossibile aggiungere/cancellare.
Tutti sti programmi tipo rithmbox e banshee si appoggiano a questa benedetta libreria libgpod che va patchata.
Pare che un altro sistema sia usare Itunes su Virtualbox o floola
ma io ho 64 bit floola e non mi va.
Ciao 🙂
Massimiliano says
Dove trovo il codice del tipo “xC027″ per ipod video 5^ generazione white?? Grazie mille…
fabrixx says
@gianpiero
Ho gia provato a cercare i codici per gli Ipod Classic ma non ne ho trovati.
Antonio says
Ciao a tutti,
scusate se disturbo. Mi è capitata una cosa alquanto strana: sono riuscito a installare con successo gtkpod + libgpod ed sono pure riuscito a far funzionare il mio ipod nano 5G su Ubuntu (Lucid Lynx 10.4). Dopo qualche giorno di funzionamento, ad un certo punto mi sono ritrovato con l’Ipod a che dice “0 songs” (mi era già capitato, ma era bastato connetterlo ad iTunes per sistemarlo). Il problema ora è che iTunes mi dice che non può leggere il dispositivo, e che non mi resta altro che ricaricare il firmware e re-inizializzare. Ma la cosa grave è che appena torno a usare gtkpod vedo poi 0 brani e attaccandolo nuovamente ad iTunes mi dice di nuovo che non può leggere il dispositivo…
Qualcuno mi sa dire cosa può essere successo? vi ringrazio
Ciao
fabrixx says
@Antonio
Per ora a me invece tutto bene, ho Ipod nano 5G 16 Gb.
Sul momento non mi viene in mente nulla, provo ad informarmi.
Comunque spero davvero nel pieno supporto di Banshee che per ora mi legge solamente.