Cette page montre comment piloter le PDA via KDE avec une configuration basée sur kubuntu, pour cela on utilise SynCE qui va permettre de:
- de naviguer dans l'arborescence interne du PDA et transférer
des fichiers dans les deux sens (du PDA vers le poste linux et
vice-versa)
- d'installer des softs sur le PDA (fichier CAB uniquement)
- d'avoir une image miroir du PDA pour pouvoir le piloter à distance
- de connecter plusieurs PDA en même temps
- de donner un accès internet au PDA
- de faire une synchro avec AvantGo qui permet de récupérer sur le net des articles de sites (Le Monde, Eurosport, ...) pour une lecture offline
- de faire une synchro de l'agenda, des contacts et des tâches avec la suite korganizer
Pour mes manips j'utilise un Acer n30 doté de Windows Mobile 2003 avec un processeur ARM.
Pour l'installation on peut se contenter d'installer les packages
officiels de l'ubuntu mais ils sont désespérément
bogués, pas moyen de configurer le PDA, j'ai une erreur du style
Wrong library dès qu'on cherche à synchroniser les
contacts. Du coup j'ai du réinstaller à partir des
sources, on installera d'abord les bibliothèques suivantes
avec les dépendances cela permet d'installer les
bibliothèques qui vont bien. On veillera à installer la
suite korganizer qui nous permettra sur le PC de stocker nos contacts, nos tâches et notre agenda.
tar xvfz synce-serial-0.10.0.tar.gz
tar xvfz synce-libsynce-0.10.0.tar.gz
tar xvfz synce-librapi2-0.10.0.tar.gz
tar xvfz synce-librapi2-0.10.0.tar.gz
/etc/ld.so.conf
/usr/local/lib/python2.5/site-packages
tar xvfz synce-odccm-0.10.0.tar.gz
tar xvfz synce-usb-rndis-lite-0.10.0.tar.gz
make
tar xvfz synce-usb-rndis-ng-0.10.0.tar.gz
./autogen.sh
./configure --enable-hal
Maintenant on doit définir la connexion entre le PC et le PDA en tapant
synce-serial-config /dev/ttyUSB0 192.168.131.102:192.168.131.201 212.27.54.252
Avec dans l'ordre le fichier spécial du port USB, la
première adresse 192.168.131.102 est l'adresse
PPP du PC et 192.168.131.201 l'adresse du PDA on trouve ensuite l'adresse IP du serveur DNS, je n'ai pas réussi
à trouver la syntaxe pour saisir deux serveurs DNS.
Pour info ces informations vont se retrouver dans le fichier /etc/ppp/peers/synce-device, voici son contenu
# Modifications to this file will be lost next time you run synce-serial-config /dev/ttyUSB0 115200 connect '/usr/local/libexec/synce-serial-chat' nodefaultroute noauth local 192.168.131.102:192.168.131.201 ms-dns 212.27.54.252 crtscts linkname synce-device
On va faire en sorte que le PDA soit monté à chaud, on crée le fichier suivant
/etc/udev/rules.d/10-ipaq.rules
dans lequel on va trouver
# udev rules file for SynCE BUS!=="usb", ACTION!=="add", KERNEL!=="ttyUSB*", GOTO=="synce_rules_end" # Establish the connection RUN+="/usr/bin/synce-serial-start" LABEL="synce_rules_end"
Maintenant on doit indiquer le type du PDA dans le fichier /etc/modprobe.d/synce pour cela si on tape lsusb on obtient
Bus 002 Device 002: ID 0502:16e3 Acer, Inc.
0502 correspond à la marque (vendeur), et 16e3 au type (produit)
du matériel, voilà donc ce qu'on indiquera dans le
fichier synce
options ipaq vendor=0502 product=16e3
Sur le PDA on se contentera d'aller dans le menu
Démarrer->Paramètres->Onglet Connexions->Connexions->Onglet Avancés->Bouton Sélectionner des réseaux, on doit avoir Réseau de bureau sélectionné
que ce soit pour "les programmes qui se connectent à internet
automatiquement" et "les programmes qui se connectent automatiquement
à un réseau privé".
on relance udev en tapant
sudo /etc/init.d/udev restart
Pour AvantGo, créer un
compte sur le site, récupérer l'exécutable,
malheureusement pour la configuration du client AvantGo sur le PDA vous êtes obligés d'aller sous windows.
Maintenant on va activer l'IP forwarding sur le PC pour permettre
l'accès à internet au PDA, on va créer le fichier /etc/init.d/rc.firewall qui contiendra
#!/bin/sh # Load the NAT module (this pulls in all the others). modprobe iptable_nat
# Turn on IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# In the NAT table (-t nat), Append a rule (-A) after routing (POSTROUTING) # which says to MASQUERADE the connection (-j MASQUERADE). iptables -t nat -A POSTROUTING -s 192.168.131.201 -j MASQUERADE
# Allows forwarding specifically to our LAN iptables -A FORWARD -s 192.168.131.201 -j ACCEPT
Donnez des droits d'exécution
chmod 755 /etc/init.d/rc.firewall
pour que ce fichier soit appelé à chaque boot du PC, il faut rajouter tout à la fin du fichier /etc/rc.local (avant le exit)
/etc/init.d/rc.firewall
Executez le fichier rc.firewall. On va taper maintenant la commande visudo et rajouter la ligne suivante au fichier /etc/sudoers
olivier mobile= NOPASSWD:/sbin/iptables
Au lieu d'olivier vous devez mettre votre login courant (obtenu avec whoami) et au lieu de mobile le nom de votre machine (obtenu avec localhost)
maintenant on va lancer dans un shell la commande raki, raki est une applet de synce qui s'intègre dans l'environnement KDE. Branchez maintenant votre PDA, voilà le résultat dans le fichier /var/log/syslog
Apr 1 10:10:06 mobile kernel: [17188937.148000] usb 2-1: new full speed USB device using uhci_hcd and address 2 Apr 1 10:10:06 mobile kernel: [17188937.376000] usb 2-1: configuration #1 chosen from 1 choice Apr 1 10:10:07 mobile kernel: [17188938.004000] usbcore: registered new driver usbserial Apr 1 10:10:07 mobile kernel: [17188938.008000] drivers/usb/serial/usb-serial.c: USB Serial support registered for generic Apr 1 10:10:07 mobile kernel: [17188938.008000] usbcore: registered new driver usbserial_generic Apr 1 10:10:07 mobile kernel: [17188938.008000] drivers/usb/serial/usb-serial.c: USB Serial Driver core Apr 1 10:10:07 mobile kernel:
[17188938.016000] drivers/usb/serial/usb-serial.c: USB Serial support
registered for PocketPC PDA Apr 1 10:10:07 mobile kernel: [17188938.016000] drivers/usb/serial/ipaq.c: USB PocketPC PDA driver v0.5 Apr 1 10:10:07 mobile kernel: [17188938.020000] ipaq 2-1:1.0: PocketPC PDA converter detected Apr 1 10:10:07 mobile kernel: [17188938.020000] usb 2-1: PocketPC PDA converter now attached to ttyUSB0 Apr 1 10:10:07 mobile kernel: [17188938.020000] usbcore: registered new driver ipaq Apr 1 10:10:08 mobile kernel: [17188939.120000] ip_tables: (C) 2000-2006 Netfilter Core Team Apr 1 10:10:08 mobile synce-serial-start: Executing '/usr/sbin/pppd call synce-device' Apr 1 10:10:08 mobile last message repeated 4 times Apr 1 10:10:08 mobile pppd[14954]: pppd 2.4.4 started by root, uid 0 Apr 1 10:10:09 mobile pppd[14954]: Serial connection established. Apr 1 10:10:09 mobile pppd[14954]: Using interface ppp0 Apr 1 10:10:09 mobile pppd[14954]: Connect: ppp0 <--> /dev/ttyUSB0 Apr 1 10:10:10 mobile kernel: [17188941.212000] PPP BSD Compression module registered Apr 1 10:10:10 mobile kernel: [17188941.288000] PPP Deflate Compression module registered Apr 1 10:10:10 mobile pppd[14954]: Cannot determine ethernet address for proxy ARP Apr 1 10:10:10 mobile pppd[14954]: local IP address 192.168.131.102 Apr 1 10:10:16 mobile kernel: [17188947.100000] Netfilter messages via NETLINK v0.30. Apr 1 10:10:16 mobile kernel:
[17188947.132000] ip_conntrack version 2.4 (4094 buckets, 32752 max) -
224 bytes per conntrack
à noter que j'ai le module ipaq qui s'est chargé automatiquement, d'ailleurs quand je tape lsmod j'obtiens
raki: IP: 192.168.131.201 raki: OsVersion: 5380 raki: RRA-Connect raki: Ende PDA::init() raki: Connecting to the device ... raki: Matchmaker-Connect raki: success raki: Reading from device .... raki: get partnership with index 1 ... raki: success raki: matching! raki: finished raki: Matching partnership found ... raki: Trying to make it valid on the Device ... raki: success! raki: Matchmaker-Disconnect raki: Nom : AvantGo Synchronizer; Library: rakiagsync raki: Nom : Appointment Synchronizer; Library: librakikpimsync raki: ... init raki: Subscribing Events ... raki: Nom : Contact Synchronizer; Library: librakikpimsync raki: ... init raki: Subscribing Contacts ... raki: Nom : Task Synchronizer; Library: librakikpimsync raki: ... init raki: Subscribing Todos ... raki: End PDA::syncronizationTasks() kresources: ERROR: ManagerImpl::readResourceConfig: mFactory is 0. Did the app forget to call readConfig? raki: ERROR: Received DCOP: resource added for unknown resource 2zr6OjuMqa raki: Masqueraded route created
vous noterez la petite icône
dans la barre de tâche, elle est multicolore quand le PDA est
branché et grise s'il est déconnecté. Pour
configurer raki, cliquer avec le bouton droit puis Configure
Il faut cocher la case pour lancer vdccm qui est un daemon qui pilote la connexion avec le PDA, il faut également bien saisir le chemin d'iptables.
On va configurer maintenant le PDA lui même pour
paramètrer ce qu'on veut synchroniser, en cliquant sur
l'icône de raki->pocket_pc->Configurer pocket_pc
Cliquez sur Enable Masquerading pour pouvoir se connecter sur internet et permettre l'utilisation d'AvantGo.
Cochez ensuite Appointement (agenda), Contact et Task
(tâche), pour chacun de ces trois types de synchronisation, vous
devez cliquer en plus sur le bouton Config
Il suffit de cliquer sur Select from Existing, il trouvera de lui même le fichier qui va bien. Chez moi la synchronisation d'AvantGo ne fonctionne pas, j'ai l'erreur suivante
raki: Failed to retrieve device information! raki: Beginning synchonization attempt on server.
du coup j'ai décoché la case AvantGo connect et je lance la synchronisation du PDA et cela marche.
Pour terminer à noter la commande synce-pstatus qui permet d'avoir des infos sur le PDA, voilà le résultat
Version ======= Version: 4.21.1088 (Microsoft Windows Mobile 2003 Pocket PC Phone Edition) Platform: 3 (Windows CE) Details: ""