GPRS
GPRS via bluetooth
Introduction
Ce document a pour objet de vous décrire la procédure de configuration et d'utilisation d'une connexion internet GPRS sur le réseau Orange en utilisant un téléphone Sony Ericsson⢠T610i via Bluetooth sur un PC équipé d'une distribution MandrakeLinux 10.1.
Le GPRS, pour General Packet Radio Service, vous permet de vous connecter sur Internet de partout, via votre téléphone portable, à une vitesse théorique de 115kb/s. Ce qui est très supérieur aux 9,6kb/s d'une connexion GSM "classique" ou meme aux 56kb/s d'une connexion RTC.
Ce document a été créé avec nvu et est placé sous licence créative common ainsi que toutes les illustrations qui l'accompagnent.
Prérequis
- Un ordinateur portable ou non, compatible PC équipé d'une distribution MandrakeLinux 10.1. Toutefois ce document doit pouvoir etre facilement adapté à d'autres distributions. Néanmoins, nous nous intéresserons ici qu'au cas d'une MandrakeLinux 10.1sous KDE..
- Un adaptateur bluetooth compatible avec les drivers officiels bluetooth pour Linux : http://www.bluez.org
J'ai pour ma part utilisé un dongle USB de marque Gigabyte, modèle GN-BTD01 équipé d'un chipset CNR que j'ai trouvé en grande surface : http://www.gigabyte.fr/produits/communication/gn_btd01.htm - Un téléphone portable, équipé d'un modem GPRS et d'une connexion bluetooth ainsi qu'un abonnement comprennant l'accès GPRS.
Je n'ai pu pour ma part tester qu'un T61Oi sur le réseau Orange mais j'ai eu plusieurs échos sur des essais réussis avec des téléphones bluetooth Nokia sur les réseaux SFR et Bouygues.
Installation des drivers bluez et du gestionnaire bluetooth de kde
Il vous faut maintenant installer les drivers bluez ainsi que le gestionnaire de périhpériques bluetooth de kde. Rassurez-vous, c'est très simple après avoir mis votre base urpmi à jour avec l'excellent easyurpmi.
Ouvrez une console en tant que root et tapez :
Une fois les rpms installés, il vous faut démarrer le service bluetooth. Pour ça, toujours avec les droits root tapez :
Lancement des services Bluetooth : [ OK ]
Initialisation et paramétrage de la connexion au téléphone
Il est maintenant temps de connecter votre adaptateur bluetooth. Une fois celui-ci branché, allez dans le menu "connectivité" de votre téléphone et activez le bluetooth. Une fois le bluetooth activé, lancez la recherche de périphériques depuis votre téléphone qui devrait détecter votre PC et vous demander la clé de liaison.
Rentrez alors un code pin de votre choix. Là kdebluetooth va ouvrir une fenetre vous invitant à rentrer le code pin corespondant à votre téléphone (le meme que celui que vous venez de rentrer. Notez que kdebluetooth nous affiche l'adresse MAC du téléphone, prenez bien soin de la noter. Elle va nous etre indispensable pour la suite.). Comme sur l'illustration ci-dessous :
Une fois en possesion de l'adresse MAC du téléphone, nous allons déterminer sur quel canal se trouve l'interface de connexion réseau. Pour cela, on utilise sdptool avec la syntaxe suivante : spdptool browse suivit de l'adresse mac du téléphone.
Browsing 00 :0E :07 :72 :05 :99 ...
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
On voit dans l'exemple que le canal utilisé par Dial-up Networking est le 1. Nous allons donc établir la connexion avec le téléphone sur le canal 1. On va pour cela utiliser rfcomm en root avec la syntaxe suivante : rfcomm connect 0 suivie de l'adresse MAC du téléphone.
Connected /dev/rfcomm0 to 00 :0E :07 :72 :05 :99 on channel 1
Press CTRL-C for hangup
Si vous avez ce message, c'est bon la connection s'établit, coupez-là en faisant CTRL + C.
Installation de ppp et création des scripts de connexion
Nous allons maintenant installer le paquet ppp et créer les scripts de connexion/déconnexion GPRS.
Ces scripts fonctionnent pour le T610i et T68i sur le réseau Orange, mais peut-etre pour d'autres téléphones.
Pour l'installation de ppp :
Une fois ppp installé, on peut passer aux scripts de connexion/déconnexion. Pour cela deux solutions s'offrent à vous, soit vous vous occupez vous-meme de récupérer les scripts et de les placer dans /etc/ppp et de les rendre exécutables, soit d'utiliser mon script qui se chargera de tout. Si vous choisissez la première solution les scripts sont disponibles ci-dessous.
- [gprs.sh /etc/ppp/GPRS]
- [gprs-connect-chat.sh /etc/ppp/GPRS-connect-chat]
- [gprs-disconnect-chat.sh /etc/ppp/GPRS-disconnect-chat]
Si vous choisisez d'utiliser mes scripts tapez ceci en root dans une console.
Connexion GPRS
On touche bientot au but, à savoir la connexion au Net via GPRS en elle-meme.
Pour ça on va en premier établir la connexion PC >> téléphone avec rfcomm (comme on l'a fait dans la phase de test). En root bien sur.
Connected /dev/rfcomm0 to 00 :0E :07 :72 :05 :99 on channel 1
Press CTRL-C for hangup
C'est bon la connexion PC >> téléphone est effective. Surtout ne faites pas CTRL+C ça couperait la connexion. Maintenant ouvrez un deuxième onglet de console et toujours en root :
Press CTRL-C to close the connection at any stage!
defining PDP context...
OK
AT&F
OK
ATV1E0S0=0&D2&C1
OK
OK
OK
waiting for connect...
CONNECT
Connected.
If the following ppp negotiations fail,
try restarting the phone.
Serial connection established.
using channel 3
Using interface ppp0
Connect : ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe3dc3443> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp> <auth pap>]
No auth is possible
sent [LCP ConfRej id=0x1 <auth pap>]
rcvd [LCP ConfRej id=0x1 <magic 0xe3dc3443>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [LCP ProtRej id=0x4 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
rcvd [IPCP ConfReq id=0x1 <addr 212.234.96.90>]
sent [IPCP ConfAck id=0x1 <addr 212.234.96.90>]
rcvd [IPCP ConfNak id=0x1 <addr 10.16.136.19> <ms-dns1 194.51.3.56> <ms-dns3 194.51.3.76>]
sent [IPCP ConfReq id=0x2 <addr 10.16.136.19> <ms-dns1 194.51.3.56> <ms-dns3 194.51.3.76>]
rcvd [IPCP ConfAck id=0x2 <addr 10.16.136.19> <ms-dns1 194.51.3.56> <ms-dns3 194.51.3.76>]
not replacing existing default route to wlan0 [192.168.0.1]
local IP address 10.16.136.19
remote IP address 212.234.96.90
primary DNS address 194.51.3.56
secondary DNS address 194.51.3.76
Script /etc/ppp/ip-up started (pid 9053)
Script /etc/ppp/ip-up finished (pid 9053), status = 0x0
C'est bon la connexion Internet est établie. Ne fermez surtout pas les 2 shells précédement ouverts. Il ne vous reste plus qu'à profiter de votre connexion "nomade" pour faire de l'irc, du surf, etc... J'ai testé le GPRS sur un voyage en TGV Montpellier >> Paris et j'ai pu avoir une connexion à peu près stable. Prochain défi, Irc sur le viaduc de Millau :-). Pour couper la connexion un CTRL+C dans la deuxième console suffit. Vous aurez alors un résumé des statistiques de connexion.
Connection terminated.
Connect time 0.5 minutes.
Sent 69 bytes, received 54 bytes.
Sending break to the modem
PDP context detached
Serial link disconnected.
Connect time 0.5 minutes.
Sent 69 bytes, received 54 bytes.
Références, remerciements
Pour réaliser ce tuto, j'ai glané divers renseignements sur les sites suivants :
- http://olberger.club.fr/btGPRSfisio820orangefr.html
- http://www.gsmworld.com/technology/GPRS/intro.shtml
- http://kde-bluetooth.sourceforge.net/
Copyright
Copyright © 20/12/2004, Plouf
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |