Como hacer que el iPhone / iPod Touch recarge la batería en Linux

Hace unos días descubrí con desagrado que mi iPod Touch (y por tanto el iPhone) no recarga la batería al conectarlo en Linux. Todo el problema es que hay que enviar una secuencia al iPod / iPhone cuando este se conecta al USB, así como hacer una pequeña modificación al Kernel de linux para que no suspenda el dispositivo y pueda cargar la batería sin problema.

Para que el iPod Touch / iPhone pueda recargarse en linux necesitamos al menos la versión 2.6.22 del Kernel, Ubuntu 7.10 (Gusty Gibson) ya incluye esta versión. Luego necesitamos bajar el iPhone Module, el modulo del kernel que se encargará de enviar los datos apropiados al iPhone.

Si tienes un iPod Touch, necesitas modificar el valor de #define IPHONE de 0x1290 a 0x1291. Luego para ambos iPhone y iPod hay que agregar la linea de código:

udev->autosuspend_disabled = 1;

Esto es para que el Kernel no suspenda el dispositivo. Yo agregue esta instrucción en la función iphone_probe en iphone.c, que al final quedó 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;
}

Para instalar este modulo (una vez modificado) debes ejecutar:

make -C /lib/modules/2.6.22-14-generic/build  M=`pwd` modules

Sino hay errores, con esto debería ser todo lo que debes instalar. En mi caso, ahora ya no tengo que arrancar windows para mantener con carga mi iPod Touch.

Etiquetas: , , , , ,

22 thoughts on “Como hacer que el iPhone / iPod Touch recarge la batería en Linux”

  1. Amigo… lo dices bien facil pero habemos muchos que no sabemos programar lenguaje C.. Oye que aplicacion necesito para poder compilar modulos y de donde saco el codigo fuente?

  2. Yo apoyo a Arturo Castillo… no se si podrias explicarlo de una forma para novatos, porque no todos somos tan duchos en linux. Yo apenas emigre desde windows y no quisiera regresarme.

  3. Si tienes un iPod Touch, necesitas modificar el valor de #define IPHONE de 0x1290 a 0x1291 ¿donde se modifica????

  4. Creo que si está liberado el Ipod Touch por Jailbreak, este carga, al menos en mi prueba que estoi haciendo en ubuntu 7.10 de momento parece que carga ^^ esperemos que la carga sea cierta 😀 Os sigo informando haber… 😛

  5. Para que me funcionase, antes de hacer el make tuve que hacer:
    sudo apt-get install linux-source
    y luego por supuesto:
    cd /ruta a la carpeta donde teneis descomprimido el iphone module/

    Espero que estos detalles sirvan a los que andan algo perdidos.

    @pepe: Para modificar el #define iphone, abre (con un editor de textos) el archivo iphone.c que encontraras cuando descomprimas el iphone module que hay que descargar. Allí, en la línea 25 aprox, está el #define iphone

  6. Javier Aroche:

    Si esa es tu forma de hacer que las personas usen Linux, dedicate a otra cosa. O, estas para ayudar o deja esto.

    Por lo menos de mi parte, no recomendaré este lugar a nadie, todo lo contrario, lo incluiré en una gran lista negra.

    Aprende, sé humilde.

  7. Me parece simplemente patético que la gente que lleva tiempo con Linux se tire el moco con el software libre y después traten a los neófitos (entre los que me incluyo) que usan ubuntu como si fuéramos windowseros. Claro, gente como tú, Javier Aroche, nacistéis enseñados, ¿no?

    ¿Acaso no te das cuenta de que si quieres cambiar algo las cosas, todos tenemos que hacer un pequeño esfuerzo? ¿No concibes que haya gente que quizás no sea tan buena con los ordenadores como tú, pero que aun así quieran dejar de usar los productos de la mayor multinacional del mundo?

    Si Linus Torvalds supiera lo que haces, te daría dos hostias.

    Me das una mezcla de asco y pena. Si en verdad quieres tener un producto exclusivo y elitista, cómprate un puto Mac.

    P.D. Y, si puedes, le pones línea de comandos, madafaca

  8. Si le preguntamos a Linus seguro responde que aprender a parchar y compilar el kernel es una de las cosas básicas que todo usuario de linux debe saber.

    Y deja de llorar porque en la última versión de ubuntu ya incluye este parche, solo actualizate.

    Y si no eres capaz de entender lo que dije en el post, tal vez debas conformarte con usar windows.

  9. Yo tengo un iPod Touch 2G y lo he recargado varias veces desde un portátil con Linux sin el más mínimo problema. Me lo reconoce como una cámara digital al igual que Windows y lo recarga sin más. Yo no sé qué haréis vosotros
    ¿Lo tenéis con el jailbreack (pirateado)? Posiblemente de problemas si ha sufrido esa modificación.

  10. Estoy harto de los imbeciles que amenazan con devolverse a windows solo porque no les sale algo en linux, por favor señores!!! Es como escupir la pastilla y entrar a la “matrix” de nuevo… en fin, encuentro el artículo interesante, lo que hay que esperar es que se pueda sincronizar el ipod touch con linux para descargar videos o canciones, o ya alguien sabe?
    Saludes desde Costa Rica (Comunidad Ubuntu)

  11. hijos de puta cuaticos de mierda, fanboys, no pueden tener 2 son todos gratis, yo uso debian para navegar y esas mierdas, windows para correr .exe’s y no andar weando con mierdas de cosas como wine y tonteras estupidas innecesarias. y tengo un mac para hacer el trabajo real sin problemas.

Comments are closed.