Communauté francophone des utilisateurs d'Ubuntu
Les Ubuntu-partys sont l'occasion pour beaucoup d'entre vous d'acquérir les goodies Ubuntu-fr faits par nos petites mains avec amour.
Pour tous les autres, fini le désespoir de les manquer
Il est désormais possible de vous procurer l'objet de votre choix grâce à la boutique en ligne, commune à Framasoft et Ubuntu-fr. Vous pourrez déjà y trouver mugs, t-shirts et, bien sûr, les Framakey Ubuntu-fr Remix.
1 2 3 4 Page suivante »
ATTENTION
Je suis pas sûr de ce tuto, je le poste ici pour que des pro me donnent leur avis
il y a plusieurs librairies à compiler, je ne suis pas suffisamment pro pour savoir ce qui pourrais se passer en cas de conflit avec des versions déjà installées sur votre système.
Si vous savez pas trop ce que vous faites, attendez un peut que ce document soit confirmé par des utilisateurs confirmés ![]()
Salut à tous,
A la lecture du forum, face à l'absence d'information sur la connexion d'Ubuntu aux PDA/PDAphone/PPC/SmartPhones/TralalaPhones fonctionnant sous WM5, je m'apprêtais à me débarrasser de mon SmartPhone.
Grâce à une piste ouverte par jpaul, j'ai réussi à connecter mon SPV C600.
Donc je vous fais part des étapes à suivre, sachant qu'il y a pas mal de manipulations et un peut de compilation.
Tout s'est passé facilement chez moi, mais en fonction de votre appareil certaines choses changeront.
Merci donc de me faire part de vos échecs ou réussites, et des méthodes employées, afin d'agrémenter ce tuto.
Traduction de http://www.synce.org/index.php/Windows_ … 05_Support
go![]()
Dernière modification par random (Le 23/01/2007, à 19:07)
Hors ligne
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/Connecti … is-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 :
Code:
sudo dhclient3 rndis0Vous 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 écrit:
Il 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![]()
Dernière modification par random (Le 23/01/2007, à 19:10)
Hors ligne
PARTIE II : Installation des accessoires dans gnome
c'est la partie détente, et facultative, avant de passer aux choses sérieuses
1. Notification par synce-gnome
Pour obtenir une notification des branchements / débranchements de votre appareil
téléchargement :
svn co https://synce.svn.sourceforge.net/svnroot/synce/trunk/oleavr-files/synce-gnome
Puis pour lancer le notificateur :
cd synce-gnome/src python test.py
2. Intégration de la navigation de fichiers à nautilus
l'installation de gnomevfs permet de naviguer par nautilus dans les répertoires de votre appareil
Installez les paquets suivants :
sudo apt-get install librapi2 librapi2-dev librapi2-tools librra0 librra0-dev librra0-tools libsynce0 libsynce0-dev synce-dccm synce-serial libgnomevfs2-dev gcc-3.3
Exécutez les commandes suivantes :
cd /usr/lib sudo ln -s libsynce.so.0.0.0 libsynce.so sudo ln -s librapi.so.2.0.0 librapi.so
si des erreurs apparaissent après les commandes ln, ignorez les
Passons à la compilation :
cd ~ export CC=/usr/bin/gcc-3.3 svn co https://svn.sourceforge.net/svnroot/synce/trunk/gnomevfs cd gnomevfs/ ./bootstrap ./configure make sudo make install
Dans la dernière étape nous avons définir gcc 3.3 comme compilateur par défaut, on va remettre votre compilateur habituel.
Il faut déterminer quelle est la version installer sur votre système
ls /usr/bin/gcc-*
Normalement vous devriez avoir la version 4.1 installée
export CC=/usr/bin/gcc-4.1
Dernière étape : expliquer à gnome dans quel cas utiliser gnomevfs
sudo gedt /etc/gnome-vfs-2.0/modules/default-modules.conf
Ajoutez à la fin du fichier :
synce: libsyncevfs
Enregistrez le fichier puis refermez l'éditeur de texte
C'est pret !
Dans Lancer une application, tappez
synce:///
Il est aussi possible de créer un lanceur :
nautilus synce:///
![]()
Dernière modification par random (Le 11/01/2007, à 02:46)
Hors ligne
PARTIE III : Synchronisation avec Évolution
(Bon pour l'instant je sèche, j'ai essayé plusieurs méthodes, mais aucune ne fonctionne, donc un peut de patience
)
Dernière modification par random (Le 14/01/2007, à 14:42)
Hors ligne
PARTIE IV : Automatisation
1. Lancement de odccm comme un service système
Étape à suivre pour que odccm se lance automatiquement au démarrage du système
Créer un script de service
gksudo gedit /etc/init.d/odccm
Copiez le texte suivant dans le fichier
#! /bin/sh
# /etc/init.d/odccm
#
# Script d'initiation du daemon odccm
# http://www.synce.org
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
test -x /usr/local/sbin/odccm || exit 0
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting odccm service"
if start-stop-daemon --start --exec /usr/local/sbin/odccm ; then
log_end_msg 1
exit 1
fi
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping odccm service"
start-stop-daemon --stop --exec /usr/local/sbin/odccm ;
log_end_msg 0
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
log_action_msg "Usage: /etc/init.d/odccm {start|stop|restart}"
exit 1
;;
esac
exit 0Enregistrez puis refermez le fichier
Rendez le exécutable
sudo chmod +x /etc/init.d/odccm
Enfin installez le service
sudo update-rc.d odccm defaults
2. Lancement automatique de synce-gnome
Tout d'abord on va placer synce-gnome dans le répertoire /usr/src
cd sudo cp synce-gnome /usr/src/ sudo chown -R root.root /usr/src/synce-gnome
Ensuite allez dans Préférences / Session / Programmes au démarrage cliquez sur Ajouter entrez :
python /usr/share/synce-gnome/src/test.py
![]()
Dernière modification par random (Le 11/01/2007, à 13:27)
Hors ligne
salut!
j'ai suivi ton tuto du début, et je bloque a partir de l'incertitude (j'ai moi aussi un SPV C600)
Lorsque je fais
sudo dhclient3 rndis0
il me sort
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/ SIOCSIFADDR: No such device rndis0: ERROR while getting interface flags: No such device rndis0: ERROR while getting interface flags: No such device Bind socket to interface: No such device
et si je passe cette étape, rien ne marche apres...
j'ai pourtant suivi le tuto a la lettre :p
une idée? ![]()
Salut
Passe directement à l'étape 7, et dit moi si la sortie est correcte.
Si c'est bon exécute sudo dhclient3 rndis0
Tiens moi au jux![]()
Hors ligne
j'ai essayé de faire
dmesg | grep "rndis[0-9]: register" | grep "rndis_host" | tail -1
mais ca ne renvoie rien
et
sudo odccm -f
ne fait rien, ca pédale dans le vide et n'affiche rien
voila, donc j'avance pas ^^
et sinon ya possibilité d'utiliser le bluetooth plutot que l'usb?
oui le bluetooth est possible, mais je ne m'y suis pas du tout intéressé
sudo odccm -f n'affiche rien tant que tu ne branche pas ton smartphone, et il faut le lancer avant de brancher l'appareil pour obtenir le message recherché
mais normalement, sans avoir lancé odccm, dès le premier branchement tu devrais avoir la notification dans le dmesg
donc le driver ne doit pas être bien compilé ou installé
est tu sûr d'avoir compilé libsynce librapi2 et odccm sans encombres ?
est ce que whereis libsynce sort une liste de chemins ?
ls /usr/share/aclocal/librapi2.m4 t'affiche que le fichier est présent ?
ls /usr/lib/hal/hal-usb-rndis-ng.sh t'affiche que le fichier est présent ?![]()
Hors ligne
alors j'ai vérifié ce que tu m'as dit :
whereis libsynce
donne
libsynce: /usr/lib/libsynce.la /usr/lib/libsynce.a /usr/lib/libsynce.so /usr/local/lib/libsynce.so /usr/local/lib/libsynce.la /usr/local/lib/libsynce.a
ls /usr/share/aclocal/librapi2.m4
donne
/usr/share/aclocal/librapi2.m4
et
ls /usr/lib/hal/hal-usb-rndis-ng.sh
donne
/usr/lib/hal/hal-usb-rndis-ng.sh
donc a priori c'est bon de ce coté
Pour sudo odccm -f il ne m'affiche rien que je le lance avant ou apres de brancher le telephone
que t'affiche :
lsusb (à faire quand le SPV est branché)
ps -ef | grep dccm
cat /etc/modprobe.d/synce
?
saisie ces 3 commande, et donne moi la sortie de la dernière
(débranche ton SPV)
cat /proc/bus/usb/devices > /tmp/before
(branche ton SPV)
cat /proc/bus/usb/devices > /tmp/after
diff /tmp/before /tmp/after
il se peut aussi que ça vienne de ton SPV
est ce que tu a installé usb killer ?
est ce que tu peux le synchroniser avec windows et ms outlook ?
est ce que tu l'a verrouillé par mot de passe (paramètres / Sécurité / Verrouillage de l'appareil) ?
comment est configuré activesync ? (activesync / menu / Connexions)![]()
Dernière modification par random (Le 12/01/2007, à 15:42)
Hors ligne
alors la commande lsusb :
Bus 004 Device 001: ID 0000:0000 Bus 002 Device 002: ID 1267:0201 Logic3 / SpectraVideo plc A4Tech SWOP-3 Mouse Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000
apparament pas de portable de reconnu
ensuite
$ ps -ef | grep dccm yannick 24741 24711 0 20:09 pts/0 00:00:00 grep dccm $cat /etc/modprobe.d/synce cat: /etc/modprobe.d/synce: Aucun fichier ou répertoire de ce type
pour
(débranche ton SPV) cat /proc/bus/usb/devices > /tmp/before (branche ton SPV) cat /proc/bus/usb/devices > /tmp/after diff /tmp/before /tmp/after
il ne me sort rien, apparament le portable n'est pas reconnu...
usb killer je ne pense pas l'avoir installé (comment vérifier?)
avec windows ca marchait (avec qqs difficultés parfois mais ca passait)
pas de verrouillage non plus
dans les options de active sync ya rien de particulier qui bloque (dans connexions j'ai "synchroniser tous les ordinateurs a l'aide de cette connexion" de coché avec "USB" de selectionner)
Je vais reterster avec windows quand meme pour voir si ca passe...
j'ai vérifié de plus pres, et il semblerait que mon cable usb ait un probleme, j'en ai donc prit un autre
j'ai cependant le meme probleme qu'avant a 2 choses pres :
lsusb donne
$ lsusb Bus 003 Device 002: ID 1267:0201 Logic3 / SpectraVideo plc A4Tech SWOP-3 Mouse Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 004 Device 003: ID 0bb4:0b51 High Tech Computer Corp. Bus 004 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
et la difference avant et apres branchement :
12a13,24 > T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=ef(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=0bb4 ProdID=0b51 Rev= 0.00 > S: Manufacturer=HTC > S: Product=Generic RNDIS > C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=100mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=ef(unk. ) Sub=01 Prot=01 Driver=usbfs > E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms > I: If12a13,24 > T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=ef(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=0bb4 ProdID=0b51 Rev= 0.00 > S: Manufacturer=HTC > S: Product=Generic RNDIS > C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=100mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=ef(unk. ) Sub=01 Prot=01 Driver=usbfs > E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms > I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=usbfs > E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms > E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms #= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=usbfs > E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms > E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
$ sudo dhclient3 rndis0 There is already a pid file /var/run/dhclient.pid with pid 5825 killed old client process, removed PID file 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 DHCPREQUEST on rndis0 to 255.255.255.255 port 67 DHCPACK from 169.254.2.1 bound to 169.254.2.2 -- renewal in 1291598 seconds.
Voila
sinon toujours pas
- dmesg | grep "rndis[0-9]: register" | grep "rndis_host" | tail -1
ne renvoie rien
- sudo odccm -f
tourne dans le vide
j'avance petit a petit...
maintenant odccm -f me sort bien ce qu'il faut
mais si je continue j'ai
$ pls ** (process:6482): WARNING **: No devices connected to odccm pls: Could not find configuration at path '(Default)' yannick@yannick:~/odccm$ pls ** (process:6486): WARNING **: No devices connected to odccm pls: Could not find configuration at path '(Default)'
et
$ pstatus ** (process:6492): WARNING **: No devices connected to odccm pstatus: Could not find configuration at path '(Default)'
c'est ce que tu as eu avant de faire ton hard reset? parce que sinon faut que je sauvegarde mes données :p (il y a un moyen pour ca? sous windows...)
oui j'ai eu ça avant mon hard reset, et apres aussi j'ai du fait plusieurs branchements et débranchements avant que pls et pstatus fonctionnent
un truc m'échape à ce niveau là, je ne sais pas si le hard reset est obligatoire
entre temps j'ai trouvé un truc : avec odccm lancé en daemon, et le spv branché, lance :
synce-matchmaker create
(actuellement le site www.synce.org ne réponds pas je regarderais ça plus tard)![]()
Dernière modification par random (Le 16/01/2007, à 10:23)
Hors ligne
random a écrit:
Dans Lancer une application, tappez
Code:
synce:///Il est aussi possible de créer un lanceur :
Code:
nautilus synce:///
Salut random !
Tout d'abord un énorme merci a toi pour ce tuto ![]()
J'ai tout suivi a la lettre et tout a l'air de fonctionné a merveille !
Je précise que j'ai un smartphone hp ipaq hw6915
Il a fallut que je change les parametres d'activesync et passé en mode sync RNDIS au lieu de série USB...sinon ca marchait pas ! pour ce que ca interesse. Bref !
J'suis débutant aussi chez Lunix (2e journée), j'ai reussi a quasiment tout installé jusqu'ici avec quelques misère...
Ma question est : pour la création du lanceur, j'ai fais clic droit, créer un lanceur, j'ai collé nautilus synce:/// dans le code, il me met un fichier sur mon bureau mais quand je clic dessus : « since:/// » n'est pas un emplacement valide. Vérifiez l'orthographe et essayez à nouveau.
Il ne me reste que ça ! si quelqu'un pouvais prendre le temps de m'expliqué ca serait super ! ![]()
Hors ligne
salut antoons
quel est le résultat de cette commande ?
cat /etc/gnome-vfs-2.0/modules/default-modules.conf | grep libsyncevfs![]()
Hors ligne
ca me donne ca :
synce: libsyncevfs
Hors ligne
étrange ...
antoons a écrit:
quand je clic dessus : « since:/// » n'est pas un emplacement valide
dans le message d'erreur, tu confirme que c'est un i ou un y ?
sinon je vois pas![]()
Hors ligne
J'vois pas non plus, j'ai tout essayé...
ALT+F2, j'colle le synce:/// il me met : Impossible d'ouvrir l'emplacement « synce:/// »
La commande d'action par défaut ne supporte pas ce protocole.
Si je crée le lanceur avec nautilus synce:/// pareil une erreur...
Pourtant tout avait l'air ok !
J'vais continuer a chercher ![]()
Hors ligne
Excellent How To!
I have everything working.
Is there a how to on internet via rndis0?
In the meantime, I will wait for the sync with evolution how to ![]()
thanks !
Edmond Tong a écrit:
In the meantime, I will wait for the sync with evolution how to
I could not make it work yet, i suppose we all have to wait
Have you seen the synce how to english pages ?
http://www.synce.org/index.php/Windows_ … 05_Support![]()
Hors ligne
I recomend installing synce-trayicon and software manager as well:
wget http://kuci.org/~teddy/ubuntu/synce-software-manager_0.9.0-2_i386.deb wget http://kuci.org/~teddy/ubuntu/synce-trayicon_0.9.0-2_i386.deb sudo dpkg -i synce-software-manager_0.9.0-2_i386.deb sudo dpkg -i synce-trayicon_0.9.0-2_i386.deb sudo ln -si /usr/lib/libgtop-2.0.so.7 /usr/lib/libgtop-2.0.so.2
Add "synce-trayicon" in your System/Preference/Startup Programs
Modify your test.py script:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import dbus
import dbus.glib
import gtk
import os
class TestApp:
def __init__(self):
self.devices = {}
bus = dbus.SystemBus()
self.bus = bus
proxy_obj = bus.get_object("org.synce.odccm", "/org/synce/odccm/DeviceManager")
mgr = dbus.Interface(proxy_obj, "org.synce.odccm.DeviceManager")
mgr.connect_to_signal("DeviceConnected", self.device_connected_cb)
mgr.connect_to_signal("DeviceDisconnected", self.device_disconnected_cb)
session_bus = dbus.SessionBus()
notif_obj = session_bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications")
self.notify_iface = dbus.Interface(notif_obj, "org.freedesktop.Notifications")
for obj_path in mgr.GetConnectedDevices():
self._add_device(obj_path, False)
def device_connected_cb(self, obj_path):
self._add_device(obj_path, True)
def device_disconnected_cb(self, obj_path):
if obj_path in self.devices:
device = self.devices[obj_path]
self.notify_iface.Notify("SynCE", 0, "", "PDA disconnected", "'%s' just disconnected." % device.name, [], {}, 3000)
del self.devices[obj_path]
p = os.popen('killall synce-trayicon')
def _add_device(self, obj_path, just_connected):
device = CeDevice(self.bus, obj_path)
self.devices[obj_path] = device
if just_connected:
p = os.popen('killall synce-trayicon')
self.notify_iface.Notify("SynCE", 0, "", "PDA connected", "A %s %s '%s' just connected." % \
(device.model_name, device.platform_name, device.name), [], {}, 3000)
ODCCM_DEVICE_PASSWORD_FLAG_SET = 1
ODCCM_DEVICE_PASSWORD_FLAG_PROVIDE = 2
class CeDevice:
def __init__(self, bus, obj_path):
self.obj_path = obj_path
dev_obj = bus.get_object("org.synce.odccm", obj_path)
dev = dbus.Interface(dev_obj, "org.synce.odccm.Device")
self.name = dev.GetName()
self.platform_name = dev.GetPlatformName()
self.model_name = dev.GetModelName()
self.dev_iface = dev
dev.connect_to_signal("PasswordFlagsChanged", self.password_flags_changed_cb)
self._print_debug()
self._password_flags_changed()
def _print_debug(self):
dev = self.dev_iface
print "Created CeDevice with obj_path=\"%s\"" % self.obj_path
print " GetIpAddress:", dev.GetIpAddress()
print " GetGuid:", dev.GetGuid()
print " GetOsVersion:", dev.GetOsVersion()
print " GetName:", dev.GetName()
print " GetVersion:", dev.GetVersion()
print " GetCpuType:", dev.GetCpuType()
print " GetCurrentPartnerId:", dev.GetCurrentPartnerId()
print " GetId:", dev.GetId()
print " GetPlatformName:", dev.GetPlatformName()
print " GetModelName:", dev.GetModelName()
print " GetPasswordFlags:", dev.GetPasswordFlags()
def password_flags_changed_cb(self, added, removed):
print "password_flags_changed_cb: added=0x%08x removed=0x%08x" % (added, removed)
self._password_flags_changed()
def _password_flags_changed(self):
flags = self.dev_iface.GetPasswordFlags()
if flags & ODCCM_DEVICE_PASSWORD_FLAG_PROVIDE:
authenticated = False
while not authenticated:
dlg = EntryDialog(None, "Password required",
"The PDA '%s' is password-protected. Enter password:" % self.name,
True)
if dlg.run() == gtk.RESPONSE_ACCEPT:
authenticated = self.dev_iface.ProvidePassword(dlg.get_text())
dlg.destroy()
class EntryDialog(gtk.Dialog):
def __init__(self, parent, title, text, password=False):
gtk.Dialog.__init__(self, title, parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT))
label = gtk.Label(text)
label.set_alignment(0.0, 0.5)
self.vbox.pack_start(label, False)
self._label = label
entry = gtk.Entry()
entry.set_visibility(not password)
self.vbox.pack_start(entry, False, True, 5)
self._entry = entry
self.show_all()
def get_text(self):
return self._entry.get_text()
TestApp()
gtk.main()And your tray icon should light up when your pocket pc is connected. Pardon my english.
une petite question:
j'arrive finalement a accéder aux informations de mon telephone avec pls/pcp/...
j'arrive a telecharger des fichiers du telephone vers l'ordinateur et inversement, mais par contre je n'arrive pas a naviguer dans le telephone avec nautilus, il me met
Impossible d'afficher "synce:///" La tentative de connexion a échoué
Une idée?
Salut,
J'ai suivi ton tuto a la lettre, j'ai un Asus A636N (WM2005).
AU moment de pls et pstatus, voici le resultat :
maison@maison-desktop:~$ pls
pls: Unable to initialize RAPI: An unspecified failure has occurred
maison@maison-desktop:~$ pstatus
pstatus: Unable to initialize RAPI: An unspecified failure has occurred
maison@maison-desktop:~$
J'ai essayer le hard reset mais rien n'y fait.
Merci
Hors ligne
1 2 3 4 Page suivante »