PARTIE I : Configuration de la communication entre Ubuntu et un appareil WM5
1. Installation des paquets nécessaires
Installation des paquets nécessaires au fonctionnement de SynCE, subversion et python, ainsi que les headers de votre kernel :
sudo apt-get install libglib2.0-dev libusb-dev build-essential autoconf automake1.9 libtool libgnet-dev libhal-dev libhal-storage-dev libdbus-glib-1-dev subversion linux-headers-`uname -r` python-dbus
Acceptez les dépendances
2. Récupération des subversions
Téléchargement des fichiers depuis les subversions :
cd
svn co https://synce.svn.sourceforge.net/svnroot/synce/branches/libsynce/WM5/libsynce
svn co https://synce.svn.sourceforge.net/svnroot/synce/branches/librapi2/WM5/librapi2
svn co https://synce.svn.sourceforge.net/svnroot/synce/trunk/odccm
3. Compilation de libsynce
cd libsynce/
./bootstrap
./configure --enable-desktop-integration
make
sudo make install
cd ..
4. Compilation de librapi2
Préparation :
echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf
sudo ldconfig
Compilation :
cd librapi2/
./bootstrap
./configure
make
sudo make install
cd ..
5. Compilation de odccm
cd odccm/
autoreconf -i
./configure
make
sudo make install
sudo cp data/dbus/odccm.conf /etc/dbus-1/system.d/
cd ..
6. Installation du driver USB
Alors là on a plusieurs cas, en général il faut installer le driver
usb-rndis-lite, mais pour mon SPV C600, j'ai du installer
usb-rndis-ng
Il existe aussi le driver
usb-rndis pour certains PPC/SmartPhones.
Pour savoir quel driver il vous faut, consultez cette page :
http://www.synce.org/index.php/Windows_Mobile_2005_HCL
Si votre appareil n'est pas listé, utilisez le driver usb-rndis-lite
6.A driver usb-rndis-lite (Général)
Cette méthode est décrite sur cette page :
http://www.synce.org/index.php/Connecting_your_Windows_Mobile_2005_device_via_USB_%28usb-rndis-lite%29
Je ne l'ai pas testée puisqu'elle ne corresponds pas à mon appareil :
svn co https://svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
cd usb-rndis-lite/
make
sudo ./clean.sh
sudo make install
cd ..
6.B driver usb-rndis-ng (spécifique aux Cingular 2125 et Orange SPV C600)
Méthode testée
sudo apt-get install libhal-dev libhal-storage-dev
svn co https://svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-ng
cd usb-rndis-ng/
./autogen.sh
./configure --enable-hal
make
sudo make install
cd ..
[INCERTITUDE]
Je ne sais pas si cette étape est obligatoire, ni à quelle moment l'exécuter, avant de lancer
odccm ou après ? En tout cas, ce qui est sur c'est que cela ne concerne QUE le driver
usb-rndis-ng. Je la place ici en attendant vos retours d'expériences :
sudo dhclient3 rndis0
Vous devriez avoir une réponse de ce type :
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/rndis0/80:00:60:0f:e8:00
Sending on LPF/rndis0/80:00:60:0f:e8:00
Sending on Socket/fallback
DHCPDISCOVER on rndis0 to 255.255.255.255 port 67 interval 5
DHCPOFFER from 169.254.2.1
DHCPREQUEST on rndis0 to 255.255.255.255 port 67
DHCPACK from 169.254.2.1
bound to 169.254.2.2 -- renewal in 1173119 seconds.
[/INCERTITUDE]
6.C driver usb-rndis
Je ne traduit pas cette section tant que personne ne l'aura testé, jetez un oeuil à
http://www.synce.org/index.php/Windows_Mobile_2005_HCL
7. Branchement et vérification
Note préliminaire :
Certains pourraient être dans cette situation :
antoons a écritIl a fallut que je change les paramètres d'ActiveSync et passer en mode sync RNDIS au lieu de série USB...sinon ça marchait pas !
Branchez votre appareil, puis pour vérifier que tout s'est bien passé
dmesg | grep "rndis[0-9]: register" | grep "rndis_host" | tail -1
Vous devriez avoir une sortie ressemblant à :
rndis0: register 'rndis_host' at usb-0000:00:10.1-2.1, RNDIS device, 80:00:60:0f:e8:00
Débranchez votre appareil
8. Test de la connexion
Lancer
odccm en mode console, pour voir les messages de sortie
sudo odccm -f
8.A Test
Il paraîtrait que certains appareil doivent être en mode veille (écran éteint) avant de le rebrancher
Branchez l'appareil, si tout se passe bien
odccm doit sortir :
** (process:12607): DEBUG: PDA network interface discovered! udi='/org/freedesktop/Hal/devices/net_80_00_60_0f_e8_00', device='rndis0'
** (process:12607): DEBUG: device_info_received: registering object path '/org/synce/odccm/Device/_1E5B3A3B_1283_C24C_3228_BBF93F4C388F_'
8.B en cas de problème
Si par contre il sort
** (process:12607): WARNING **: failed to send trigger packet. sendto() failed: Operation not permitted
C'est que votre firewall empêche la connexion à l'appareil. Dans ce cas là, il faut lancer firestarter, puis arrêter le firewall.
Ensuite, débranchez votre appareil, puis dans une console tapez :
sudo chmod u+w /etc/firestarter/user-pre
gksudo gedit /etc/firestarter/user-pre
Ajoutez les lignes suivantes au fichier :
$IPT -A INPUT -i rndis0 -j ACCEPT
$IPT -A OUTPUT -o rndis0 -j ACCEPT
Enregistrez le fichier, et refermez l'éditeur de texte, puis dans la console :
sudo chmod u-w /etc/firestarter/user-pre
Enfin retournez dans FireStarter et lancez le firewall, puis retournez au chapitre 8.A de ce tuto pour rebrancher l'appareil et tester que tout fonctionne.
8.C fin du test
Débranchez l'appareil
Dans la console qui exécute
odccm, faites CTRL+C pour le refermer
puis lancez
odccm en mode daemon :
sudo odccm
9. Première connexion
(Personnellement j'ai du faire un hard reset de mon SPV, sinon je recevais une erreur)
Branchez votre appareil
Dans une console essayez les commandes suivantes :
pls
pstatus
Une liste des outils fournis est disponible ici :
http://www.synce.org/index.php/SynCE_Tools
:cool: