site sans réclame GNU/LinuxÉcrireS'abonner

Modem mobile 2G/3G avec GNU/Linux, Debian Lenny et Squeeze

suEn mode super-utilisateur: su [Enter] signifie que la commande doit être saisie en mode superutilisateur. En UNIX, on passe en ce mode en saississant dans une console su + mot de passe superutilisateur. En *ubuntu, c'est sudo su + mot de passe utilisateur; en Puppy/toutou, on est d'office dans ce mode (pour ceux qui aiment apprendre à jongler avec des sabres).

Mobistar Internet Everywhere - Huawei E1552

Avant de souscrire à un abonnement mobile pour votre chez-vous, n'oubliez pas de vérifier la couverture de la 3G (UMTS) sur cette page. Si votre adresse n'en bénéficie pas, la connexion sera limitée au mode G2 (GPRS), dont la vitesse est très lente, la plupart du temps entre 5 et 15Ko/s (même s'il y a des pointes à 80). À ce rythme, il faut au moins une minute pour charger la page espace-membres de Mobistar (25Ko + 434Ko de fichiers annexes).

Il existe depuis 2007 des modems utilisant la téléphonie 2G/3G (Vodaphone, Mobistar Internet Everywhere...) qui se présentent sous forme de clé USB. Leur installation sur un système GNU/Linux n'est vraiment pas aisée sur Debian 5.0 Lenny (noyau Linux 2.6.26), version maintenant dépassée de Debian.

Debian 6.0 Squeeze connecte automatiquement le modem

Tout s'est considérablement simplifié avec Debian 6.0 Squeeze, le noyau Linux 2.6.32 contenant les modules permettant la reconnaissance de ces clés. À la connexion USB d'une clé 2G/3G, une fenêtre demande le code pin pour le déverrouillage. Par la miniature représentant le réseau en haut à droite sur l'écran, un simple clic permet de se connecter (la première fois, après un paramétrage très simple: pays / opérateur / abonnement).

Cela a parfaitement fonctionné avec un portable Pentium M (noyau i386) et avec l'eeePC 1011PX (amd64, fourni avec Ubuntu 10.10 mais réinstallé en Debian Squeeze 6.0.2). Il n'y a qu'avec une tour en amd64 et avec la version 6.0.0 que la clé semble entrer en conflit avec l'écran.

S'inscrire (chez Mobistar)

Paradoxe: comment s'inscrire et faire valider la connexion par Internet, modem branché, alors que la connexion ne peut pas avoir eu lieu? En fait, dès que Mobistar a activé la carte SIM (24 ou 48h), sa fonction SMS fonctionne, ce qui suffit pour recevoir le mot de passe par SMS sur un téléphone portable (le pin-code est fourni avec la SIM), mot de passe qu'il faut réintroduire sur le site Mobistar sur sa page d'inscription.

Une autre possibilité, utilisée pour ces notes, est l'application développée pour vodaphone, dont il existe un paquet debian: vodafone-mobile-connect_2.20.01-1_all.deb (ou 2.25). Cette application dépend de quelques paquets:

lsb-release
python-cairo
python-crypto
python-dbus
python-glade2
python-gnome2
python-gobjet
python-gtk2 (>=12.10.0)
python-serial
python-twisted
python-tz
wvdial

Bizarrement, cette application est arrivée à récupérer le code de 6 chiffres envoyé par Mobistar, mais n'est jamais parvenue à connecter le modem USB à Internet.

Sinon, un Windowsien compatissant peut vous laisser son un ordinateur sous Windows relié à Internet (câble ou wifi). Il faudra se connecter sur http://www.mobistar.be/enregistrement/ avec le numéro de GSM de la carte SIM. À une des étapes de l'inscription, Mobistar enverra un nombre de 6 chiffres qu'il faudra récupérer par le modem (par quelle application?) et reproduire sur la page d'inscription. Je suppose que cela se fait par une application windows. Il faudra fournir un identifiant, un mot de passe et une adresse e-mail pour le mail de confirmation de l'inscription. Ce n'est qu'après renvoi de ce mail que l'inscription sera effective.

Si vous utilisez toujours Debian 5.0 Lenny

Ces notes d'installation concernent un portable avec processeur de la famille i386 (Pentium M). Une installation sur amd64 a ensuite été réalisée sur base des cinq premiers CD d'installation Debian 5.0.6 et quelques paquets .deb. Enfin, un lecteur a réussi sur base des informations qui suivent d'avoir permis l'utilisation de la clé USB-modem avec Easy-Peasy (anciennement Ubuntu-EEE)

Ne rien trop attendre de la part du fournisseur

Le support de Mobistar pour la configuration linux du Huawei E220 ne concerne que le système Xandros du netbook (qui fut?) vendu par l'opérateur: cela ne nous concerne pas sous Debian.

De la clé USB au modem

Le noeud du problème est que le modem USB Huawei (E1552 ou autres) est reconnu par le système comme une mémoire de masse (clé USB formatée en iso9660). Avec la commande lsusb, on obtiendra (entre autres) une ligne du genre:

Bus 003 Device 004: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552 (HSPA modem)

et lsmod |grep usb fera apparaître le module usb_storage.

La clé contient une application Windows qui se charge d'installer ce qui permettra à ce système de la reconnaître ultérieurement comme un modem (de type série). Pas d'application Linux ou Mac, et il est inutile de lancer cet exécutable avec Wine, le système GNU/Linux ne lancera pas Wine lors de la reconnexion du périphérique.

usb_modeswitch, en association avec ozerocdoff, permet de forcer le système GNU/Linux à considérer la clé comme un modem USB. Le problème est que le paquet .deb n'existe pas dans la distribution Lenny. Il existe bien deux paquets fabriqués par un tiers: usb-modeswitch-1.1.4 et usb-modeswitch-data_20100826, mais ce dernier ne s'installe pas avec une version udev inférieure à 1.40 alors que Lenny ne dispose que de la 1.25. udev étant très proche du noyau, installer udev-140 est hasardeux (tenté et vite désinstallé). Heureusement, il existe un backport où il est possible de récupérer une version qui convient à Lenny (i386 ou amd64).

D'abord ozerocdoff:

suEn mode super-utilisateur: su [Enter] dpkg -i ozerocdoff_0.4-2_i386.deb

(la console doit être dans le même répertoire que le paquet) ou cliquer dessus si les paquets .deb sont installables automatiquement (comme pour KDE). Installer ensuite les datas:

suEn mode super-utilisateur: su [Enter] dpkg -i usb-modeswitch-data_20100826-1~bpo50+1_all.deb

et enfin

suEn mode super-utilisateur: su [Enter] dpkg -i usb-modeswitch_1.1.4-1_i386.deb

Dès lors, la commande (pour le Huawei E1552)

suEn mode super-utilisateur: su [Enter] usb_modeswitch -v 0x12d1 -p 0x1446

forcera Lenny à considérer la clé comme modem et non plus comme périphérique de mémoire. Pour un autre modem, récupérer les données renvoyées par la commande lsusb: 14B6:13D0 devient -v 0x14b6 -p 0x13d0 pour la commande usb_modeswitch (-v pour vendor, -p pour product)

Si tout s'est bien passé, lsusb doit d'ailleurs renseigner le périphérique comme modem:

Bus 003 Device 001: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem

udev (universal device, grande avancée dans l'interactivité matérielle depuis hotplug) doit normalement avoir retenu que ce nouveau périphérique doit désormais être considéré comme un périphérique série et charger le module usbserial tout en créant les descripteurs /dev/ttyUSB0, /dev/ttyUSB1...

Accéder à la carte SIM avec gcom

La partie logicielle se fera en deux temps: accéder à la carte SIM, puis se connecter à Internet.

gcom se charge de l'accès à la carte SIM, après avoir demandé le code PIN de quatre chiffres. Par défaut, c'est le descripteur de périphérique /dev/modem qui est utilisé, mais il est possible de lui fournir le bon en le lui précisant avec -d:

gcom -d /dev/ttyUSB0

Le voyant passe alors d'un clignotement vert à un clignotement bleu si vous êtes en UMTS/G3.

Note: il est possible que selon les systèmes ou les versions, ce descripteur soit situé à un autre endroit, comme /dev/usb/ttyUSB0... ou qu'il s'agisse de ttyUSB1...

Se connecter avec wvdial

wvdial se chargera de la connexion au fournisseur. Un article du Bxlug préconise cette configuration du fichier /etc/wvdial.conf:

[Dialer Defaults]
Modem = /dev/ttyUSB0
Baud = 460800
Init1 =
Init2 = ATZ
Carrier Check = yes
Dial Command = ATDT
Phone = *99***1#
Username = mobistar
Password = mobistar
Stupid Mode = 1

Attention: en Debian, il faut avoir les droits de superutilisateur pour éditer ce fichier. Une façon de faire est de l'éditer dans l'espace utilisateur (/home/votre_identifiant/wvdial.conf) puis de le copier en /etc de la façon suivante:

suEn mode super-utilisateur: su [Enter] cp /home/votre_identifiant/wvdial.conf /etc

Pour les utilisateurs de Puppy/Toutou, on édite sans complexe (mais pas sans risque) les fichiers systèmes, étant toujours en superutilisateur. En *ubuntu, on devrait s'en sortir avec sudo kwrite ou sudo gedit?

Une fois la commande wvdial lancée, la lumière bleutée (3G) ou verte (2G) de la diode du modem USB est stable. Il est à noter que knetworkmanager ne décèle pas la connexion ppp0 qu'utilise ce périphérique, alors qu'il indique les connexions cablées ou par wifi.