Nous allons voir dans ce tutoriel comment configurer votre connexion du ZTE MF100 sous GNU/Linux (ce tutoriel peut marcher sous toutes les distributions, avec un minimum d’adaptation : Ubuntu / Debian, Fedora, OpenSuSE, Mandriva, etc.).

Avant de commencer à configurer le ZTE MF100

J’aimerais vouss prévenir qu’il sera ici question d’entrer des instructions en ligne de commande. J’ai fait mon possible pour simplifier ce tutoriel, et j’espère que les débutants aussi pourrons le suivre !

Encore une fois, je vous encourage, si vous êtes développeur, à créer une interface pour la configuration de ce genre de modems 3G comme Huawei, ZTE MF100, Alcatel, etc.

Configurer la connexion avec le ZTE MF-100

Étape 1. Basculez en mode root

Toutes les commandes que l’on va effectuer dans ce tutoriel se feront en tant qu’administrateur (root), dans un terminal (xterm, gnome-terminal, konsole, etc.).

Pour devenir administrateur, si vous utilisez une distribution comme Ubuntu, lancez la commande :

sudo -s

Sinon, lancez celle-ci :

su -l

Étape 2. Installez wvdial

Normalement, la commande wvdial est installée par défaut. Si ce n’est pas le cas, vous pouvez l’installer dans Debian ou Ubuntu avec :

apt-get install wvdial

(il est aussi possible de télécharger ce paquet de packages.ubuntu.com pour Ubuntu ou packages.debian.org pour Debian)

Pour les autres distributions, l’opération doit être similaire. N’hésitez pas à la poster dans les commentaires pour que j’ajoute ce petit détail au billet.

Étape 3. Compilez et installez USB Mode Switch

Avant de lancer cette opération, assurez vous d’avoir le compilateur gcc et la bibliothèque libusb. Sous un système de type Debian comme Ubuntu, vous pouvez installer libusb et le compilateur C avec :

apt-get install libusb-dev build-essential

Après cela, téléchargez, compilez et installez USB ModeSwitch grâce aux commandes :

wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.1.tar.bz2
tar xvf usb-modeswitch-*.tar.bz2
cd usb-modeswitch-*
rm -f usb_modeswitch
make
cp usb_modeswitch /usr/local/sbin

(pour info, USB Mode Switch a un site officiel contenant les dernières mises à jour. La version 1.1.1 est la dernière version à l’heure où j’écris ces ligne)

NB : pour les utilisateurs de Debian Sid ou Ubuntu Lucid, le paquet usb-modeswitch a été ajouté. Vous pouvez donc éviter la compilation à partir du code source et utiliser le paquet (voir les paquets Ubuntu pour plus d’infos).

Étape 4. Installez les règles udev pour configurer automatiquement le ZTE MF100

Mettez dans le fichier /etc/udev/rules.d/99-iam-zte-mf100.rules :

SUBSYSTEM=="usb", SYSFS{idProduct}=="2000", SYSFS{idVendor}=="19d2", RUN+="/usr/local/sbin/usb_modeswitch"
SUBSYSTEM=="usb", SYSFS{idProduct}=="0031", SYSFS{idVendor}=="19d2", RUN+="/bin/sleep 5"
SUBSYSTEM=="usb", SYSFS{idProduct}=="0031", SYSFS{idVendor}=="19d2", RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x0031"

Étape 5. Créez les fichiers de configuratio

Mettez dans le fichier /etc/wvdial.conf :

[Dialer iam]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = AT+CGDCONT=1,"ip","www.iamgprs1.ma";
Modem Type = Analog Modem
ISDN = 0
New PPPD = yes
Phone = *99#
Modem = /dev/ttyUSB2
Username = gprs
Stupid Mode = 1
Password = gprs
Baud = 921600

(si votre nom d’utilisateur et votre mot de passes sont différents de gprs – c’est le mot de passe par défaut -, n’oubliez pas de les modifier. Idem pour www.iamgprs1.ma. Le votre pourrait être www.iamgprs2.ma par exemple. Si votre clé est protégée par un code PIN, même s’il existe une façon de l’utiliser sous Linux, le plus facile est de l’enlever depuis Windows)

Étape 6. Créez les fichiers d’USB Mode Switch pour faire switcher le ZTE MF-100 en modem automatiquement

Mettez dans le fichier /etc/usb_modeswitch.setup :

# Modem 3G ZTE MF100
TargetVendor=   0x19d2
TargetProduct=  0x0031
DefaultVendor=  0x19d2
DefaultProduct= 0x2000
MessageEndpoint=0x01
MessageContent="55534243123456782000000080000c85010101180101010101000000000000"

Une fois que le fichier ci-dessus sera créé, lancez la commande (toujours en tant que root) :

/usr/local/sbin/usb_modeswitch

Étape 7. Connectez vous !

Débranchez le modem, puis rebranchez le. Ensuite, vérifiez si /dev/ttyUSB0 (après /dev/ttyUSB, c’est un zéro, pas un o) existe avec la commande :

ls -l /dev/ttyUSB0

(Si ce fichier n’existe pas, même après l’insertion du modem et une attente de plus d’une minute, c’est qu’il y a un souci. Peut-être que le modem n’est pas assez alimenté ? Réessayez en incluant les deux prises USB pour voir dans deux ports différents. Si cela ne marche toujours pas, redémarrez votre ordinateur, pour voir si ce fichier se crée quand il est branché lors du lancement du système)

Une fois que /dev/ttyUSB0 existera, en tant que root, lancez cette commande :

wvdial iam

Cela devrait vous connecter après quelques secondes.

Soucis les plus courants

« wvdial me dit que /dev/ttyUSB0 n’existe pas ! »

Lancez les commandes suivantes en tant que root :

usb_modeswitch
modprobe usbserial vendor=0x1c9e product=0x6061

Ensuite relancez wvdial :

wvdial iam

« wvdial se connecte, j’ai une adresse IP, mais je n’arrive toujours pas à naviguer dans des sites 🙁 »

Cela pourrait venir du DNS, qui n’est pas encore configuré. Pour corriger cela, mettez dans le fichier /etc/resolv.conf :

nameserver 212.217.0.1

Ensuite, si cela ne marche toujours pas, vérifiez si votre navigateur n’est pas en mode hors-connexion. Dans le navigateur Firefox par exemple, vérifiez dans le menu « Fichier » si la case à cocher « Travailler hors connexion » est bien décochée.

Après, si les manipulations ci-dessus n’arrive pas à résoudre le souci, déconnectez vous (arrêtez wvdial) puis lancez la commande suivante (toujours en tant que root) pour supprimer la route par défaut :

route del default

(parfois, la route par défaut correspond au Wifi ou au réseau filiaire)

Ensuite, après avoir supprimé la route, reconnectez-vous avec :

wvdial iam
usb_modeswitch-1.0.2.tar.bz2