Os cuento cómo conectar el ODB Palm OS a Linux y cómo configurar la sincronización HotSync.
Introducción
He conocido a mucha gente que no ha conseguido hacer funcionar el PDA bajo
Linux. Lamentablemente, muchos de ellos lo han intentado y han acabado dejándolo
por imposible. Ésa es la razón de por qué escribo éste documento. No tienen
por qué reiniciar a Windows pudiendo utilizar Linux también para sincronizar
su ODB.
¿Qué necesitamos?
Obviamente un ordenador con Linux y un PDA con cradle USB. Necesitaremos
tener un kernel 2.4.x , cuanto más nuevo sea, mejor. La distribución da
igual en éstos casos. Antes de empezar, debemos estar seguros si nuestro
núcleo soporta USB. Para ello debemos comprobarlo utilizando la instrucción
"lspci -v".
lspci -v
Si ves algo como:
USB Controller: ......
Flags: .....
I/O ports at ....
Memory at .....
Configurar el kernel para dar el soporte USB y el Visor no es muy difícil.
Tan sólo debemos configurar varias opciones. Te recomiendo que lo hagas
bajo el sistema de ventanas y en un terminal escribas:
cd /usr/src/linux ; make xconfig &
Te aparecerá un cuadro con muchas opciones, de las cuales solo nos interesa
de momento "USB Support". Dentro de "USB Support" debemos activar varias
opciones. Si puedes ponerlas como módulos, mejor.
- USB support (CONFIG_USB)
- Preliminary USB Device Filesystem (CONFIG_USB_DEVICEFS)
- Controladora apropiada - UHCI, or OHCI (CONFIG_USB_UHCI, ó CONFIG_USB_OHCI)
- USB Serial Converter support (CONFIG_USB_SERIAL)
- USB Handspring Visor Driver (CONFIG_USB_SERIAL_VISOR) (es una opción
de Serial Converter)
Una vez configuradas las opciones, le damos a "Main Menu", "Save Configuration
& Exit" y nos retornará a la shell. Ahora escribimos:
make modules
make modules_install
Con esto debería bastar para dar el soporte USB al núcleo de nuestro sistema
operativo.
Ahora también debemos crear las entradas bajo el directorio /dev. También
como superusuario escribimos los siguiente comandos:
mknod /dev/ttyUSB0 c 188 0
mknod /dev/ttyUSB1 c 188 1
chmod 666 /dev/ttyUSB*
Con ello creamos los dispositivos que más tarde unirán nuestro ODB al sistema.
Para que os hagais una idea, el dispositivo /dev/ttyUSB1 es el que nos servirá
para la conexión entre el ODB y el sistema. Muchos de los programas de sincronización
buscarán el dispositivo /dev/pilot ó /dev/palm en nuestro sistema, así que
para crearlos ejecutaremos:
cd /dev
ln -s /dev/ttyUSB1 pilot
ln -s /dev/ttyUSB1 palm
El software de sincronización pilot-xfer utiliza /dev/pilot mientras que
coldsync utiliza /dev/palm.
Para los que me hayáis hecho caso y hayáis compilado el soporte USB modular,
necesitaréis cargar los módulos para hacer funcionar todo. Probad con:
/sbin/modprobe visor
/sbin/modprobe usb-uhci
/sbin/modprobe usb-ohci
Durante la carga de los módulos debería dar información sobre el proceso
y si se han cargado correctamente. Para comprobarlo, o bien en otra consola
o bien en la misma en la que estáis podéis escribir:
tail -f /var/log/messages (Se sale con Control+C).
Es importante que sepáis que /dev/visor ó /dev/ttyUSB* NO FUNCIONARÁ hasta
que el botón de HotSync no sea pulsado, por lo que tampoco os detectará
el ODB hasta que no le deis a dicho botón. Más claramente es que primero
habrá que darle al botón HotSync para que detecte el ODB y luego se sincroniza.
Software de sincronización
El funcionamiento del ODB en Linux no se parece mucho al de Windows. Para
sincronizar nos hacen falta un conjunto de programas que se encuentran en
el paquete "pilot-link". Depende de vuestra distribución, lo traeréis incluido
o no.En todo caso, si no lo tenéis o no encontráis el paquete, lo podéis
encontrar en
http://www.gnu-designs.com/pilot-link.La.
La última versión que yo conozco es la 0.9.5, pero una anterior tampoco
debería dar problemas.
Probemos, pues, el software de sincronizado bajo la consola:
- Vamos a nuestro directorio personal ($HOME)
cd $HOME
- Creamos un directorio para nuestros datos del PDA
mkdir DatosVisor
- Escribimos la línea de comando apropiada para sincronizar (¡NO DARLE
AL INTRO!)
pilot-xfer -p /dev/pilot -b DatosVisor
- Pulsamos PRIMERO EL BOTON DE HOTSYNC en el cradle e inmediatamente
después le damos a la tecla "intro" a la instrucción pilot-xfer.
Si nos da el error "unable to bind to the port", es que hemos ejecutado
pilot-xfer antes de darle al botón HotSync en el cradle. Vuelve a intentarlo.Si
no es así, no nos detecta nuestro ODB y deberás volver a seguir los pasos
de arriba.
Pilot-xfer es muy útil, sí, pero, ¿no hay algo más "bonito", más "visual"
ó más al estilo Palm Desktop de Windows? La respuesta es sí, tenemos varios
programas que imitan a Palm Desktop. Tenemos JPilot (el que uso yo, personalmente),
KPilot (KDE) y Gnome-Pilot (GNOME). Yo sólo conozco JPilot, así que sólo
hablaré de él :)
JPilot
El aspecto es muy parecido al Palm Desktop de Windows. Tiene los cuatro
botones de Agenda, Teléfonos, Bloc de Notas y Tareas arriba a la izquierda,
añadir nuevas entradas a la derecha, etc.
Un poco más abajo tenemos el botón Quit (Salir), el botón Sync (Sincronizar),
recordad que primero hay que darle al HotSync en el cradle y luego a éste
botón. El botón Backup que sirve para hacer copia de seguridad de todos
los datos de vuestro ODB.
¿Que cómo podemos instalar los nuevos programas que nos bajemos de Internet?
Muy sencillo, basta con descomprimirlos en un directorio temporal, si no
lo están ya y pulsaremos el menú "File" y a "Install".
El cuadro es idéntico al del Palm Desktop de Windows. Basta con que busquéis
el / los fichero(s) descomprimidos que hayáis bajado y le deis al botón
"Add". Cuando hayáis terminado, pulsad "Done" y en la próxima sincronización,
los programas se instalarán automáticamente.
¿Qué ocurre con programas como AvantGo? ¿Puedo sincronizar mis canales AvantGo
con Jpilot? Pues sí que se puede, existe un plugin para Jpilot que se llama
SyncMAL J-Pilot
De todas formas, yo apuesto más por "Plucker", es un programa de las mismas
características y mejor. Lo podéis encontrar en
http://plkr.org/
Conexión entre el PDA y Linux
Para aquellos que no lo sepan, con Linux también es posible conectar el
PDA a Internet mediante PPP. Así puedes probar tus programas de correo,
páginas web ..
Para comenzar, debemos preparar nuestro kernel para darle soporte PPP. Una
vez mas entramos al directorio /usr/src/linux y escribimos "make xconfig".
En la sección "Network Device Support" configuramos como módulo :
- PPP support (CONFIG_PPP)
- PPP support for async serial ports (CONFIG_PPP_ASYNC)
- PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY)
Cuando termines, pulsa sobre "Save & Exit". Ejecutamos los siguientes
comandos y tendremos los módulos compilados.
make modules
make modules_install
Ahora sólo nos hace falta un sencillo script para efectuar la conexión entre
el PDA y Linux mediante PPP. Con un editor de texto, creamos un fichero
que se llame vppp.sh y dentro escribimos:
/usr/sbin/pppd /dev/ttyUSB0 230400 10.1.1.3:10.1.1.10
local ms-dns 10.1.1.3 \netmask 255.255.255.0 persist passive noauth debug
\modeflate nobsdcomp noccp nopcomp proxyarp
Lo escribimos todo seguido. Lo guardamos, y le damos permisos de ejecución
con "chmod +x vppp.sh".
El modo de funcionamiento es simple, ejecutaremos el script después de pulsar
el botón HotSync del ODB. Cuando el ODB se conecta, el script hace varias
cosas: añadir la IP 10.1.1.10 y crear un host en tu ordenador que se llama
10.1.1.3
Si quieres utilizar el DNS de tu proveedor de internet, cambia el parámetro
"ms-dns 10.1.1.3" por la IP de tu proveedor. Por ejemplo: "ms-dns 195.235.113.3"
Para terminar, debemos configurar la conexión también en el ODB. Nos hace
falta un programa que se llama
LinkUSB.
- Vamos a Sistema -> Preferencias -> Red
- Creamos una conexión nueva y la llamamos "Red Local".
- El número de teléfono es "00" y debemos dejar el nombre de usuario
y la clave en blanco.
- En "Detalles", pondremos "Tipo de conexión PPP", "Intervalo de espera
inactivo" en apagado y también seleccionaremos la casilla de "Consulta
DNS" y "Dirección IP" automática.
- En el botón "Script" sólo debe poner "Fin".
Ahora, con conectarnos en el PDA, y ejecutar el script ya deberíamos poder
utilizar los programas de red en nuestro ODB.
Ni qué decir tiene que muchos de los programas que existen para Palm OS
no poseen conductos para Linux y que desgraciadamente muchos de ellos no
podrán ser utilizados más que desde Windows :(
Notas del Autor
Este documento lo he escrito en mis ratos libres y no me responsabilizo
de los daños que pueda causar en tu ODB.
Todas las marcas de los programas y compañías están registradas por ellos
mismos ó por sus fabricantes y yo no tengo nada que ver con ellos.
Agradezco el apoyo a todos los usuarios del canal #palm, en el que me llamo
AlucardX y a la gente que me ha ayudado en mis principios. Saludotes desde
Bilbao a tod@s :-)
Si encontráis algo que está mal o lo que sea, comunicádmelo por favor :-)