Utiliser un Palm avec Linux

J'ai tout récemment fait l'acquisition d'un PDA (Personal Digital Assistant, littéralement assistant numérique personnel, aussi appelé organiseur) de marque PALM et mon but est de le faire fonctionner sous Linux. Ceci étant complètement nouveau pour moi, j'avoue avoir été paniqué sur le fait que tout ça fonctionne correctement. Afin de me tranquiliser, je savais que au boulot, dans le pire des cas, je pouvais utiliser le logiciel fournis avec mon Palm pour ce qui est de l'installation de programme et sauvegarde.


1. Ma configuration

Afin de ne pas parler dans le vide, je vais détaillé au maximum ma configuration matérielle et software. Je dispose donc :

2. Mes problèmes et ses solutions

2.1. Choix du programme sur Linux : jpilot

Pas facile de savoir quel programme il est préférable d'utiliser. Néanmoins, mes quelques recherches sur internet mon fait d'emblé choisir jpilote. Les remarques sont toutes unanimes : C'est celui qui resemble le mieux à "Palm Desktop" sous Windows et surtout qui est le plus abouti. Gros avantage également, il ne dépend ni de KDE ni de GNOME (kpilot et gnome-pilot). Voyez sur PDACOOL ce qu'on en dit de jpilot.

J'installe donc jpilot de ma distib. A l'heure où j'écris ces lignes, il s'agit de la version 0.99.7.

2.2. USB device xx (vend/prod 0x830/0x61) is not claimed by any active driver

Euforique, je lance le programme jpilot, j'appuie sur le bouton de synchronisation du programme, celui-ci me demande d'appuyer sur le bouton HotSync ce que je fais. Et après ... ben rien, il ne se passe rien... En regardant les logs système (/var/log/messages) on voit ces quelques lignes :

usb.c: registered new driver serial
usbserial.c: USB Serial support registered for Generic
usbserial.c: USB Serial Driver core v1.4
usbserial.c: USB Serial support registered for Handspring Visor / Treo / Palm 4.0 / Clié 4.x
usbserial.c: USB Serial support registered for Sony Clié 3.5
usbserial.c: USB Serial support registered for Sony Clié 5.0
visor.c: USB HandSpring Visor, Palm m50x, Treo, Sony Clié driver v1.7
hub.c: new USB device 00:07.2-1, assigned address 2
usb.c: USB device 2 (vend/prod 0x830/0x61) is not claimed by any active driver.
usb.c: USB disconnect on device 00:07.2-1 address 2

En fait, le problème vient de plusieurs point :

En résumé :

3. Compilation du noyau

Pour ceux qui compilent leur noyau Linux, en ce qui concerne USB n'oubliez pas dans l'étape menu config (ou menuconfig) de cocher (Module ou compilation noyau) :

4. Utilisation de udev

Page de référence : http://www.destination-linux.org/Udev-et-PDA-quelques-reglages-a-faire

Le système udev doit être configurer pour utiliser le device /dev/pilot pour la synchronisation PC-Palm

4.1. Récupération du numéro de série du Palm

udevinfo -p /sys/class/tty/ttyUSB1 -a > /tmp/udevinfo.txt

Dans le fichier /tmp/udevinfo.txt ainsi obtenu, repérer le groupe contenant l'information suivante :
SYSFS{manufacturer}="palmOne, Inc."

Et notez bien le numéro de série :
SYSFS{serial}="504E35424D34463556303241"

4.2. Paramètrage de udev pour le Palm

Dans le fichier /etc/udev/rules.d/10-local.rules (fichier à creer) :

# Palm Tungsten T5
BUS="usb",SYSFS{serial}="504E35424D34463556303241",NAME="pilot",GROUP="usb",MODE="0666"

En mettant le numéro correspondant à SYSFS{serial}.

Dans le fichier /etc/udev/permissions.d/10-udev.permissions :

# PalmOne Tungsten T5 avec droits lecture + écriture
pilot*:root:usb:0666

Attention le fichier /dev/pilot ne doit pas exister.

5. Fonctionnement

5.1. Installation de jpilot

Sous debian, aucun problème :

apt-get install jpilot jpilot-backup jpilot-plugins jpilot-syncmal pilot-link

Au cours de l'installation, le système vous propose de faire un liens symbolique /dev/pilot vers le périphérique convenable (dans mon cas ttyUSB0 pour un palm USB). Si vous utilisez udev, n'associées aucun périphérique puisque le périphérique définit dans udev sera /dev/pilot. Si vous n'utilisez pas udev, et si vous répondez positivement a cette invitation, il faut savoir que les droit de /dev/ttyUSB0 vont être ouvert à tout le monde (-rw--rw--rw-). A vous de voir. Cependant, il faut savoir que le liens symbolique /dev/pilot est utilisé par jpilot et également par pilot-link par défaut. Libre à vous de gèrer votre sécurité sur votre machine.

5.2. Vérification de la communication

Le reste du document est hautement inspiré du document de Federico GONZALEZ. Pour la vérification du bon fonctionnement de l'ensemble, j'ai suivi le document de Federico GONZALEZ, qui propose d'utiliser pilot-xfer (un outil du package pilot-link). Au moins, on peut suivre directement et sans couche graphique supplémentaire ce qui ce passe. La commande suivante permet (en tant qu'utilisateur normal) de sauvegarder l'ensemble du contenu du Palm :

5.3. Configuration de jpilot

En fait pas grand chose à faire, c'est plus en fonction de vos goût. Néanmoins, comme le conseil Federico GONZALEZ dans sa doc, il est préférable de modifier dans les préférences du programme la vitesse de connexion série à 57600 bps. Jetez également un oeil sur le format des dates (par défaut c'est à l'anglaise - mois, jour, année).

Pour la suite, je vous encourage à lire la doc sur le site http://www.jpilot.org/.


Si vous désirez faire une remarque sur ce document, écrivez moi un mail : eloew@eloew.org.

Eric Loew

Date du document : 03 février 2006