16ar Posté(e) le 5 septembre 2006 Partager Posté(e) le 5 septembre 2006 Hop je commence par réserver des posts Résumé Ce tutorial va vous permettre de synchroniser votre téléphone portable avec un répertoire de fichiers sur votre machine linux via bluetooth. J'ai eu le besoin de sauvegarder mes contacts sur mon PC car je faisais de moins en moins confiance à mon portable et j'avais peur de ne plus accéder à mes contacts car ils étaient stockés sur le téléphone et non pas sur la SIM. De plus, je change de portable dans pas longtemps, raison de plus pouvoir transférer les contacts d'un portable à un autre. Environnement de test * Toute cette procédure a été effectuée sous une Debian sid/unstable kernel 2.6.17.4 * Dongle bluetooth USB : MSI. Bluetooth USB Dongle * Téléphone portable : SonyEricsson T68i * outils et librairies utilisées : la pile bluetooth bluez, le logiciel de synchronisation multisync Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 Installation du bluetooth (je me suis basé sur ce tutorial pour configurer ma machine : http://gentoo-wiki.com/HOWTO_The_host-to-host_Bluetooth) Tout d'abord, avant de transférer les données via bluetooth, il faut avoir un bluetooth fonctionnel ! Même au fond ca suit, formidable ! Pour que le bluetooth marche, puisque c'est lié à du matériel et des protocoles, il y'a une partie nécéssaire dans le kernel (kernelspace), et une autre en outils utilisateurs (userspace) Les modules kernel nous intéressant se trouvent : Networking ---> <*> Bluetooth subsystem support ---> <*> L2CAP protocol support <*> SCO links support <*> RFCOMM protocol support [*] RFCOMM TTY support <*> BNEP protocol support [*] Multicast filter support [*] Protocol filter support Bluetooth device drivers ---> <*> HCI USB driver [*] SCO (voice) support USB support ---> <*> Support for Host-side USB --- USB Host Controller Drivers <M> EHCI HCD (USB 2.0) support <M> OHCI HCD support <*> UHCI HCD (most Intel and VIA) support --- USB Device Class drivers <*> USB Audio support Installons ensuite les paquets qui nous intéressent : aptitude install bluetooth Ca devrait installer bluez-utils et toute les dépendances afférentes. A partir de la, nous devrions avoir des outils sympathique comme hcitool, hciconfig, rfcomm, l2ping ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 utilitaires en ligne de commande hciconfig : utilitaire permettant de configurer le service et les periphériques bluetooth de la machine linux. C'est un utilitaire root. hcitool : utilitaire permettant d'interagir avec les périphériques bluetooth externes à la machine linux (téléphone portable, kit main libre...). Il est utilisable en tant qu'utilisateur pour la lecture (scanner les périphériques bluetooth a proximité), mais nécéssite les droits root lorsqu'il y'a des connexions a initier. l2ping : utilitaire permettant de pinger un périphérique bluetooth à proximité et déjà jumelé. Il nécéssite les droits root (car le programme créé un socket) rfcomm : utilitaire permettant de lier un periphérique bluetooth jumelé à la machine linux. Cela créera un periphérique /dev/rfcommXX qui est accessible comme un port série. C'est une sorte d'émulation de port série via bluetooth. Il nécéssite les droits root puisqu'il créé un périphérique dans /dev/). La liaison automatique de périphériques connus se fait dans /etc/bluetooth/rfcomm.conf services : hcid : le daemon qui permet à une machine linux d'avoir un accès bluetooth. Il se configure dans /etc/bluetooth/hcid.conf Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 Vérifions que notre périphérique bluetooth est détecté : # grep ^[TPD] /proc/bus/usb/devices | grep Cls=e0 -B1 -A1 T: Bus=02 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0a12 ProdID=0001 Rev= 5.25 le : Cls=e0(unk. ) indique que c'est une périphérique bluetooth. (me demandez pas pourquoi, c'est indiqué dans le tutorial gentoo ! ) Commencons par configurer notre daemon hcid Vérifions que le périphérique bluetooth est bien reconnu par la pile bluez à coup de hciconfig : # hciconfig hci0: Type: USB BD Address: 00:02:72:C9:00:3B ACL MTU: 377:10 SCO MTU: 16:0 UP RUNNING AUTH RX bytes:169931 acl:7386 sco:0 events:3285 errors:0 TX bytes:90769 acl:4746 sco:0 commands:174 errors:0 Mon dongle bluetooth est donc bien reconnu et est utilisé par le système en tant que : hci0 Modifions /etc/bluetooth/pin afin que nous ayons un PIN par défaut pour notre configuration 1234 Nous allons faire en sorte que hcid soit configuré comme il faut a chaque démarrage pour notre dongle. il suffit de remplir le fichier de configuration /etc/bluetooth/hcid.conf tel quel et d'adapter suivant les cas (y'a beaucoup d'options que je ne connais pas et donc que j'ai copié collé) # # HCI daemon configuration file. # # HCId options options { # Mise en marche automatique des nouveaux périphériques (je suppose lors d'un branchement à chaud : TODO: à tester) autoinit yes; # Mode de gestion de la sécurité # none - aucun gestionnaire de sécurité # auto - on utilise le pin de /etc/bluetooth/pin ou le passkey pour accepter les connexions (TODO: quel pin est lu, celui du fichier de conf pin, ou celui du passkey ?) # user - On demande le PIN a chaque fois à l'utilisateur lors de jumelage # security auto; # Mode de jumelage # none - aucun jumelage # multi - Jumelage multiple # once - Jumele 1 périphérique et refuse les autres (TODO: à tester) pairing multi; # code PIN par défaut lors de connexions entrantes passkey "1234"; } # Les paramêtres par défaut pour les périphériques bluetooth de la machine device { # Le nom du périphérique affiché lors d'un scan # %d - ID du périphérique # %h - Nom de la machine (le contenu de /etc/hostname) name "%h a le BlueZ"; # La classe du périphérique local (TODO: utilité ?) class 0x3e0100; # Default packet type #pkt_type DH1,DM1,HV1; # Accepter les scan # iscan : inquiry scan (les scans effectués par les autres appareils pour voir qui est disponible en bluetooth) # pscan : page scan (TODO: utilité du page scan) # ATTENTION : seul le pscan à l'air d'être activé au démarrage automatique TODO:voir pourquoi le iscan n'est pas activé iscan enable; pscan enable; # Le mode de liaison par défaut # none - pas de règle par défaut # accept - accepte toujours les connexion entrantes # master - devient le maitre de la connexion entrante # refuse ce role dans des connexion sortantes (TODO: traduction mot a mot, je ne sais pas à quoi ca sert :p) lm accept; # Règle de liaison par défaut # none - aucun # rswitch - autorise le changement de role # hold - autorise la conservation de la liaison # sniff - autorise le sniffing # park - autorise le park # TODO:comprendre tout ca lp rswitch,hold,sniff,park; } Il suffit ensuite de relancer le service bluetooth. # /etc/init.d/bluetooth restart On vérifie que la configuration est bien telle qu'on l'a indiqué dans le fichier de configuration : # hciconfig -a Ca devrait ressembler à ça : hci0: Type: USB BD Address: 00:02:72:C9:00:3B ACL MTU: 377:10 SCO MTU: 16:0 UP RUNNING PSCAN ISCAN RX bytes:9336 acl:153 sco:0 events:308 errors:0 TX bytes:5331 acl:140 sco:0 commands:134 errors:0 Features: 0xff 0xfe 0x0d 0x38 0x08 0x08 0x00 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: SLAVE ACCEPT Name: 'TouffeBleue a le BlueZ' Class: 0x3e0100 Service Classes: Networking, Rendering, Capturing, Object Transfer, Audio Device Class: Computer, Uncategorized HCI Ver: 1.2 (0x2) HCI Rev: 0x14 LMP Ver: 1.2 (0x2) LMP Subver: 0x309 Manufacturer: Broadcom Corporation (15) Si il n'y a pas ISCAN indiqué, votre machine linux ne sera pas détectable par les scan des téléphones portables. Pour vous faciliter la tâche, activez le : # hciconfig hci0 piscan piscan permet d'activer le iscan ET le pscan. Comme je ne sais pas a quoi sert le pscan, je préfère l'activer quand même A partir de maintenant, on peut scanner notre machine linux avec nos portables bluetooth. On peut même les jumeler en utilisant le code de liaison indiqué dans le passkey de /etc/bluetooth/hcid.conf ou dans /etc/bluetooth/pin Une fois que les appareils sont jumelés, on va crééer les périphériques rfcomm et on va enfin pouvoir utiliser multisync. La suite au prochain numéro :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 Configuration des connexions en RFCOMM Maintenant que nos périphériques sont jumelés et peuvent se voir, ils doivent pouvoir communiquer entre eux. On va créer cette liaison en utilisant RFCOMM (Radio Frequency COMMunication). Tout d'abord, on va vérifier que notre téléphone portable support la synchronisation avec IrMC : sdptools browse sdptools (Service Discovery Protocol) permet de savoir quels sont les services disponibles sur le portable et donc les moyens de communications. Pour mon t68i, ca donne : Inquiring ... Browsing 00:11:22:33:44:55 ... Service Name: Dial-up Networking Service RecHandle: 0x10000 Service Class ID List: "Dialup Networking" (0x1103) "Generic Networking" (0x1201) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100 Service Name: Fax Service RecHandle: 0x10001 Service Class ID List: "Fax" (0x1111) "Generic Telephony" (0x1204) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 2 Profile Descriptor List: "Fax" (0x1111) Version: 0x0100 Service Name: Voice gateway Service RecHandle: 0x10002 Service Class ID List: "Headset Audio Gateway" (0x1112) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 3 Profile Descriptor List: "Headset" (0x1108) Version: 0x0100 Service Name: Serial Port 1 Service RecHandle: 0x10003 Service Class ID List: "Serial Port" (0x1101) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 4 Service Name: Serial Port 2 Service RecHandle: 0x10004 Service Class ID List: "Serial Port" (0x1101) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 5 Service Name: OBEX Object Push Service RecHandle: 0x10005 Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 10 "OBEX" (0x0008) Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100 Service Name: IrMC Synchronization Service RecHandle: 0x10006 Service Class ID List: "IrMC Sync" (0x1104) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 11 "OBEX" (0x0008) Profile Descriptor List: "IrMC Sync" (0x1104) Version: 0x0100 Service Name: Voice gateway Service RecHandle: 0x1000f Service Class ID List: "Handfree Audio Gateway" (0x111f) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 6 Profile Descriptor List: "Handsfree" (0x111e) Version: 0x0100 Ainsi on voit que le service IrMC est disponible sur le canal 11. On va configurer rfcomm pour se lier sur le canal 11. On peut tout configurer avec l'utilitaire en ligne de commande rfcomm Seulement, y'a plus automatique pour ne pas avoir à le faire a chaque fois, le fichier /etc/bluetooth/rfcomm.conf On va l'editer tel quel # le nom indique le nom du périphérique accessible via /dev/nomDuPeriph. ici, ca sera /dev/rfcomm0 # et pour les utilisations de la commande rfcomm, le chiffre de fin indique l'ID du périphérique, ici : 0 rfcomm0 { # On lie automatiquement le périphérique distant au démarrage sur le peripherique /dev/rfcomm0 bind yes; # On indique l'adresse bluetooth du périphérique distant device 00:11:22:33:44:55; #On indique le canal qui sera lié, ici le 11 est pour le service IrMC de mon T68i channel 11; #Un commentaire comment "16aR"; } On peut relancer le service bluetooth /etc/init.d/bluetooth restart [code] NOTE : Ce fichier de configuration nous simpliefiera la vie lorsqu'on utiliseras rfcomm. Exemple, quand on veut connecter le PC et le portable ensemble sur le canal 11, il faut normalement lancer : [code]rfcomm connect 0 00:11:22:33:44:55 11 On connecte le periphérique 0 (/dev/rfcomm0) avec le périphérique distant 00:11:22:33:44:55 sur le canal 11 Comme on a deja indiqué que /dev/rfcomm0 et 00:11:22:33:44:55 sont liés dans le fichier /etc/bluetooth/rfcomm.conf, il nous suffit de faire : rfcomm connect 0 Le reste sera lu dans le fichier de config :) On vérifie que notre connexion rfcomm est bien ok : rfcomm Moi ca indique : rfcomm0: 00:11:22:33:44:55 channel 11 clean On va donc passer à la configuration de multisync Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 Multisync, configuration et utilisation tout d'abord, récupérons multisync : # aptitude install multisync libmultisync-plugin-backup libmultisync-plugin-irmc-bluetooth lançons le. On va créer un nouveau profil de synchronisation : bouton New... ou CTRL + N Une fenetre de configuration va s'ouvrir. Les parties intéressantes sont en premiere page : first plugin second plugin En effet, chaque plugin permet une synchronisation particuliere : synchronisation d'un téléphone portable vers un repertoire d'un systeme de fichier classique, ou bien vers un agenda/calendrier d'Evolution. Pour le moment, je n'ai testé que le plugin sauvegardant les données vers le systeme de fichier : backup. Mon premier plugin sera donc : IrMC Mobile Device Mon deuxieme sera : Backup On séléctionne les parties que l'on veut synchroniser : Calendrier, contacts et les taches Configuration d'IrMC Mobile Device On appuie sur Options et on tombe sur une nouvelle fenetre de configuration. Dans connection, on séléctionne bluetooth Puis multisync nous mache le boulot, on appuie sur search for device en ayant activé le bluetooth sur notre appareil. Il devrait le detecter : on le selectionne, et pour bien faire, on vérifie la connexion avec le test. Si ca ne marche pas, les 2 périphérique (pc et portables) ne sont surement pas jumelés. Une fois que la connexion fonctionne, on peut sortir de ce panneau. NOTE: il y'a des options a tester dans l'autre onglet de ce panneau. Notamment dans bug workaround, il se peut qu'une case non cochée empechera le bon fonctionnement. Configuration de Backup Dans l'onglet options, on séléctionne un répertoire vers lequel on veut une sauvegarde du contenu de notre portable. Voila, c'est fini pour la configuration. On finit par donner un nom a notre profil de synchronisation (genre PhoneToPC) et on valide. La synchronisation ! De retour sur l'interface principale de multisync, notre profil est apparu dans la liste. On séléctionne notre profil, et on appuie sur sync. Ensuite, on attends. Suivant les options cochées dans l'onglet options de IrMC, on verra apparaitre sur notre téléphone : synchronisation en cours, ou pas. En tout cas, soyez patient. Ca m'a pris presque 5 min à me transférer mes 340 données (contacts, evenement + todo) Normalement, dans votre répertoire de backup vous devriez avoir 1 fichier par donnée. Il vous suffira d'utiliser votre outil préféré pour récuperer le fichier contenant le nom et le numéro de votre contact perdu. a savoir grep -i "leNomDeMonContact" /mon/repertoire/de/backup/* | xargs cat | grep Pour moi, je cherche mon ami Gerard Majax grep -i "gerard.*majax" * | cut -d: -f1 | xargs cat | grep TEL Ca me sort : TEL;HOME:0123456789 TEL;CELL:9876543210 Ou sinon un grep -i "gerard.*majax" * | cut -d: -f1 | xargs cat nous permettras d'afficher le contenu entier des fichiers pour gerard majax, on pourra récupérer son email par exemple. (qui est bien sur gerard.majax@grandmagicien.com, tout le monde le sait) Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 [Réservé] Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 [Réservé] Bon ben je pense que j'ai reservé assez de posts. Vous pouvez commencer a commenter :) Par contre, oui c moche, et oui, y'a pas beaucoup d'infos, en tout cas, pas les infos intéressantes Ca viendra demain :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
hachcoco Posté(e) le 6 septembre 2006 Partager Posté(e) le 6 septembre 2006 Par contre, oui c moche, et oui, y'a pas beaucoup d'infos, en tout cas, pas les infos intéressantes Ca viendra demain :) C'est quand même assez déroutant en ligne de commande. C'est pas possible de la faire avec une gui ? En tout cas très bien , si je ne trouve pas un logiciel qui le fais je prendrais une semaine sabatique et je me lancerais la dedans (qui a dit que j'étais nouveau sous nunux ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 6 septembre 2006 Auteur Partager Posté(e) le 6 septembre 2006 Maintenant que je comprends un peu mieux l'architecture du bluetooth, j'ai pu faire des recherche plus pertinentes, et j'ai trouvé ca : http://www.kde-apps.org/content/show.php?content=23061 Ce script permet a votre machine linux de fournir de devenir un accessoire bluetooth (comme un clavier, un kit main libre, ..) et donc de pouvoir acceder a des options via votre menu accessoire de votre téléphone bluetooth. La, ce logiciel utilise bluemote pour gérer le mode "accessoire", lui il prémache la configuration de bluemote via un panneau de configuration kommander. Il possède des scripts tout fait pour bluemote : amarok, koffice Kpresenter, kmplayer. Ainisi, grace a ca, dans notre menu accessoire, on voit PC remote, et de la on peut par exemple changer la chanson d'Amarok en cours. Plus utile, dans le cadre d'une présentation professionnelle avec KPresenter, on peut changer de slide sans changer de place ou se pencher sur la machine. La l'intéret est déjà plus grand. Bref, moi j'adore :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 8 septembre 2006 Auteur Partager Posté(e) le 8 septembre 2006 Le tutorial est terminé pour ce que j'ai pu découvrir et utiliser du bluetooth et multisync Voila, j'espere que ca vous a plu et que ca vous sera utile :) Je mettrai en forme quand j'aurai du temps, et aussi je rajouterai des screenshots pour multisync. Bon bidouillage de touffe bleue ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 8 septembre 2006 Partager Posté(e) le 8 septembre 2006 Bon bidouillage de touffe bleue ! dent bleue Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 8 septembre 2006 Auteur Partager Posté(e) le 8 septembre 2006 Bon bidouillage de touffe bleue ! dent bleue je m'insurge, les américains disent : just plug your blue touffe device ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
j_c_p Posté(e) le 8 septembre 2006 Partager Posté(e) le 8 septembre 2006 Hop, un petit shot pour agrémenter le topic (j'utilise depuis pas mal de temps l'interface bluetooth pour communiquer avec mon téléphone : ça fonctionne nickel) : Téléphone : Samsung SGH-E730 Dongle : Belkin Dongle USB Bluetooth 10 (F8T009 via bcm2035) Le tout sous Gentoo x86_64. edit : sinon, pour ma part, je fais toutes les manipulations via l'interface graphique de KDE, une fois la phase de configuration passée (ce qui est fait depuis un bout de temps, à vrai dire). Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 8 septembre 2006 Auteur Partager Posté(e) le 8 septembre 2006 Bon, moi je viens de tester la synchronisation IrMC->Ximian2 Evolution Ca marche impec. Mon calendrier est géré, mes contacts et ma liste de tache aussi. Le calendrier sur mon T68i ne gère qu'un seul rappel par contre, et la gestion des groupes du t68i et d'evolution est différente. Mais au final, vive le gain de temps (clavier azerty, clavier telephone portable) J'ai utilisé evolution car y'a pas de plugin pour kde-PIM sur multisync, et j'ai pas encore testé autre chose que ca. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 9 septembre 2006 Partager Posté(e) le 9 septembre 2006 MESSAGE AUX POSTEURS FOUS : Ne répondez pas tant que je ne l'aurai pas indiqué !! MerciL'anti flood bloque pas mal le processus de reservation de posts D'où la possibilité de MP un admin avant de se lancer.Tu peux supprimer cette partie mainenant je suppose. Lien vers le commentaire Partager sur d’autres sites More sharing options...
16ar Posté(e) le 4 novembre 2006 Auteur Partager Posté(e) le 4 novembre 2006 Bonjour à tous, j'ai changé de portable et je viens de tester sur mes nouvelles config : OS : ubuntu 6.06 Dapper Téléphone : SonyEricsson W850i Ca marche impec ! La seule variation, c'est le nom du service bluetooth sous ubuntu : c'est bluez-utils. Donc /etc/init.d/bluez-utils restart au lieu de /etc/init.d/bluetooth restart Voila (bon par contre, les photos des contacts ne sont pas synchronisé dans evolution :( ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.