HP 2133 : utilisation de la clé SFR 3G+

Après quelques heures de recherche et d'essai, voici enfin une connexion établie à partir d'un HP2133 sous SLED 10 (SUSE Linux Enterprise Desktop) et la 3G+ SFR.

Tout a commencé avec l'idée d'utiliser enfin la clé 3G+ SFR (autrement dit un modem Huawei 220) autre part que sur un MacBook. Les tentatives avec OpenBSD s'étaient avérées sans suite.

L'une des particularités du dispositif est en effet que la partie espace de stockage (une mémoire flash) contenant les softs pour Windows est reconnue par le kernel avant que le port série ne détecte le modem et n'active le périphérique dans le répertoire /dev (dans le cas qui suit : /dev/ttyUSB0 précisément). D'où un premier conflit de port, qui d'après mes renseignements, est résolu dans la version 2.6.20 et supérieure du kernel Linux. Manque de bol, ma distribution est en version 2.6.16... Allons bon.

Qu'à cela ne tienne. Je me rends ici : http://oozie.fm.interia.pl/pro/huwwei-e220 et je télécharge le fichier huawei.tar.bz2. La séquence qui suit :

tar jvf huawei.tar.bz2
cd huawei
su
make info
permet de décompresser l'archive puis de choisir la bonne option d'installation. N'étant pas dans la liste des distributions spécifiques, je prends l'option générale et ça fonctionne impeccablement bien (une explication de ce qui se fait en sous-main est donnée par ailleurs sur le site).

Il me reste alors à trouver la bonne configuration pour le fichier wvdial.conf (sous /etc) qui va être lu par wvdial au démarrage, car c'est sur cette option que je me replie.

Et là, je peux dire que mes précédentes expérimentations sur le fichier de configuration ppp.conf m'ont bien servi, simplement parce qu'on y apprend à se servir de commandes AT (Hayes) de base. Voici ce à quoi je suis parvenu :

[Dialer Defaults]
Modem = /dev/ttyUSB0

[Dialer SFR]
Modem = /dev/ttyUSB0
Baud = 460800
FLOWCONTROL= NOFLOW
Init1 = ATZ
Init2 = AT&F&D2&C1S0=0
Init3 = AT+CGDCONT=1,"IP","websfr"
Phone = *99***1#
Username = websfr
Password = websfr
Ask Password = 0
Dial Command = ATD
Stupid Mode = 1
Idle Seconds = 3000
Auto DNS = 0
DNS Test1 = 172.20.2.10
DNS Test2 = 172.20.2.39
et qui devrait bon an mal an fonctionner dans des configurations identiques.

Il vaut mieux malgré tout se renseigner auprès de SFR pour savoir si "websfr" est toujours valide... ainsi que placer les bons DNS. Au passage, on note que c'est /etc/ppp/resolv.conf qui va être renseigné, non pas /etc/resolv.conf et qu'il faudra un truc pour contourner ce problème.

Et le code PIN me direz-vous ? Pourquoi n'est-il pas dans le fichier ? Eh bien, tout simplement parce que sinon, wvdial me renvoyait une erreur (et encore, cet utilitaire est très difficile à déboguer - quant à /var/log/messages, il était pratiquement muet).

J'ai donc procédé autrement :

echo "AT+CPIN=****" > /dev/ttyUSB0
où "****" est le code PIN - sans rire, vous pensiez que j'allais l'envoyer ?

Il ne restait plus alors qu'à lancer en root la commande wvdial SFR et boum !.

Mais le DNS alors ?!... Eh bien, à la sauvage :

cat /etc/ppp/resolv.conf > /etc/resolv.conf
toujours sour root et c'est tout bon.

Donc, on se résume :

  • on préparer son fichier wvdial.conf,
  • on insère son modem Huawei 220 et on patiente jusqu'à temps qu'il soit reconnu puis que le périphérique (/dev/ttyUSB0) soit activé,
  • on envoie la commande pour l'identification avec le PIN,
  • on envoie wvdial SFR (ou ce qu'on aura choisi comme identifiant "Dialers"),
  • on met les bonnes IP pour les DNS,
  • et normalement tout fonctionne.

La morale de l'histoire, c'est qu'il faut vraiment ne pas être gêné par la ligne de commande pour faire ça et que l'expérience n'est pas destinée aux total newbies... Si vous avez plus simple, faites-le savoir.

tags : SFR, 3G+, SUSE, Vodafone, Huawei 220, HP 2133

mis en ligne : Thu Mar 12 15:54:12 CET 2009