Ceci est une ancienne révision du document !
Comment synchroniser Ubuntu avec les PDA et smartphones sous Windows™ Mobile 5/6 ? (mode synchronisation RNDIS)
La synchronisation est désormais possible avec les PDA/Smartphones sous Windows mobile 5/6.
Faire communiquer Ubuntu avec l'appareil mobile
- La communication avec le pda se fait avec SynCE. Il existe 2 implémentations de dcmm permettant de se connecter pour le système RNDIS : odccm (obsolète) ou synce-hal qui devrait faire tout ce que fait odccm, mais d'une façon plus simple et plus propre.
- La synchronisation se fait avec la librairie d'exécution OpenSync qui nécessite une interface utilisateur pour la configurer : en ligne de commande (Msynctool) ou avec une interface graphique.
- La navigation dans les fichiers de l'appareil mobile est possible sous gnome avec synce-gvfs.
Pré-requis
SynCE utilise le mode de synchronisation RNDIS d'ActiveSync. Le périphérique doit être réglé pour utiliser ce mode sinon ça ne marchera pas :
- Sous WM5 : C'est normalement déjà en RNDIS. Sinon naviguer dans Démarrer → Paramètres → Connexions → Mode ActiveSynce et choisir "Mode sync RNDIS".
- Sous WM6 : C'est normalement déjà en RNDIS. Il n'y a donc rien à faire. Sous Démarrer → Paramètres → Connexions → Paramètres USB : choisir Activesync.
Installation sous Jaunty et Intrepid
Des dépôts contenant les dernières versions sont disponible à cette adresse :
deb http://ppa.launchpad.net/synce/ubuntu jaunty main deb-src http://ppa.launchpad.net/synce/ubuntu jaunty main
deb http://ppa.launchpad.net/synce/ubuntu intrepid main deb-src http://ppa.launchpad.net/synce/ubuntu intrepid main
Pour importer la clé :
gpg --keyserver keyserver.ubuntu.com --recv-key D246C25D && gpg --armor --export D246C25D | sudo apt-key add -
Installez les paquets suivant :
Pour SynCE
- synce-trayicon : permet de surveiller quand le périphérique Windows CE est connecté, de gérer les partenariats, les programmes installé, l'état du périphérique et de choisir entre synce-hal et odccm.
Il faut ajouter le programme synce-trayicon
au démarrage de la session Gnome (Système>Préférences>Sessions) sauf si vous utilisez la dernière version des dépôts ppa qui se lance automatiquement au démarrage.
Pour OpenSync
- opensync-plugin-synce : le plugin SynCE pour OpenSync. OpenSync utilise SynCE pour la communication avec le PDA. Il installe par défaut synce-hal si celui-ci n'a pas été installer précédemment.
- opensync-plugin-evolution ou opensync-plugin-sunbird ou opensync-plugin-kdepim… : le plugin correspondant à votre client mail et/ou calendrier pour OpenSync.
Pour l'interface utilisateur de Opensync
- multisync0.90 : interface graphique, pour gnome (Applications>Accessoires>Multisync-gui)
ou
- multisync-tools : interface en ligne de commande :
msynctool [options]
Pour la navigation dans les fichiers du PDA
Il faut ouvrir les ports locaux dans le pare-feu si nécessaire
sudo ufw allow from 169.254.2.0/24 to any
Le système doit être redémarré pour une meilleur prise en compte des modifications .
Installation sous Hardy
Il faut pour cela ajouter de nouveaux dépôts PPA contenant l'outil nécessaire.
Ajout de nouveaux dépôts (Hardy)
Ajouter les dépôts suivants à vos sources de mises à jour et recharger la liste des logiciels :
deb http://ppa.launchpad.net/synce/ubuntu hardy main deb-src http://ppa.launchpad.net/synce/ubuntu hardy main
Comme il manque les clés de signature de ces dépôts, pendant l'installation un message d'avertissement vous informe que les paquets ne sont pas signés.
Procédez ensuite suivant votre souhait de sécurisation de votre système. 1)
Ajout et compilation de rndis (noyau Linux < 2.6.24-19)
Votre version en cours est vérifiable par la commande :
uname -a
On va chercher et compiler le nouveau pilote rndis. Tout d'abord bien décharger tous les modules chargés par défaut dans le noyau :
sudo rmmod rndis_host cdc_ether usbnet
Ensuite, suppression des anciens pilotes pour que le noyau ne les recharge pas au prochain amorçage :
sudo rm /lib/modules/`uname -r`/kernel/drivers/net/usb/{rndis_host,cdc_ether,usbnet}.ko
Compilation des nouveaux pilotes :
sudo apt-get install usb-rndis-source cdbs sudo module-assistant auto-install usb-rndis
Bibliothèques nécessaires à la communication d'Ubuntu et du PDA/smartphone
On récupère les bibliothèques nécessaires en installant les paquets odccm librra0-tools librapi2-tools.
Tapez dans un terminal :
/sbin/ifconfig -a | grep 80:00:60:0f:e8:00 | cut -d " " -f 1
le résultat de la commande vous renvoie directement l'interface réseau concernée. Il suffit alors d'ouvrir le fichier /etc/network/interfaces et d'ajouter les lignes suivantes :
iface <interface du pda> inet dhcp
(en ayant au préalable remplacé "<interface du pda>" par le résultat de la commande ci dessus et de sauvegarder le fichier.
Afin de redistribuer convenablement les adresses IP des différentes connexions, il est nécessaire de redémarrer manuellement le réseau :
sudo /etc/init.d/networking restart
On va dès à présent ajouter les logiciels et bibliothèques nécessaires à la synchronisation : installez les paquets
- Pour Gnome:
multisync-tools opensync-plugin-evolution opensync-plugin-synce libgnomevfs2-dev libsynce0-dev librapi2-dev.
- Pour KDE (on remplace le plugin evolution par opensync-plugin-kdepim
multisync-tools opensync-plugin-kdepim opensync-plugin-synce .
Premier Test
Branchez votre joli PDA/smartphone et taper un petit :
synce-pls
dans un terminal. Le résultat de la commande doit retourner la liste des fichiers présents dans le répertoire « Mes Documents » de l'appareil mobile. Il est probable que cette commande vous renvoie une erreur du type
** Message: Device /org/freedesktop/Hal/devices/net_80_00_60_0f_e8_00 not fully set in Hal, skipping ** Message: Odccm is not running, ignoring synce-pls: Could not find configuration at path '(Default)'
On va donc lui donner un fichier de configuration pour y remedier; pour cela; entrez dans un terminal:
sudo gedit /etc/synce-hal.conf
Puis rajouter les lignes
[general] loglevel: debug
Sauvegardez le fichier; fermez gedit; Rebranchez votre terminal; et cette fois le problème devrait être résolu.
La synchronisation
La gestion de la synchronisation peut se faire par des interfaces graphiques. Choisissez en une qui correspond à votre environnement de bureau.
Si vous avez un décalage horaire (décalage entre l'heure locale et l'heure UTC) entre un événement créé sur le PDA et l'évenement synchronisé sur votre ordinateur, la solution consiste à mettre la variable "AppendDefaultTimezone" à 1 dans le fichier ~/.synce/config.xml.
Synchronisation pour GNOME
ActiveSync demande de créer des partenariats avant de pouvoir synchroniser deux éléments. Il y a une limite de deux partenariats pour windows mobile.
Les partenariats
Les partenariats peuvent être configurés en ligne de commande ou graphiquement.
Méthode graphique :
Cliquez droit sur synce-trayicon, sélectionnez le PDA et cliquez sur "View device status". Une fenêtre s'ouvre, choisissez l'onglet "Partners". Cliquez sur "Create". Entrez un nom de partenariat et sélectionnez tous les items que vous désirez synchroniser notamment "Calendar", "Contacts" et "Tasks". Cliquez sur valider. Pour le supprimer : "remove".
Méthode en ligne de commande :
synce-create-partnership "<nom_du_partenariat>" "<éléments_à_synchroniser"
Les éléments que l'ont peut synchroniser sont à choisir parmi la liste suivante : Contacts,Calendar,Tasks,Files. Ils doivent être séparés par un virgule dans la commande précédente.
Pour supprimer un partenariat :
synce-delete-partnership
Utilisation
Une fois le partenariat établi, il faut créer un groupe et choisir les éléments à synchroniser.
Méthode graphique :
Lancez Multisync-gui dans Application>Accessoire puis ajouter un groupe. Allez dans modifier puis "Add Member" : choisissez deux éléments : synce-opensync-plugin dans tous les cas et le plugin correspondant à votre client mail (ex : evo2-sync pour évolution si vous avez installé opensync-plugin-evolution). Ensuite utilisez le bouton Actualiser pour lancer la synchronisation.
Méthode en ligne de commande :
Avec multisync-tools
D'abord, il faut lister les plugins disponibles. la commande suivante :
msynctool --listplugins
..devrait vous donner un résultat qui ressemble à ça :
Available plugins: synce-opensync-plugin evo2-sync
Si vous utilisez utilisez le gestionnaire de mail de Kde, vous aurez kdepim-sync à la place de evo2-sync.
Il faut ensuite créer un groupe de connexion :
msynctool --addgroup <nom du groupe>
et y ajouter les 2 plugins :
msynctool --addmember <nom du groupe> synce-opensync-plugin msynctool --addmember <nom du groupe> evo2-sync
(Bien sur, là encore remplacez evo2-sync par kdepim-sync si vous êtes sous KDE).
Et voilà. Pour lancer la synchro,
- Commencez par vous assurer que la mémoire tampon de votre terminal est suffisante car cette commande trace énormément;
- Fermez votre gestionnaire de contacts/ calendrier pour éviter les verrouillages éventuels.
- puis lancez :
msynctool --sync <nom du groupe>
Soyez patient, ça prend un peu de temps.
Au cours de la synchro, si des entrées en conflit existent entre le Pda et votre ordinateur, la console vous présentera les entrées en conflit (dans un format XML assez difficile à lire) et vous demandera laquelle choisir :
Overwriting conflict Conflict for Mapping 0xb234e3c0: Entry 1: UID: pas-id-48FB3D4B0000001F <?xml version="1.0"?> <contact> <Revision> <Content>20081019T135939Z</Content> </Revision> <Uid> <Content>pas-id-48FB3D4B0000001F</Content> </Uid> <FileAs> <Content>XXXXX</Content> </FileAs> ... </contact> Entry 2: UID: pas-id-CD512BC3D421FBAD <?xml version="1.0" encoding="utf-8"?> <contact xmlns:AS="http://synce.org/formats/airsync_wm5/airsync"> <FileAs> <Content>XXXXX</Content> </FileAs> ... </contact> Which entry do you want to use? [1-9] To select a side, [D]uplicate, Keep [N]ewer:
- Tapez un chiffre pour choisir une des ressources en conflit (n choisit l'"Entry n");
- D pour dupliquer les 2 entrées sur le PDA et le PC;
- N pour ne garder que la plus récente.
Il n'existe malheureusement pas d'option de fusion des entrées en conflit.
Synchronisation pour KDE : SynCE-KPM
Installation
installez le paquet synce-kpm.
Synchro
Dans une console tapez:
synce-kpm
Une fenêtre aux fonctionnalités de ActiveSync apparaît. Vous pouvez choisir les éléments à synchroniser et lancer l'installation de programme (fichier .cab)
Voila vous avez terminé, le dossier "Mes Documents" de votre pda/smartphone est maintenant synchronisé avec le dossier "PDAFiles" de votre home.
Navigation dans les fichiers du PDA/smartphone sous GNOME
Installation
Ajouter les dépôts suivants à vos sources de mises à jour et recharger la liste des logiciels :
deb http://ppa.launchpad.net/synce/ubuntu intrepid main
Installer ensuite le paquet synce-gvfs.
Utilisation
Il ne vous reste plus qu'à parcourir le périphérique. Si vous avec installé le paquet synce-trayicon et lancé l'application, faite un clic droit sur l'icône de la barre des tâches, puis sélectionner le PDA puis parcourir le périphérique.
Navigation dans les fichiers du PDA/smartphone sous GNOME **Obsolète**
Modification des dépôts
Voici la partie la plus compliquée…
Si ce n'est pas le cas vous référer à la documentation générale des dépots d'ubuntu-fr.org
Une fois ceci vérifié, il vous suffit d'ouvrir le fichier /etc/apt/sources.list
sudo nano /etc/apt/sources.list
et d'y ajouter la ligne suivante :
deb-src http://www.mpellis.org.uk/debian/ unstable main
Ajout de la clé de confiance :
Une petite mise à jour de la liste des logiciels après l'ajout de la nouvelle clé de confiance nécessaire:
gpg --keyserver pgpkeys.mit.edu --recv-key EEA242F0 gpg -a --export EEA242F0 | sudo apt-key add - sudo apt-get update
Téléchargement de gvfs
Ensuite il reste a passer aux choses sérieuses, le téléchargement de gvfs :
apt-get source gvfs cd gvfs-0.2.5 ./configure make
Installation des dépendances :
Puis il est nécessaire d'installer les dépendances pour la compilation de gvfs :
sudo apt-get install libgvfscommon-dev gvfs-bin gvfs-backends dpkg-dev fakeroot cdbs librra-dev
Et enfin télécharger les sources de synce-gvfs :
apt-get source synce-gvfs
sudo apt-get install synce-gvf
) CELUI CI NE MARCHERA EN AUCUN CAS!!!
Dans le nouveau répertoire synce-gvfs créé, il faut éditer le fichier rules dans le répertoire debian et changer /home/mark/sources/synce/gvfs/gvfs-0.2.5 par le répertoire absolu ou se trouve les sources de gvfs (mis en place tout à l'heure si si promis!!) ce qui donne : /le/chemin/absolu/jusqua/gvfs-0.2.5 (à adapter en fonction des numéros de versions…). Dans mon cas j'ai la ligne :
DEB_CONFIGURE_EXTRA_FLAGS += --with-gvfs-source=/home/aymeric/gvfs-0.2.5
.
Installation des packages :
Une fois ceci effectué (promis c'est bientôt fini…) il faut se placer dans le répertoire de synce-gvfs (dans mon cas : /home/aymeric/synce-gvfs-0.1.svn20080423) et faire un joli :
sudo dpkg-buildpackage -rfakeroot
.
S'il n'y a pas de problème de compilation(promis devrait pas trop y en avoir), il suffit de finir tout ca par l'installation du .deb fraichement créé :
sudo dpkg -i ../synce-gvfs_0.1.svn20080423-1_i386.deb
, de redémarrer le pc et tout devrai être effectif au reboot.
Accès au système de fichiers du PDA/Smartphone :
Après le reboot, il suffit de taper dans la barre d'adresse de nautilus (et bien sûr d'avoir son PDA/Smartphone connecté au PC via son câble USB)
synce:///
et voila les jolis dossiers et fichiers de votre appareil mobile favoris.
En espérant avoir été clair et que ce petit tuto aidera moulte personnes
Sources et liens
(en)
http://www.synce.org/moin/SynceInstallation/Ubuntu/ModernDevice — Faire communiquer Ubuntu avec l'appareil mobile (worked perfectly with Mio P550 )(en)
SynceWithUbuntu — Faire communiquer Ubuntu avec l'appareil mobile(en)
Ubuntun-EN Forums — Parcours des fichiers et répertoires du PDA/smartphone(en)
http://www.synce.org
—-
Contributeurs : tekman54000, fnx, Id2ndR.