jueves, 24 de julio de 2008

Usando una PocketPC en Linux (I): Conexión y configuración

   Una vez que decides cambiar de windows a linux haces una lista con los programas que utilizas para buscar sustitutos en linux y poder seguir trabajando como antes. Poco a poco vas adaptándote a esos nuevos programas y por fin te queda muy poco por migrar. Algo que he ido dejando ha sido la sincronización entre mi PocketPC y Linux.
  • Lo primero que tenemos que hacer es conectar la PocketPC a la docking y ver si linux la reconoce sin problemas.
    ivan@doraemon:~$ dmesg
    [784.372804] usb 1-2: new full speed USB device using uhci_hcd and address 5
    [784.539787] usb 1-2: configuration #1 chosen from 1 choice
    [784.542744] ipaq 1-2:1.0: PocketPC PDA converter detected
    [784.544972] usb 1-2: PocketPC PDA converter now attached to ttyUSB0
  • Ahora instalamos los paquetes necesarios para la comunicación con la PocketPC.
    ivan@doraemon:~$ sudo apt-get install synce-serial synce-dccm librra0 librra0-tools librapi2-tools
  • Durante la instalación de Synce tendremos que configurarlo. Con las opciones que aparecen por defecto es más que suficiente. El DNS sólo lo rellenaremos en caso de que queramos navegar desde la PocketPC.
    Puerto: /dev/ttyUSB0
    IPs: 192.168.131.102 y 192.168.131.201
    DNS:
  • Configuramos Synce y le indicamos dónde está la PocketPC:
    ivan@doraemon:~$ sudo synce-serial-config ttyUSB0

    You can now run synce-serial-start to start a serial connection.
  • Ejecutamos dccm que es el demonio encargado de gestionar la conexión con la PocketPC:
    ivan@doraemon:~$ dccm
  • Por fin, iniciamos la conexión con la PocketPC:
    ivan@doraemon:~$ sudo synce-serial-start

    synce-serial-start is now waiting for your device to connect

  •    Y listo, si todo ha ido bien ya tendremos nuestra PocketPC conectada a Linux. Puede que todavía en la PocketPC no se haya detectado la conexión, en este caso lo único que tenemos que hacer es ejecutar a mano ActiveSync.

       Una vez conectada, vamos a probarlo y a ver cómo gestionarla:
  • Por ejemplo podemos hacer un ping a la IP que configuramos al instalar Synce:
    ivan@doraemon:~$ ping -c 2 192.168.131.201
    PING 192.168.131.201 (192.168.131.201) 56(84) bytes of data.
    64 bytes from 192.168.131.201: icmp_seq=1 ttl=128 time=2.94 ms
    64 bytes from 192.168.131.201: icmp_seq=2 ttl=128 time=2.79 ms

    --- 192.168.131.201 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1003ms
    rtt min/avg/max/mdev = 2.799/2.873/2.948/0.091 ms
  • También podemos, por ejemplo, ejecutar synce-pstatus para ver la información de nuestra PocketPC como la versión del sistema operativo, la batería restante,...:
    ivan@doraemon:~$ synce-pstatus
    Version
    =======
    Version: 4.21.1088 (Microsoft Windows Mobile 2003 Pocket PC Phone Edition)
    Platform: 3 (Windows CE)
    Details: ""

    System
    ======
    Processor architecture: 5 (ARM)
    Processor type: 2577 (StrongARM)
    Page size: 0x10000

    Power
    =====
    ACLineStatus: 00 (Offline)

    Status for main battery
    =========================
    Flag: 1 (High)
    LifePercent: 55%
    LifeTime: 32895
    FullLifeTime: 7048

    Status for backup battery
    =========================
    Flag: 1 (High)
    LifePercent: 100%
    LifeTime: Unknown
    FullLifeTime: Unknown

    Store
    =====
    Store size: 69423104 bytes (66 megabytes)
    Free space: 35657576 bytes (34 megabytes)

    Memory for storage: 69611520 bytes (66 megabytes)
    Memory for RAM: 59920384 bytes (57 megabytes)

  •    Hay más comandos con los que poder juguetear e interactuar con nuestra PocketPC, siendo la mayoría similares a los equivalentes desde línea de comandos: ls, mv, rm, mkdir,...: synce-pls, synce-pmv, synce-prm,...

       También podemos configurar la sincronización con Evolution tanto de los contactos, las tareas o las citas. Para ello es necesario instalar adicionalmente el paquete synce-multisync-plugin. Aunque he estado probando la sincronización de las citas, tareas y contactos, no es algo a lo que le de mucha importancia porque ni siquiera lo hacía en windows, así que en linux tampoco lo voy a usar. Sólo quiero comentar que al menos en mi caso la sincronización me lió una buena puesto que me duplicó contactos y citas en la PocketPC y luego los tuve que ir borrando a mano. En fín, un aspecto a mejorar...

       Seguimos. Cada vez que conectemos nuestra PocketPC tenemos que ejecutar tanto dccm como synce-serial-start, éste último como root. Para solucionar este pequeño problema podemos hacer uso de las reglas udev. Tenéis un excelente artículo en el blog de Vicente Navarro.

        Creamos la regla y la cargamos:
    ivan@doraemon:~$ sudo vi /etc/udev/rules.d/60-ipaq.rules
    BUS!="usb", ACTION!="add", KERNEL!="ttyUSB*", GOTO="synce_rules_end"
    RUN+="/usr/bin/synce-serial-start"
    LABEL="synce_rules_end"

    ivan@doraemon:~$ sudo /etc/init.d/udev reload
    * Reloading kernel event manager... [ OK ]

       Luego, si trabajamos por ejemplo con Ubuntu, desde el menú System->Preferences->Sessions añadimos que dccm (/usr/bin/dccm) se ejecute al comienzo de la sesión y listo. Ahora cada vez que conectemos la PocketPC se conectará automáticamente al ordenador.

    17 comentarios:

    amoyse dijo...

    Has resuelto el tema de instalar programas? los que hay que instalar utilizando activesync en windows?

    Iván dijo...

    Hola amoyse,

    a esa pregunta te respondo en el siguiente artículo de la serie. Paciencia que lo estoy terminando.

    Saludos, Iván.

    amoyse dijo...

    despues de 2 años intentandolo creo que puedo esperar a que termines el articulo :)
    Gracias.

    Taber dijo...

    Como siempre, Iván, gran articulo, me pondre manos a la obra en cuanto pueda, para tener mi ubuntu sincronizado con mi pda.

    Pero voy a hablar de otro tema, para ampliar un poco lo que cuentas para los que no podemos eliminar el Windows al 100% de nuestra vida... y es la dependencia en Windows de ActiveSync y Outlook.

    Para los que no podemos usar linux, y nos toca usar Windows (en el trabajo), deciros que ya no hay que estar atado a el maldito Outlook, si no que hay un plugin para Thunderbird+Lightning en Windows, llamado BirdieSync que funciona perfecto y se integra a la perfección entre el ActiveSync y Thunderbird.

    Si nos queda mas remedio, usarlo.

    Un saludo, Iván.

    Iván dijo...

    Hola,

    [amoyse]: Como ya he dicho en unos días (si todo va bien estará terminado el artículo). Gracias por la paciencia.

    [Taber]: Muchas gracias por tu información, no conocía ni BirdieSync ni Lightning. Los tendré en cuenta si tengo que volver a windows para sincronizar la PocketPC.

    Saludos, Iván.

    RuBiCK dijo...

    Que recuerdos, cuando hace tiempo me pegué también con esto...
    No digo nada más por que seguro que ya lo tienes previsto, así no desvelo nada :P

    Yo precisamente tengo una Ipaq 2210 que no se ni donde está asi que imaginate lo que la uso, lo mismo la "linuxeo" :)

    Iván dijo...

    Hola RuBiCK,

    gracias por no adelantar nada. Si finalmente me dejo algo en el tintero, por favor ponlo en los comentarios y así todos nos enteramos.

    Si finalmente encuentras la ipaq y te animas a instalarle linux, no dejes de contárnoslo. A ver si saco un rato e investigo en ese sentido.

    Saludos, Iván.

    Alfredo dijo...

    Encantado de saludarte. Una pregunta a ver si puedes ayudarme. ¿Qué hacer si linux no reconoce la PDA? En la primer paso obtengo:

    dmesg

    [148749.207012] usb 3-1: new full speed USB device using uhci_hcd and address 3

    [148749.413482] usb 3-1: configuration #1 chosen from 1 choice

    [148749.571967] rndis_host 3-1:1.0: RNDIS_MSG_QUERY(0x01010101) failed, -110
    [148749.571975] rndis_host 3-1:1.0: rndis get ethaddr, -110

    [148749.571996] rndis_host: probe of 3-1:1.0 failed with error -110

    Desde ahí no he podido continuar. Un saludo y gracias.

    Iván dijo...

    Hola Alfredo,

    me temo que no puedo ayudarte. Puede que tu PocketPC sea muy moderna (o antigua) y no esté soportada, puede que la versión del kernel tenga algún bug (intenta actualizar el kernel),...

    Lamento no poder decirte nada más.

    Saludos, Iván.

    Anónimo dijo...

    Hola Iván.

    No voy a decirte si tus instrucciones me han funcionado o no porque no he empezado siquiera, ya que tengo un problema inicial que quiero consultarte.

    Tengo una xda flame con windows mobile 5 y nada más conectarla al puerto USB, la configuración de red de ubuntu pierde los DNS.

    Casi que he renunciado a sincronizar la PDA pero, a veces, lo único que necesito es recargar la batería a través del USB y me da mucho por (...) tener que entrar a configurar manualmente la red para poner otra vez los DNS.

    ¿Es esto normal?

    Alf

    PD. Por cierto, el sistema de verificación visual para publicar en este blog, no me funciona con firefox en ubuntu... :(

    Iván dijo...

    Hola Alf,

    la verdad, respecto a que se pierde la configuración de la red al conectar la PDA me parece algo muy extraño. A mi no me ha ocurrido nada similar y no sabría decirte a qué puede ser debido, lo siento.

    Respecto al captcha, eres el primero que se ha quejado al respecto. Con eso tampoco puedo hacer mucho porque es google quien lo controla, pero este comentario te lo estoy escribiendo desde Ubuntu 8.04 con Firefox 2.0.0.16 (sí, todavía no me he actualizado a la 3).

    Saludos, Iván.

    Anónimo dijo...

    Hola.

    Creo que, ya que me he decidido, voy a preguntar en los foros generales de ubuntu a ver si alguien sabe algo.

    Si consigo arreglarlo, ya intentaré seguir tu manual.

    Muchas gracias.

    Por cierto, con el Opera no hay problemas con el "captcha"... :)

    Un saludo.

    Iván dijo...

    Hola Alf,

    suerte y si lo consigues cuéntalo por si a alguien más le puede resultar útil.

    Saludos, Iván.

    Anónimo dijo...

    Hola, la verdad es que soy un poco novato en el linux y estoy abandonar el windows definitivamente. El problema es que empecé a seguir un manual para hacer todo esto que tu explicas aqui, pero la diferencia es que ese manual era demasiado escueto.
    Mi problema creo que está en la instalación de synce, que modifique los valores que venían por defecto (en el otro manual no venia nada de esto) y ahora no se como volver a modificarlos, he desinstalado synce y no me vuelve a salir el panel de configuración.
    Creo que es algo que modifiqué en la configuración porque ahora me sale:
    usb 1-2: PocketPC PDA converter now attached to ttyUSB1
    en vez del ttyUSB0 que debería ¿no?

    Otra cosa es que cuando tecleo dccm me dice que el comando no existe, lo mas parecido que he encontrado es odccm.

    Estoy utilizando Ubuntu 8.10

    Gracias por tu tiempo

    Iván dijo...

    Hola Anónimo,

    el puerto en el que tengas conectada la PocketPC es indiferente, tienes que utilizar el que te detecta linux.

    El comando dccm es para PocketPc hasta WM2003SE. Para WM5 y WM6 deberías utilizar el odccm que comentas.

    Saludos, Iván.

    Anónimo dijo...

    Gracias Iván, escribo desde ubuntu 10.04 LTS, queriendo trabajar con una PDA Pocket PC 2003.
    *_ La salida de dmesg es muy grande, quizás mejor escribir en la terminal: dmesg | grep PDA
    *_ Los paquetes de synce diferentes utilizados por mi son: odccm que sustituye al dccm

    Iván dijo...

    Hola Anónimo,

    sí, como bien dices odccm sustituye a dccm, pero creo que sólo sirve para WM5 y posteriores. Si synce ya no está en los repos, siempre lo puedes descargar de la web e instalarlo a mano.

    Saludos, Iván.

    Publicar un comentario