Partage Internet par bluetooth pour PDA
June 26th, 2005 by Melaneum
Surfer sur internet avec un PDA en utilisant la connexion Bluetooth d’un PC linux qui sert de passerelle. Cela peut être utile pour enregistrer des itinéraires avant de partir en vacances par exemple.
Principe
Le PDA va établir une liaison par bluetooth avec un PC sous linux grâce à une clé usb-bluetooth. Ce PC sous linux sera configuré pour partager sa connexion internet permanente.
Installation des outils nécessaires
apt-get install bluez-hcidump libbluetooth1 apt-get install bluez-utils bluez-firmware
Une connexion ppp va être utilisée donc les packages relatifs sont aussi nécessaire (souvent installés par défaut).
Configuration
Brancher la clé usb, normalement, les modules nécessaires sont chargés automatiquement. Vérifier avec lsmod que le module hci_usb est chargé.
Relancer le gestionnaire bluetooth: /etc/init.d/bluez-utils start
La commande hciconfig donne normalement un résultat du style:
hci0: Type: USB
BD Address: 11:22:33:44:55:66 ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:107 acl:0 sco:0 events:14 errors:0
TX bytes:300 acl:0 sco:0 commands:13 errors:0
où 11:22:33:44:55:66 est l’adresse de la clé bluetooth.
Si le PDA est allumé et à proximité, une requête hcitool inq permet de le détecter:
Inquiring ...
66:55:44:33:22:11 clock offset: 0x1030 class: 0x120110
où 66:55:44:33:22:11 est l’adresse bluetooth du PDA (le PDA doit être configuré pour être détectable bien sur)
l2ping 66:55:44:33:22:11 permet de pinger le PDA pour vérifier que la connexion est là.
Editer le fichier /etc/bluetooth/rfcomm.conf pour autoriser le PDA à se connecter:
rfcomm0 {
bind yes;
device 66:55:44:33:22:11;
channel 1;
comment "Pocket PC";
}
suivit de la commande rfcomm bind all.
hciconfig -a permet d’avoir des informatins plus détaillées, notamment le nom client affecté par défaut (du type monordi-0)
Lancement de la connexion
Création de la connexion entrante:
dund --listen --msdun --channel 1 192.168.2.101:192.168.2.102
Autorisation au niveau du firewall et spécification du routage:
echo '1' > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i ppp0 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Dans l’hypothèse où la connexion internet permanente se trouve sur eth0 et où la connexion créée par le PDA se fait sur ppp0.
Configuration d’un Pocket PC
Sur le pocketPC:
Bluetooth manager -> new -> connect! -> connect to the internet.
next -> connect via a LAN… -> next -> choisir le pc sous linux
Si la connexion échoue avec un message dans /var/log/messages du style
cat /var/log/messages Mar 14 00:17:22 localhost pppd[19725]: Using interface ppp0 Mar 14 00:17:22 localhost pppd[19725]: Connect: ppp0 <--> /dev/rfcomm1 Mar 14 00:17:25 localhost pppd[19725]: Peer monordi-0 failed CHAP authentication Mar 14 00:17:25 localhost pppd[19725]: Connection terminated. Mar 14 00:17:25 localhost pppd[19725]: Hangup (SIGHUP)
Il faut modifier le fichier /etc/ppp/chap-secrets
# Secrets for authentication using CHAP # client server secret IP addresses "monordi-0" * "monpassword" *
le nom client et le password étant les même que ceux entré sur le pocketPC à l’étape précédente.
Si la connexion n’est pas DHCP, préciser les DNS au PocketPC. cat /etc/resolv.conf pour connaitre les DNS utilisés en général par le PC. Sur le pocketPC: Menu Demarrer -> Settings -> onglet Connections -> Connections -> Manage existing connections -> BT Network Access -> Edit -> Next -> Next -> Régler les user name et password -> advanced -> onglet TCP/IP -> spécifier l’adresse 192.168.2.102 -> onglet serveur -> ajouter les DNS -> ok -> finish.
La tentative suivante de connexion devrait fonctionner
Déconnexion
Se déconnecter à partir du PDA, puis kill des programmes dund sdpd et hcid sur le PC.
Notes
Je n’ai pas réussi à faire marcher ce partage avec un ordinateur sous Windows XP à la place de Linux malgré un nombre de tentatives non négligeable. L’absence de messages d’erreur clairs empêche de localiser la source du problème (tout l’intérêt des logs sous Linux). Un écran bleu signalant un plantage d’un module de communication est même arrivé redémarrant tout le PC. C’est pour cela que j’ai tenté de faire l’opération sous Linux. J’ai été surpris de la rapidité et de la facilité à mettre un tel système en place.
Une source qui m’a bien aidé pour faire marcher tout ca: http://www.metacon.ca/bcs/view.php?page=bluetooth
This entry was posted on Sunday, June 26th, 2005 at 19:23 CEST and is filed under Network configuration, Pocket PC. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.