Utilisation de la carte Orange 3G Novatel sous Linux

Arisme - 0.2 - 02/07/05
arisme @arobase@ free point fr
Tribute to Orange Intense PC illimité :p

Changelog

0.2 : Ajout des codes Wifi temporaires, fichier patch à télécharger - 02/07/05

0.1 : Première version - 25/06/05

Références

Outils à télécharger

Vérification de la configuration

Insérez la carte - le noyau doit afficher quelque chose de ce style

Jun 24 21:22:17 localhost cardmgr[558]: socket 1: Serial or Modem
Jun 24 21:22:17 localhost cardmgr[558]: executing: 'modprobe serial_cs'
Jun 24 21:22:17 localhost cardmgr[558]: executing: './serial start ttyS2'
Jun 24 21:22:17 localhost kernel: ttyS02 at port 0x03e8 (irq = 3) is a 16550A
Autrement il faudra probablement télécharger des librairies PCMCIA plus récentes.

Notez le nom du driver série associé pour le réutiliser par la suite

Installation de GSMLib

GSMLib sera utilisée pour taper le code PIN de la carte (gsmctl), récupérer les SMS entrants (gsmsmsd), et autres ...

Son installation n'est pas obligatoire mais cela évite d'ajouter des dépendances au code PIN (AT+CPIN=1111) dans le script de connexion PPP

Avant de compiler classiquement GSMLib (./configure make) il faudra faire quelques modifications car la carte a des réactions étranges tant que le code PIN n'a pas été entré

Fichier patch (2 Juillet 2005) à passer avec patch -p0 < gsmlib_patch.txt depuis la racine de gsmlib

Obtenir un code temporaire Wifi

Les abonnés Orange Intense PC sont censés avoir un code Wifi permanent mais je ne sais pas si quelqu'un en a déjà reçu un :)

Pour obtenir un code temporaire il faut composer le #125# depuis un téléphone portable, ou envoyer la commande AT+CUSD=1,#125#,15 au modem

Cela est réalisé automatiquement par une nouvelle commande de gsmctl à lancer hors connexion data

gsmsctl -d /dev/ttyS2 -o orange_wifi

Création des scripts PPP

Voir Debian Linux and Orange Mobile Office Card 3G pour plus d'informations sur cette partie. Différence majeure : l'APN français s'appelle orange.fr et non pas orangeinternet.

Selon les usages vous pouvez créer les 3 scripts (auto/3G/gprs), ou n'utiliser que le script auto ...

Archive des scripts

Insertion du mot de passe

Ajout dans le fichier /etc/ppp/chap-secrets
"orange"                *       "orange"

Scripts PPP pour connexion automatique (négociation 3G/GPRS)

Fichier /etc/ppp/peers/orange-auto

noauth
connect "/usr/sbin/chat -vf /etc/ppp/chat/orange-auto"
/dev/ttyS2
115200
defaultroute
noipdefault
#Deconnexion au bout de 15 minutes d'inactivite si decommente
#idle 900
usepeerdns
user orange
Fichier /etc/ppp/chat/orange-auto
ABORT BUSY ABORT 'ERROR' ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED
'' ATZ
OK AT+CMEE=2
OK AT$NWRAT=0,2
OK AT+CGDCONT=3,"IP","orange.fr"
OK AT+CGEQREQ=3,3,64,384,0,0,2,0,"0E0","0E0",3,0,0
OK ATD*99***3#
CONNECT ""

Scripts PPP pour connexion 3G

Fichier /etc/ppp/peers/orange-3G

noauth
connect "/usr/sbin/chat -vf /etc/ppp/chat/orange-3G"
/dev/ttyS2
115200
defaultroute
noipdefault
#Deconnexion au bout de 15 minutes d'inactivite si decommente
#idle 900
usepeerdns
user orange
Fichier /etc/ppp/chat/orange-3G
ABORT BUSY ABORT 'ERROR' ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED
'' ATZ
OK AT+CMEE=2
OK AT$NWRAT=2,2
OK AT+CGDCONT=3,"IP","orange.fr"
OK AT+CGEQREQ=3,3,64,384,0,0,2,0,"0E0","0E0",3,0,0
OK ATD*99***3#
CONNECT ""

Scripts PPP pour connexion GPRS

Fichier /etc/ppp/peers/orange-gprs

noauth
connect "/usr/sbin/chat -vf /etc/ppp/chat/orange-gprs"
/dev/ttyS2
115200
defaultroute
noipdefault
#Deconnexion au bout de 15 minutes d'inactivite si decommente
#idle 900
usepeerdns
user orange
Fichier /etc/ppp/chat/orange-gprs
ABORT BUSY ABORT 'ERROR' ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED
'' ATZ
OK AT+CMEE=2
OK AT$NWRAT=1,2
OK AT+CGDCONT=3,"IP","orange.fr"
OK AT+CGEQREQ=3,3,64,384,0,0,2,0,"0E0","0E0",3,0,0
OK ATD*99***3#
CONNECT ""

Archive des scripts

Etablissement d'une session PPP

A faire par l'utilisateur root

Si la carte est vérouillée par un code PIN (1234) qui n'a pas encore été entré

gsmctl -d /dev/ttyS2 -o pin 1234

Aprés quelques secondes la diode ne devrait plus clignoter en rouge, mais en bleu ou en vert

Démarrage de la session PPP (avec choix du réseau automatique)

pppd call orange-auto

Au bout de quelques secondes la diode ne devrait plus clignoter ... Vous pouvez vérifier l'établissement de la connexion

[root@localhost chat]# ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.15.131.67  P-t-P:212.234.96.26  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:192 (192.0 b)  TX bytes:288 (288.0 b)

Si il y a une erreur étrange lors de la dernière phase, vous pouvez tenter de relancer la commande ...

Vérification des DNS

A réaliser une seule fois : certaines distributions ne prennent pas en compte les DNS annoncés par le serveur distant et placés dans le fichier /etc/ppp/resolv.conf - dans ce cas il faudra copier les IPs obtenues dans le /etc/resolv.conf classique ou mettre en place des scripts de bascule

[root@localhost chat]# cat /etc/ppp/resolv.conf
nameserver 194.51.3.56
nameserver 194.51.3.76

Fin d'une session PPP

Si il n'y a qu'un processus ppp pour tout le système

killall pppd

Ou alors localiser le processus directement et lui envoyer un kill classique ...

Remarque : visiblement la carte n'aime pas trop les arrêts de connexion et il faut relancer 2 3 fois le script pour qu'elle reparte après ...

Suivi des SMS reçus

A lancer hors connexion PPP, et à arrêter avant de commencer une session PPP ...

Pour un simple affichage dans une fenêtre des SMS reçus

gsmsmsd -d /dev/ttyS2 no_cb
Autrement gsmsmsd offre des options intéréssantes comme le renvoi automatique des SMS par mail ...
gsmsmsd -d /dev/ttyS2 no_cb -a "mail arisme@gmail.com"

Test gratuit de SMS :p

Je n'ai pas testé le comportement de la carte quand des SMS sont reçus pendant une session ... à suivre ...