8 – La connexion réseau 3G

J’ai reçu ce matin mon dongle 3G Huawei E220 🙂 Je dispose déjà d’une carte SIM Free Mobile avec le forfait à 2€. J’active simplement l’option data à 0,99 €, qui prend effet immédiatement.

Vous pouvez trouver ce dongle 3G notamment sur Amazon ici.

Dongle 3G + SIM Free

Premier test de connexion 3G

Mon Raspberry Pi n’ayant pas encore été livré, je test sur un PC standard sous Linux Mint 14.

Comme prévu, le dongle est immédiatement reconnu par le système :

root@Setebos ~ $ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 24ae:2000
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem
Bus 001 Device 003: ID 046d:c52f Logitech, Inc. Wireless Mouse M305

Passage par le gestionnaire de connexion réseau, avec une configuration minimaliste pour le réseau de Free :

Configuration réseau Free mobile

La connexion fonctionne immédiatement, et on constate que nous sommes en itinérance sur le réseau d’Orange 🙂

Connection established

Réseau Orange

J’obtiens bien une IP, et je peux surfer 🙂 C’est trop facile !

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.137.177.43  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:130 (130.0 B)  TX bytes:223 (223.0 B)

Connexion avec le Raspberry Pi

Pi + 3G

Comme précédemment, le dongle 3G est reconnu immédiatement :

root@raspberrypi:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 005: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

Sur le Pi, il faut installer wvdial heureusement disponible dans les dépots de peu 🙂
Il suffit ensuite de lancer un wvdialconfig :

root@raspberrypi:~# wvdialconf 
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: huawei
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Max speed is 9600; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: huawei
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
ttyUSB1<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

Encore une fois, c’est presque trop facile, tout fonctionne du premier coup 🙂 Voici le fichier de config généré. Tout semble en ordre 🙂

root@raspberrypi:~# cat /etc/wvdial.conf
[Dialer Free]
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2
Init4 = AT+CGDCONT=1,"IP","free"
Stupid mode = 1
Phone = *99#
New PPPD = yes
Check Def Route = 1
Username = free
Password = free

[Dialer pin]
Init1 = AT

[Dialer Defaults]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
; Phone = <Target Phone Number>
ISDN = 0
; Username = <Your Login Name>
Init1 = ATZ
; Password = <Your Password>
Modem = /dev/ttyUSB0
Baud = 9600

La connexion se fait en utilisant la commande wvdial free, ce qui fonctionne visiblement très bien 🙂

root@raspberrypi:~# wvdial free
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2
ATQ0 V1 E1 S0=0 &C1 &D2
OK
--> Sending: AT+CGDCONT=1,"IP","free"
AT+CGDCONT=1,"IP","free"
OK
--> Modem initialized.
--> Configuration does not specify a valid login name.
--> Configuration does not specify a valid password.
root@raspberrypi:~# vim /etc/wvdial.conf
root@raspberrypi:~# wvdial free
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2
ATQ0 V1 E1 S0=0 &C1 &D2
OK
--> Sending: AT+CGDCONT=1,"IP","free"
AT+CGDCONT=1,"IP","free"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Fri Mar 15 19:58:31 2013
--> Pid of pppd: 2323
--> Using interface ppp0
[...]
--> local  IP address 10.64.148.255
--> remote IP address 10.64.64.64
--> primary   DNS address 212.27.40.240
--> secondary DNS address 212.27.40.24

Connecter mon Raspberry Pi au réseau 3G est pour le moment l’opération la plus simple du projet 🙂

