dimanche 17 février 2008

Partage de connexion Internet 3G ou GRPS via Bluetooth ou USB sous Linux

Contexte : Dans l'hypothèse ou je me retrouverais un jour à un endroit ss Internet pour mon laptop professionel (oui oui c possible et pas uniquement au fin fond de la Creuse) , l'importance d'une connexion d' "urgence" s'est fait sentir. Une relation professionelle m'a suggéré l'idée d'utiliser alors la connexion 3G, partagée via Bluetooth ...

La recette du jour : Comment partager sa
connexion 3G mobile, via Bluetooth ou port série, vers un Laptop tournant sous Linux ?

Temps de cuisson : pas longtemps

Ce qu'il vous faut :
  • Un laptop tournant avec une distribution Linux récent et un kernel récent (important). Dans mon cas, c'est Fedora 8 avec un kernel standard : 2.6.23.15-137.fc8
  • Une clé USB bluetooth ou un laptop intégrant déjàle bluetooth (J'utilise celle de Belkin )
  • Un téléphone 3G exposant des services DUN ( Dial-Up Networking) avec un forfait Data ( Dans mon cas, Orange Intense avec Option Internet)
  • Des doigts en nombre suffisant et pas d'yeux de chouette
Let's Go : Les informations générales de mise en oeuvre sont bien décrites sur les sites suivants :

http://www.howtoforge.com/linux_internet_access_gprs_edge_via_bluetooth_gsm_phone

http://wiki.clug.org.za/wiki/GPRS_Internet_over_Bluetooth https://help.ubuntu.com/community/BluetoothDialup (Bonne section troubleshooting)


Les settings qui ont marché pour moi :
  1. Vérifier que pppd est présent sur votre système ( yum install ppp sinon )
  2. Créer un fichier /etc/ppp/chat-orange contenant les commandes GSM à envoyer à partir du téléphone. Ces settings ont marché pour moi (une commmande par ligne):
    • '' ATZ OK
    • AT+CGDCONT=1,"IP","orange.fr"
    • OK "ATD*99***1#"
    • CONNECT ''
    Remplacer les sections pertinentes avec les ressources ci-dessus (orange.fr par votre APN - contacter votre opérateur au besoin - et voir cette section pour ATD*99***1#)
  3. Editer ou créer un fichier /etc/bluetooth/rfcomm.conf contenant ces instructions :

  4. rfcomm0 {
    # Automatically bind the device at startup
    bind yes;

    # Bluetooth address of the device
    device 00:11:22:33:44:55;

    # RFCOMM channel for the connection
    channel 2;

    # Description of the connection
    comment "SE K800i";
    }
    En remplaçant éventuellement le comment mais surtout l'adresse MAC par celle de votre téléphone (obtenue avec la commande "hcitool scan"), et le numéro de channel obtenu en suivant ces instructions


  5. Créer un fichier /etc/ppp/orange-bluetooth contenant ces instructions :
  6. /dev/rfcomm0 460800
    460800
    debug
    connect '/usr/sbin/chat -v -f /etc/ppp/chat-orange'
    crtscts
    modem -detach
    noccp
    defaultroute
    usepeerdns
    user "orange"
    noauth
    ipcp-accept-remote
    ipcp-accept-local
    noipdefault
    Regarder dans la conf de votre téléphone pour savoir quel user utiliser pour se connecter via votre compte data. Pour le débit, je n'ai pas trouvé de valeur définitive mais 460800 semble être une valeur couramment employée pour un compte Data 3G ou GPRS...Il se peut également que vous n'ayez pas le même rfcomm mais c unlikely...replace accordingly.


  7. Créer un fichier /etc/ppp/orange-usb contenant exactement les mêmes instructions que ci-dessous, à l'exception du device, qui doit être /dev/ttyACM0 , 1 ou 2 (à determiner à l'aide de la commande lsusb).
  8. La route DNS par défaut ne sera pas modifiée si vous avez déjà des interfaces actives. Pour mettre à jour le DNS automatiquement, éditer le fichier /etc/ppp/ip-up.local et y placer les instructions suivantes:

  9. sed -i /etc/resolv.conf -e 's/nameserver/\#nameserver/g'
    echo "nameserver 194.51.3.56" >> /etc/resolv.conf

    En remplaçant l'adresse IP par l'adresse IP du DNS primaire de votre opérateur, il apparaitra dans le log de connexion ainsi que dans /var/log/messages


  10. vérifier que le bluetooth est activé sur votre mobile, redémarrer le bluetooth sur votre laptop pour prendre en compte les nouveaux paramètres (service bluetooth restart), et vérifier que kbuetooth est lancé. Downer les interfaces sur lesquelles vous êtes déjà connecté , via NetworkManager, ifup ou autres. Il est temps de tenter la connexion ppp :

  11. sudo pppd call orange-bluetooth
    - OU -
    sudo pppd call orange-usb
    Essayez de pinger le DNS , puis google.com, si ca marche , ca représente.
    Sinon reportez vous à la section troubleshooting de ce site


Dernier point: vous pouvez effectuer des tests de débit sur ce site .
J'obtiens pour l'instant des débits de 15ko/s environ, je ne sais pas si ce débit est normal, dc stay tuned ....

4 commentaires:

Romain Pelisse a dit…

:)

Quelle übergeek ce romain g !

Raph a dit…

Hum... je vois d'où tu tiens ce vocable "übergeek"...

Romain Pelisse a dit…

Je cite mes sources : c'est un terme ledroffien, le maître de Caliméroterie !

Unknown a dit…

J'ai trouvé une info très intéressante sur ce site :

http://www.mobifrance.com/pdaforum/showthread.php?threadid=80310

Il faut utiliser cette adresse de proxy pour ne pas être bridé en https par exemple (authentification par mot de passe impossible) :

proxy : 193.253.141.80:80
Type : HTTP
Utilisateur :
Pass :