Ipod touch en debian
Recientemente he adquirido un ipod touch y me dispongo a contaros mis experiencias con el aparato usándolo en linux.
Contenido
- 1 Hardware
- 2 Software
- 3 Lo que nos depara el futuro
- 4 arrancandolo y primera ejecución
- 5 Downgrade a 1.1.1
- 6 Downgrade de 1.1.3 a 1.1.1
- 7 Jailbreak
- 8 Jailbreak 1.1.4 con ziphone y de por qué no usarlo
- 9 supuesto jailbreak 1.1.4
- 10 Iphone module, o de cómo cargar el iphone/iTouch en linux
- 11 Montando el Dispositivo
- 12 Transeferecia de archivos con Amarok
- 13 continuará
Hardware
Voy a empezar con una pequeña descripción del aparato. Se trata de una especie de iphone sin teléfono, una cosa como una pda algo extraña que apple vende como reproductor mp3. En cuanto a hardware dispone de arm 11 a533 Mhz e incluye aceleración 3D. 128 mb de Ram, 8 o 16 gigas de memoria flash, wifi 802.11 a/b/gy lo más molón: una multitactil (a lo minority report) pantalla de 4,3 pulgadas así como unos acelerometros para que el dispositivo sepa si esta de pie o tumbado. la pantalla no es la típica ultra sensibe de las pdas, sino que tiene un vidrio bien robusto, para tocarlas bien sin miedo
Software
en cuanto a software: corre con leopard y como interface gráfica usan springboard. el manejo esta diseñado De serie incluye:
-music, una aplicación para escuchar la musica tal cual los ipod de siempre solo que un poquito mas molona.
- videos, una aplicacion para ver videos que le copiemos desde nuestro pc (aun no lo he hecho)
-photos, lo mismo que los videos pero con fotos
-itunes, tienda online para comprar canciones "on the go".
estas son las aplicaciones que estan disponibles en el acceso rápido. luego en el "escritorio" nos encontramos con:
-Safari navegador web reduzido pero que funciona muy bien con, incluye historial, favoritos, pestañas y lo molon es la navegación haciendo zoom a lo minority report. con dos dedos
-Youtube- visor de videos youtube, ya que por desgracia el aparato aun no tiene flash player
-calendario - un calendario para ver la fecha, etc a partir del firmware 1.1.2 tambñien te permite crear eventos (cumpleaños, citas etc)
-contactos una agenda de contactos bastante completa, sólo le echo en falta la habilidad de organizar los contactos en grupos.
-Hora - como nó, un reloj para ver la hora pero tiene unas cuantas funcionalodades q uno nunca aprecia hasta que las necesita, por ejemplo un cronometro con cuenta vueltas, una cuenta atras, la posibilidad de definir varios relojes para diferentes zonas horarias. etc.
-calculadora Para mi gusto demasiado básica, es una calculadora bonita pero le faltan calculos que solemos usar los "freaks", algo tan básico como raíces, exponentes, factoriales etc
Y si no me he olvidado de nada Esto es lo que trae de serie el firmware 1.1.1 y 1.1.2 ya veremos lo que nos deparan futuras actualizaciones.
Actualizacion: el nuevo firmware 1.1.3 incluye las siguientes aplicaciones, que también estan disponibles vía installer (jailbreak) pero esta versión aun no esta "jailbroken" asi que no podremo usar las demas aplicaciones
-Mail - un muy util gestor de correo con soporte impa, pop, exchange y aol,gmail, yahoo y.mac de forma directa (es recomendable usar una configuracion imap para gmail, ya que la que trae de configuracion rápida es pop3.
- mapas - google maps en el touch hay que decir algo mas? pues si, el manejo es completamente a lo minority report, pero necesitamos de una conexion,a internete, ya que el cahche q guarda da pena.
- El timepo- aplicacion que descarga informacion metereológica de yahoo, para casi cualquier ciudad del mundo, tiene una prevision de una semana y permite añadir múltiples ciudades
-notas-una Bonita aplicacion para guardar notas, es muy útil pero no hace nada nuevo, solo es bonita
-cotizaciones - aplicacion para ver las coticaciones de bolsa (no la he probado, ni tengo intencion, son de ese tipo de cosas que necesita quien lo necesita, pero es un paso para que los ejecutivos usen el iTouch como pda)
Lo que nos depara el futuro
En esta seccion iré añadiendo detalles acerca de futuros pasos que va a dar apple con su iTouch, ya que este es el dispositivo que tengo, pero iguaal también es aplicable al iphone.
1- mobileAddressbook (amos la agenda) tndrá soporte de grupos, es decir: ya la tiene si modificamos la base de datos a mano, pero la aplicacion lo hará solita algun día, sea por que alguien lo desbloquea en la configuracion, o por que apple decida hacerlo.
arrancandolo y primera ejecución
la primera vez que queramos ejecutarlo vamos a necesitar un itunes, sea en win o en mac, entonces el dispositivo intentara actualizarse y sincronizarse, yo itente mantener ese proceso lo mas corto posible.
Downgrade a 1.1.1
Puesto que el jailbreak solo funciona en el firmware 1.1.1 y mi dispositivo ya traía el 1.1.2 he tenido que hacer un downgrade, para ello lo enchufamos al itunes ( en mi caso el 7.5 de windows) vamos a actualizar dispositivo y mantenemos pulsado alt+ Crtl mientras pulsamos el boton de actualizar. así en vez de buscar una actualización por internet nos perimite escoger un archivo. le pasamos pues una imagen de un 1.1.1 y al acabarle proceso tendremos un flamante 1.1.1
Downgrade de 1.1.3 a 1.1.1
Si eres de los que por equivocación o por cualquier otra causa has echo un upgrade al nuevo firmware de apple (usando itunes) te darás cuenta de que el proceso normal para realizar un downgrade ya no funciona, así que habra que usar otro metodo.
Este metodo lo encontré en: http://www.tuaw.com/2008/01/16/downgrading-your-1-1-3-iphone-or-ipod-touch/ pero la esplicación deja algo que desear así que intentaré hacerlo mejor y en castellano.
1- Obten una version nueva de iphuc, este es igual el paso mas dificil puesto que no me resulto nada facil encontrar una version de iphuc. iphuc es un cliente de linea de comandos para el iphone/itouch. podemos ir a la web del proyecto, descargarnos el código, complicarnos la vida compilando, mirando código etc o usar un ejecutable windows que os dejo [1] este zip ya contiene las librerias que tuve que ir buscando por internet para poder lanzar el programa.
2- encuentra tu imágen/copia del firmware (en este caso la imágen de un firmware 1.1.1) y la extraemos (se trata de un zip renombrado a ipsw)
3- dentro de la carpeta firmware, recién descomprimida, localizamos el archivo algo.WTF y lo copiamos dentro de la misma carpeta del ejecutable iphuc
4- este paso lo he echo un poco distinto. lanzamos iphuc que nos dirá algo sobre "esperando iphone" y entonces enchufamos el iphone/itouch en modo recuperacion al pc. (esto se hace de la siguiente manera: apagamos el dispositivo, una vez apagado pulsamos el boton de menú y sin soltarlo, enchufamos el dispositivo al usb del pc) en ese momento el itunes deberia de reconocer el iphone/itouch en modo recuperacion, cerramos itunes.
5- Desde el iphuc ejecutamos "filecopytophone ruta al archivo WTF" y como lo hemos copiado en la misma carpeta deberia de ser directamente: "filecopytophone arcivo.WTF"
6 - ahora ejecutamos "cmd go" desde otra vez desde el iphuc.
una vez echos estos pasos podremos restaurar el firmware 1.1.1 siguiendo la guía del apartado como si un firmware 1.1.2 se tratase.
Notas: en la guia cuentan algo de un error 1015 y que este se soluciona ejecutando cmd fsboot desde el iphuc
Jailbreak
El "jailbreak" es un modo de crackar, o liberar los iphne/iTouch para poder instalar aplicacionbes de terceros, de echo el jailberak consiste en usar un expliot de archivos tiff para copiar un gestor de aplicaciones al dispositivo. para ello abrimos el navegador safari y nos dirigimos a http://jailbreakme.com [2] y elejimos la opcion de instalar appsnapp. despues de unos momentos tendremos el installer en nuestro dispositivo.
Jailbreak 1.1.4 con ziphone y de por qué no usarlo
El caso es que hace unos dias apple ha lanzado un firmware nuevo para los dispositivos ipod touch y iphone. este firmware principalmente resuelve errores del firmaware anterior y no trane niguna novedad.
para realizar el jailbreak podemos usar una aplicación que se llama ziphone prinzipalmente desarrollada para los iphone y el resultado (despues de esperar a la version 2.6b (resuelve el error del ipod touch de 16g)) es que tenemos un ipod touch con version 1.1.4 jailbroken pero mas inestable que windows 95 y cosa que resulta tan desagradable que a mi no me duro ni 10 minutos hasta que volviera a poner el 1.1.4 original y cerrado
Por eso NO LO HAGAIS DE ESTA FORMA!!!! no compensa
supuesto jailbreak 1.1.4
al parecer existe otra manera de obtener el jailbreak 1.1.4 la cual no he probado aún.
el proceso a grandes rasgos es: paritr de un 1.1.1 jailbroken, pasar al 1.1.2 usando el jailbreak especifico para esa version, y de ahi instalar un repositorio en intaller.app el cual nos dara acceso al mobile jailbreaj 1.1.4 (el proceso tarda sobre mediao hora) y nos instala directamente un firmware 1.1.4 en nuesto ipod.
lo dicho, no testeado, cuando lo pruebe os comento
Iphone module, o de cómo cargar el iphone/iTouch en linux
Bueno, Unas de las primeras cosas que me encontré buscando información, antes de comprar el dispositivo era que no era posible cargar la batería en un pc que no tuviera itunes instalado, ergo linux no carga.
Pero al poco rato encontré varias webs que documentan bastante bien el proceso a seguir para compilar un módulo para nuestro kernel que le manda las señales al dispositivo, para que este no se apague solo, sino que siga cargándose.
si bien ya he documentado esta sección en Touchdev.net [3] en esta seccion [4] vamos a ver el proceso en español pero con algo menos de detalle asumiendo ciertos conocimientos a la hora de hacer ciertas cosas.
1- preparamos nuestra maquina para para compilar módulos, esto se simplifica mucho con module-assistant ejecutando m-a prepare, tmabién debemos de tener un kernel al menos 2.6.22
2A- El camino largo: descargamos el iphone modulue de [5] lo descomprimimos y editamos el archivo iphone.c, aquí buscamos la linea #define IPHONE y definimos 0x1290 para el iphone y 0x1291 para el iTouch.
Luego hemos de añadir la linea udev->autosuspend_disabled = 1; para que el dispositivo no se suspenda, quedando el resultado así:
- static int iphone_probe(struct usb_interface *intf,
- const struct usb_device_id *id)
- {
- struct usb_device *udev = interface_to_usbdev(intf);
- if (udev->actconfig->desc.bConfigurationValue == 3) {
- dbg(&udev->dev, "Configuration changed");
- return -ENODEV;
- }
- /* turn the power on */
- select_configuration(udev);
- udev->autosuspend_disabled = 1;
- /* we don't really want to bind to the device, userspace programs can
- * handle the syncing just fine, so get outta here. */
- return -ENODEV;
(nota: no es imprescindible este paso, y no estoy seguro de que funcione, además creo que el no suspender también se puede definir en la configuración del dispositivo.)
Editamos el makefile quedando algo así:
- #--- Makefile~ 2007-08-23 03:21:12.000000000 -0400
- #+++ Makefile 2007-08-24 07:58:32.000000000 -0400
- #@@ -1 +1,7 @@
- obj-m := iphone.o
- all:
- make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
- clean:
- make -C /lib/modules/$(shell uname -r)/build M=$(PWD) c
2B- El camino corto: simplemente descargaros el archivo zip [6]que ya he modificado yo. Este es para el iPhone, asi que si quereis usarlo con un iTouch debereis cambiar la linea #define IPHONE y poner 0x1291 para el iphone.
3 - Compilando Para este paso solo debería hacer falta situarnos en la carpeta en donde hemos descomprimido/modificado los archivos, abrir una terminal root y ejecutar make all obteniendo un archivo iphone.ko
todasestas acciones han de ejecutarse como root
Para insertar el módulo es: insmod iphone.ko
pero para que funcine bien debemos de copiar iphone.ko a /lib/modules/ - your kernel- /kernel/drivers/usb/gadget y ejecutar depmod -ae ahora podremos encontrarlo con modprobe
para que nos cargue el modulo al iniciar la maquina, añadiremos el nombre del mismo, iphone, al final del archivo /etc/modules
Nota: yo he tenido errores a la hora de compilar el módulo por que el directorio contenia un espacio en su nomnbre.
material de referencia, puntos de informacion par este modulo:
Javier Aroche's blog [7]
beGNU blog [8]
ubuntu forum [9]
Montando el Dispositivo
Con la nueva jugada de apple, a la hora de encriptar las conexiones usb a los nuevos ipod, los usuarios han desarrollado otras maneras de "sincronizar" música con los iTouch/iPhone que consiste en montar las carpetas interesantes via sshfs
Para poder hacer esto, vamos a necesitar un dispositivo "jailbroken" y con BSDutils y OpenShh instalado, para ellos simplemente seleccionamos ambos paquetes y le damos a instalar en nuestro dispositivo.
por otro lado ahora podríamos instalar y configurar sshfs de tal manera para poder montar el dispositivo y acceder a él, pero para facilitarnos la tarea, los chicos de Ipod convinience https://launchpad.net/ipod-convenience/ han hecho unas pequeñas herramientas que nos ayudaran a la hora de montar nuestro dispositivo.
Para instalarlas añadimos deb http://ppa.launchpad.net/ipod-touch/ubuntu gutsy main a nuestro souces.list, e instalamos ipod-convinience. Ya sé es un source de ubuntu y nosotros usamos debian, no importa la version que yo he usado 0.4 y sin problemas. nota: si en vez de añadir la fuente solo quereis usar el archivo.deb, éste depende de libgpod3 y sshfs
instalamos ipod-convinience y en la configuracion nos pedira un nombre o la ip del dispositivo, yo personale mente prefiero poner como nombre ipod y lego añadir/modificar la ip del cacharro en /etc/hosts. en segundo lugar nos pedirá el punto de montaje que para mi parecer /media/ipod es mas que correcto.
No os olvideis de comentar la linea en el sources.list por que ese repo tiene mas cosas y no queremos acabar con un sistema debian-ubuntu hibrido y roto
Pare evitar problemas comprobamos que /media/ipod tenga permisos de nuestro usuario, y en su defecto correjimos eso, yo por ejemlo le hice un chown odo:odo /media/ipod. También tendremos que añadir nuestro usuario al grupo fuse en /etc/group la linea en mi archivo queda así fuse:x:118:odo tras este paso tendremos que cerrar sesion y volver a entrar
Una vez instalado ipod-convinience, libgpod3 y sshfs y correjidos los pasos anteriores ya podremos montar y acceder a nuestro ipod simplemente ejecutando iphone-mount o ipod-touch-mount
Ahora nos pedira la contraseña que será dottie en el firmware 1.0 y alpine en el 1.1 y una vez introducida, tendremos los direcctorios interesantes montados en /media/ipod
Transeferecia de archivos con Amarok
Una vez montado el dispositivo en /media/ipod usando la seccion anterior, solo nos faltan pocos pasos para poder transferir canciones a nuestro ipod.
mas que acciones, lo que debemos hacer es tener instalado amarok 1.4.8 o superior y libgpod3 0.6 o superior (en algunas distros el paquete se llama libgpod) en debian yo he instalado ambos desde SID y listo.
una vez echo esto, abrimos amarok, vamos a preferencias > configurar amarok > dispositivos > añadir un dispositivo.
En la ventana que nos sale escogemos dispositivo de media ipod, le damos un nombre que nos guste como iTouch y añadimos el punto de montaje /media/ipod
Luego una vez montado dentro de amarok en la seccion de dispositivo hacemos click sobre el icono de dispositivo y seleccionamos establecer dispositivos > Touch (aunque ponga readonly, este no es el caso)
Pues ahora ya podremos escuchar la musica que tenemos en el Touch, transferirla del Touch al pc, y pc-Touch simplemente arrastrando, si en el momento de arrastrar, en amarok tenemos las carátulas configuradas, estas también se transfieren.
Cuidado si usasis la opción de actualizar gráficos, lo mas probable es que se os corrompa la base de datos de portadas en el ipod con la consecuencia de que tendreis que borrar toda vuestra coleccion de música y volver a transferirla.
continuará
En los próximos días iré completando estas sección contando que aplicaciones merecen la pena instalar, la configuracion de las mismas, los sources que uso en el Touch etc
Que la fuerza os acompañe