23 réflexions au sujet de « 8 – La connexion réseau 3G »

    1. Olivier Auteur de l’article

      Hello,
      Pour le moment ça fonctionne très bien 🙂 Faut dire aussi que je suis loin de consommer les 20Mo/mois prévus dans le forfais…

      Répondre
  1. Alexis

    Bonjour,
    merci pour cet article détaillé !
    J’ai fait la même chose (forfait free 2€ + huaewei e220 + raspberry). Ca marche bien mais j’ai des deconnexions fréquentes (~ toutes les 12 heures) ou le modem qui ne répond plus du tout (interface ppp0 se ferme par conséquent) et seul un reboot du raspberry permet de retrouver la connexion. ce qui est évidemment pénible.
    As-tu eu ce genre de problèmes ?
    J’essaye de faire une connexion en MQTT avec un serveur pour pouvoir communiquer à tout instant avec mon raspberry connecté en 3G.
    Merci !

    Répondre
      1. Olivier Auteur de l’article

        Je n’ai pas de nouvelles d’Alexis, mais pour ce qui est du problème de connexion, je suis à peu près persuadé que l’opérateur n’y est pas pour rien… AMHA, il n’est pas envisageable de tenir une connexion 3G constante sur plusieurs heures… Toujours AMHA, la meilleure solution avec un modem 3G est la mise en place d’un watchdog qui réinitialise la connexion 3G, voire démonte/remonte le périphérique. C’est une méthode qui permet d’assurer la connexion/reconnexion, quoi qu’il arrive 🙂

        Répondre
        1. Mat. B

          Super Merci de ton retour!
          Tu aurais un lien pour suivre cette démarche afin de mettre en place ce watchdog peut être ? Je suis nouveau dans le domaine.
          Je vais quand même chercher de mon côté aussi! 😉

          Répondre
          1. Olivier Auteur de l’article

            Hello,
            Le principe d’un script watchdog est ultra simple 😉 Il suffit d’exécuter régulièrement un script qui vérifie quelque chose (typiquement une connexion, un ping, l’état d’un dévice…) et selon le résultat, tu lance une commande qui redémarre le service incriminé, ou relance une connexion, etc… 😉

  2. Mat. B

    Ok ok, je vois, ca serait parfait pour voir si l’appareil est toujours connecté avant de déclencher le script.
    Pour le moment tout fonctionne de mon côté niveau photo, et pour la connection avec le pi en 3g il faut que je trouve comment lui assigner une ip fixe pour pouvoir le contrôler à tout moment.
    Ton blog m’a beaucoup aidé 😀

    Répondre
  3. frederic

    Bonjour, merci pour ces explications. Cependant est-ce que cette méthode (wvdial) est-elle plus simple que celle avec Sakis3G ou MobilePartner ?
    Car en ce moment j’arrive à me connecter grâce à Sakis3G, mais les étapes sont certainement plus complexes ou plus longues.

    As-tu déjà essayé cette solution ?

    Cordialement.

    Répondre
  4. Damien

    Bonjour Olivier et merci pour tes tuto.
    J’essaie d’installer un clé Hawei e220 mais lorsque je fait lsusb je ne la vois pas.
    Etant débutant sous linux j’aurai besoin d’un peu d’aide.
    merci
    Damien

    Répondre
    1. Damien

      Bon j’ai réussi à installer la carte 3g le problème venait du fait que j’avais overclocker mon pi….
      par contre impossible pour le moment d’avoir les bon paramettre dans wvdial.conf.
      je continue de chercher
      damien

      Répondre
      1. Damien

        Suite de mes soucis.
        J’avais une carte Sim dont l’opérateur (orange) avait des soucis dans ma zone….
        J’ai donc mis ma sim free mon fichier wvdial.conf ne c’est pas rempli tous seul après la commande wvdialconf. J’ai du le remplir à la main grâce à celui que tu as mis sur le tuto.
        Et la tout fonctionne .
        Merci mille fois !

        Répondre
        1. axelis

          salut, j’ai un soucis pour remplir correctement je pense.
          je n’arrive pas a me connecter au modem
          num phone ça ok 😉
          password = pin?
          username =?

          help

          Répondre
  5. Erwan44

    Bonjour et merci pour le site et les tutos !
    je suis dans la réalisation d’une vidéosurveillance autonome.

    Je tente de faire fonctionner une clé Huawei sur un A+.
    j’utilise donc un hub 4 ports pour la clé et le clavier.

    La commande lsusb m’affiche bien la clé comme un modem HSPDA.
    En revanche la commande wvdialconf me renvoie :
    « Sorry, no modem was detected ..
    Did you configure it properly with setserial ? »

    Après installation, la commande setserial -g /dev/tty me renvoie :
    « Cannot get serial info : Inappropriate ioctl for device »

    Une histoire d’entrée sortie , de contrôle …

    Merci d’avance
    Erwan

    Répondre
  6. Ping : Raspberry Pi | Pearltrees

  7. NORDEZ

    bonjour et merci pour l’article très intéressant, permettez moi de poser une question du coup car j’attends d’avoir reçu mon raspberry pour avancer à petits pas.
    Pensez vous qu’il serait possible grâce à cela de visualiser en temps réel sur internet ce que filme la caméra (je parle bien sûr avec le dongle et non une connexion) à une box par wifi?
    Merci d’avance.

    Répondre
  8. Ping : 3G | Pearltrees

  9. Vincenet

    Bonjour,
    L’installation est triviale et pourtant… Je n’arrive pas à configurer ma connexion. J’essaie de mettre en œuvre un dongle USB 3G Huawei E1750. Sur un pc avec Debian (pour se rapprocher de la config de l’article), wvdial semble faire des échanges correctes et dans pppd avec les traces de debug, l’authentification sur le réseau free a bien lieu. Par contre, la partie affectation IP n’apparaît pas (exemple de l’article ci-après)
    –> local IP address 10.64.148.255
    –> remote IP address 10.64.64.64
    –> primary DNS address 212.27.40.240
    –> secondary DNS address 212.27.40.24
    et la commande ifconfig ne montre jamais ppp0.
    Si je met un apn bidon à la place de « free », je ne vois aucune différence.
    Dois-je remettre en cause le dongle ?

    Répondre
  10. n.derousseaux

    Je ne suis qu’un néophyte mais je ne comprend pas, vous allez peut être pouvoir m’éclairer. Il s’agit d’une carte sim qui permet de se connecter à internet, donc il faut bien rentrer un code sim, non ? Je ne vois à aucun ou rentrer le code pin. Quelqu’un peut-il m’éclairer là dessus ?

    Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.