Linux

Configurer une clé 3G sous linux.

Bonjour a tous,

En cet été je suppose que comme moi vous allez partir en vacances. Parmis vous certains prendront également un téléphone portable en mode « tethering » ou d’autres opterons pour un abonnement dit « data » only.

Pour ma part j’ai choisi la seconde solution car ceux-ci offrent un volume de données correcte.


Voici la configuration utilisée:

  • Un abonement Bouygues Telecom Bbox Nomad
  • Une clé 3G Huawei E173
  • Un hub usb avec alimentation
  • Un Raspberry Pi
  • Une borne wifi (Cisco 1130)

Concernant le metériel j’ai souhaite disposer de quelque chose d’autonome. Vous pouvez très bien si vous le souhaitez remplacer la borne wifi Cisco par une clé wifi directement connecté au Raspberry Pi. Seulement il vous faudra trouver une clé qui supporte le mode « Master » afin de pouvoir la faire fonctionner comme un AP classique.

Le cablage
Cela reste assez simple:
On connecte la clé 3G sur le hub USB. Le hub sera connecté sur le port USB du Raspberry Pi et sur le secteur (cette dernière étape est importante car la clé consomme souvant plus que ce que le Raspberry Pi peut fournir)

Quand au port du Raspberry Pi ethernet celui-ci sera connecté vers la borne wifi.

La configuration
Celle-ci sera en deux étapes.

La partie Wifi / Ethernet.
Je ne vais pas trop m’atarder sur la configuration de la borne wifi. Je suppose que des lors que vous avez ce genre d’équipements vous pourez soit trouver une exemple de configuration sur internet soit le configurer de vous meme. De meme pour la configuration du service DHCP.

Péparation de la carte 3G
La premiere étape sera d’installer usb_modeswitch sur le Raspberry Pi afin de pouvoir faire basculer la clé 3G en mode modem (par défaut celle-ci expose un périphérique de stockage de masse qui permet d’installer le pilote et le logiciel de contrôle pour Windows).

Voici le contenu du fichier /etc/usb_modeswitch.conf:

DisableSwitching=0
EnableLogging=0

DefaultVendor=  0x12d1
DefaultProduct= 0x1446

MessageEndpoint = 0x01
MessageContent = "55534243000000000000000000000011060000000000000000000000000000"

Il vous suffira ensuite de lancer (en root) la commande suivante usb_modeswitch -c /etc/usb_modeswitch.conf

Une fois lancé vous obtiendrez les périphériques suivants:
/dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2

La prochaine étape consiste a déprotéger la carte sim (afin de ne pas avoir a entrer le cote PIN a chaque redémarrage du modem):

Lancez minicom sur le port /dev/ttyUSB0 puis entrez les commandes suivantes:

Commande Details
AT+CPIN? Retourne OK si le code pin a été entré, sinon retourne le code néssécaire pour débloquer la carte (PIN / PUK)
AT+CPIN=0000 Donne le code PIN a la carte sim (remplacez 0000 par le code pin de la carte)
AT+CLCK="SC",0,"0000" Desactive le code PIN de la carte sim (remplacez 0000 par le code pin actuel de la carte)

Maintenant que le modem est débloqué, il ne restera plus qu’a monter la session PPP avec le fournisseur.

Configuration de la session PPP

Sous gentoo la configuration ppp se réalise directement dans le fichier /etc/conf.d/net. Voici les lignes spécifiques a ajouter:

config_ppp0="ppp"
link_ppp0="/dev/ttyUSB0"
username_ppp0="bouygtel"
password_ppp0="bouygtel"
pppd_ppp0="maxfail 25 debug defaultroute usepeerdns noipdefault ipcp-accept-remote ipcp-accept-local lcp-echo-interval 5 lcp-echo-failure 3 mtu 1500 mru 1500 novj nobsdcomp novjccomp nopredictor1 nomagic persist lock 115200 modem crtscts"
chat_ppp0="
        'ABORT' 'BUSY'
        'ABORT' 'ERROR'
        'ABORT' 'NO ANSWER'
        'ABORT' 'NO CARRIER'
        'ABORT' 'NO DIALTONE'
        'REPORT' 'CONNECT'
        '' 'AT+CGDCONT=1'
        'OK' 'AT&F'
        'OK' 'ATE1'
        'OK' 'AT+CPIN?'
        'OK' 'AT+COPS?'
        'OK' 'AT+CSQ'
        'OK' 'AT+CGDCONT=1,\\\"IP\\\",\\\"bouygtel\\\"' # Replace bouygtel by your network provider APN
        'OK' 'ATDT*99*#'
        'CONNECT' 'c'"

il ne reste plus qu’a créer le script d’init et le de démarrer.

cd /etc/init.d && ln -snf net.lo net.ppp0
/etc/init.d/net.ppp0 start

Et voila. Vous devriez être connecté a la 3G.

# ip a s ppp0
4: ppp0:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 
    inet 10.166.120.28 peer 10.64.64.64/32 scope global ppp0

Il ne vous reste plus qu’a mettre en place le nat pour vos client et pousser les bons serveurs DNS a vos clients dhcp.

Sur ce bonne vacances a tous.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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