Je connecte régulièrement non téléphone portable Nokia 6820 avec mon pc sous linux via un câble USB. J'ai voulu faire de même avec l'asus eee. J'arrive à monter le téléphone comme un disque externe USB , je navigue sans problème dans les répertoires . Mais dès que je demande à transférer un fichier (photo) de mon téléphone vers l'asus , la copie commence puis 'gèle' . Les autres périphériques en USB fonctionnent normalement. (Est ce un problème de vitesse ou de version de l'USB ?) .
Ne renonçant pas à connecter mon téléphone sur l'asus , j'ai essayé le mode 'bluetooth' . En effet j'ai piqué à mon fils un dongle USB/bluetooth qui marche parfaitement sous windows.
1 )Premiers essais (ou émois) en bluetooth .
Je démarre le service bluetooth par /etc/init.d/bluetooth start
réponse :
home/user> /etc/init.d/bluetooth start
Starting bluetooth: hcid sdpd sdp_options rfcomm.
J'insère le dongle , qui reste éteint .
Je lance la la commande :
hcidconfig
/home/user> hciconfig
hci0: Type: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0
L'interface est down , je la passe à UP par
hcidconfig hci0 up
Miracle , le voyant de la clé clignote !
Je lance la découverte blutooth de mon téléphone et j'obtiens :
CRC-bc4
Je tente une connexion , le téléphone me demande un code PIN , je rentre '0000' . Le téléphone n'arrive pas à valider ce code PIN .
J'essaye une manœuvre symétrique sur l'asus en tapant :
hcitool scan
/home/user> hcitool scan
Scanning ...
00:1A:16:34:AB:F5 Germanlinux
l'asus voie mon téléphone .
Je continue par
/home/user> l2ping 00:1A:16:34:AB:F5
Ping: 00:1A:16:34:AB:F5 from 00:1B:1D:10:37:DD (data size 44) ...
0 bytes from 00:1A:16:34:AB:F5 id 0 time 15.87ms
0 bytes from 00:1A:16:34:AB:F5 id 1 time 26.50ms
2 sent, 2 received, 0% loss
la commande l2ping réalise des pings sur la couche L2t .
Les pings fonctionnent
Je tente de 'binder' mon téléphone par la commande
rfcomm -i hci0 bind 0 00:1A:16:34:AB:F5 1
Cette commande crée un l'entrée dans /dev/rfcomm0
je tente ensuite de monter mon téléphone par la commande :
p3nfsd -series60 -tty /dev/rfcomm0 -dir /media/bluetooth/
Mon téléphone me demande le code PIN protégeant la connexion , et là pareil , pas moyen de rentrer un code valide.
2)Les fichiers de configuration
Les différentes doc sur Internet indiquent la présence de trois fichiers de configuration dans le répertoire /etc/bluetooth . sous xandros , je n'en trouve que deux :
/etc/bluetooth/hci.conf
/etc/rfcomm.conf
Le fichier hci.conf contient une ligne particulière :
passkey "0000";
C'est normalement le code PIN à entrer pour autoriser la connexion . Le fichier manquant est /etc/bluetooth/pin
qui peut contenir lui aussi le code PIN ( la chaine '0000').
En fait le daemon hcid sous xandros ne tient pas compte de ces informations . Pour obtenir quelque chose qui marche
Je lance le service dbus
(/etc:init.d/dbus start)
Puis j'active le service hcid de la manière suivante :
hcid -n -f /etc/bluetooth/hcid.conf
l'option 'n' permet de ne pas placer le daemon en tache de fond .
En ressayant la connexion à partir du téléphone , je vois arriver sur la console les demandes de code PIN et cette fois ci le téléphone autorise les connexions de l'asus .
Il faut- noter au passage que le nom de la connexion à changée de CRC-bc4 à asus-nnnnnn
Par contre si je veux aller plus loin dans la connexion avec le téléphone , j'obtiens un message d'erreur (pas de connexion bluetooth) .
3)Le protocole OBEX
Finalement la solution vient par l'utilisation du protocole OBEX .
Je procède de la manière suivante :
Lancement de dbus
Lancement de hcid (à la main)
bind de mon asus et de mon téléphone par :
rfcomm -i hci0 bind 0 00:1A:16:34:AB:F5 1
puis je lance la commande de mon client OBEX (obexftp)
obexftp -b -l /
pour lister le contenu du réperoire racine
et
obexftp -b -c /Eric/Photos/ -g Photo576.jpg
pour copier le fichier Photo576.jpg du répertoire /Eric/Photos/ de mon téléphone vers le répertoire courant de mon pc .
Et là ça marche !!
Conclusion
J'arrive à présent à faire diaéloguer mon téléphone avec l'asus.
Il me reste à automatiser les opérations. En lisant la doc , il semble possible de s'introduire sur les téléphones portables en exploitant les failles de sécurité.
Aucun commentaire:
Enregistrer un commentaire