Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[GPRS] (long) Sony-Ericsson GC79 + linux 2.6

1 réponse
Avatar
Doug713705
Bonjour à toutes, tous,

Après avoir un poil galéré lors de ma recherche de renseignements sur
l'installation et l'utilisation d'une carte PCMCIA Sony-Ericsson GC79
GPRS-WIFI sous Linux je me suis dit qu'il serait intéressant que quelqu'un
publie une méthode sur l'installation et l'utilisation de cette carte sous
linux.(D'autant plus que ce mini-howto est certainement valable pour
d'autres cartes)

Je le publie ici car je ne sais pas trop où le publier et que l'efficacité
des robots de google n'étant plus à démontrer, cet article restera en cache
pendant 400 ans ce qui me permettra de le retrouver d'ici là ;-)

Les commentaires et/ou remarques tant qu'ils sont *constructifs* sont plus
que bien venus. D'avance je suis désolé pour la longueur de ce post.


Préambule :
----------

Cet article ne traite pas de l'utilisation de la partie wi-fi de cette carte
qui à ce jour ne semble fonctionner qu'avec ndiswapper. Des renseignements
sur ce sujet sont disponibles ici :
http://article.gmane.org/gmane.linux.drivers.ndiswrapper.general/2743


Les options du noyau requises :
------------------------------

- Support for hotpluggable devices (CONFIG_HOTPLUG)
- PCMCIA/Carbus support (CONFIG_PCMCIA)

Pour les 3 options suivantes, vérifiez la compatibilité de votre matériel
avec l'utilisation de ces options. Une seule des trois peut suffire,
personnellement j'en ai compilé 2 en dur (Yenta et I82092) mais je ne me
souviens plus pourquoi, c'était il y a longtemps ;-) :
- Cardbus Yenta-compatible bridge support (CONFIG_YENTA)
- i82092 compatible bridge support (CONFIG_I82092)
- Databook TCIC host bridge support (CONFIG_TCIC)

- 8250/16550 and compatible serial support (SERIAL_8250)
- 8250/16550 PCMCIA device support (SERIAL_8250_CS)

Les packages requis :
--------------------

- pcmcia-cs (http://pcmcia-cs.sourceforge.net/)
- ppp (http://www.samba.org/ppp/)


Les applications requises :
--------------------------

Afin de communiquer avec votre modem PCMCIA, il vous faudra une
application :
- Au choix :
- kermit (celle que j'utiliserai dans ce howto)
http://www.columbia.edu/kermit/ck80.html
Oui, je sais c'est pas GPL mais bon, minicom c'est relou ;-)

- minicom (dont je ne détaillerai pas l'utilisation)

Je vous laisse le soin et le plaisir d'installer tous ces
packages/applications comme des grands ;-)

Sachez toutefois que la plupart des distributions modernes fournissent en
standard fournissent ces applications (à l'exception de kermit)


Passons aux choses sérieuses :
-----------------------------

L'ensemble des opérations suivantes se fait en tant que super-utilisateur.

1/- Branchez la carte dans le premier port PCMCIA disponible et taper
# dmesg

Logiquement, si tout est bien configuré (notamment pcmcia-cs) vous devriez
trouver quelque chose de ce genre ci à la fin de votre dmesg :

PCI: Enabling device 0000:03:00.1 (0000 -> 0001)
ACPI: PCI interrupt 0000:03:00.1[A] -> GSI 16 (level, low) -> IRQ 16
ttyS10 at I/O 0x4000 (irq = 16) is a 16550A

Si ce n'est pas le cas, vérifiez l'installation et la configuration du
package pcmcia-cs (notament le script de démarage équivalent à rc.pcmcia
sous Slackware)

Ici la ligne qui nous interresse est essentiellement celle qui nous indique
sur quel port série est connecté le modem (en l'occurence dans cet exemple
ttyS10)

Grâce à ce "numéro" nous allons pouvoir communiquer avec le modem avec
kermit.

2/- Lancez kermit :

# kermit
C-Kermit 8.0.211, 10 Apr 2004, for Linux
Copyright (C) 1985, 2004,
Trustees of Columbia University in the City of New York.
Type ? or HELP for help.

Une fois dans kermit, initialisons la connexion avec le modem :

C-Kermit>set line /dev/ttyS10

Remplacez ttyS10 par le numéro constaté dans votre propre dmesg (voir plus
haut)

C-Kermit>set carrier-watch off

Une option à ne pas oublier.

C-Kermit>set speed 115200

Reglez la vitesse de transfert.

/dev/ttyS10, 115200 bps
C-Kermit>c

Oui, il suffit de taper c puis entrée pour ce connecter sur le modem.

Connecting to /dev/ttyS10, speed 115200
Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------

La liste des commandes AT (hayes) est disponible sur le CDROM fourni avec la
carte dans le répertoire Documentation.

Activez maintenant les commandes AT étendues du modem :

AT+CFUN=1,1
OK

Entrez le code PIN de la carte SIM (par défaut 0000)

AT+CPIN=0000
OK

Patientez quelques secondes (une bonne dizaine) pour que le modem soit
connecté sur le réseau GSM (attention, à ce stade vous ne pouver pas encore
surfer sur le web mais vous pouvez déjà envoyer et recevoir des SMS - Voir
la fin de l'article pour plus de détails à ce sujet).

Vous pouvez maintenant terminer la connexion avec le modem via kermit par
Ctrl+\ (Ctrl+AltGr+\ pour être plus précis)

3/- Editez maintenant le fichier /etc/resolv.conf avec les adresses IP des
serveurs DNS fournies par votre fournisseur d'accès GPRS.
Dans mon cas avec orange-mib cela donne ceci :

#/etc/resolv.conf
nameserver 172.17.0.2
nameserver 172.17.0.3


4/- Editez ensuite le fichier /etc/ppp/options

#/etc/ppp/options
debug
/dev/ttyS10 <<<< Attention : Remplacez par votre propre tty
115200
crtscts
nodetach
nodeflate
noauth
connect /etc/ppp/gprs-connect
disconnect /etc/ppp/gprs-disconnect
:10.0.0.1
noipdefault
novj
novjccomp
nobsdcomp
defaultroute

5/- Editez le fichier /etc/ppp/gprs-connect

#!/bin/sh
exec /usr/sbin/chat \
TIMEOUT 5 \
ECHO ON \
ABORT '\nBUSY\r' \
ABORT '\nERROR\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nNO CARRIER\r' \
ABORT '\nNO DIALTONE\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' '\rAT' \
TIMEOUT 6 \
SAY "Press Ctrl+C to close connection" \
SAY "\nDefining pdp context...\n" \
OK 'ATE1' \
OK 'AT+CGDCONT=1,"IP","orange-mib","",0,0' \

/!\ La ligne *précédente* est à adapter selon votre opérateur /!\

OK 'ATD*99***1#' \
TIMEOUT 10 \
SAY "\nWaiting for connect...\n" \
CONNECT "" \
SAY "\nConnected." \
SAY "\nIf the following ppp negotiation fails,\n" \
SAY "\nTry restarting the phone.\n" \

Attention pour ce fichier et le suivant, TOUS les caractères sont importants
(surtout les \ en fin de ligne). Attention à bien différencier les
simple-quotes des doubles.


6/- Editez le fichier /etc/ppp/gprs-disconnect

#!/bin/sh
# Send break
exec /usr/sbin/chat -V -s -S \
ABORT "BUSY" \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
SAY "\nSending BREAK to the modem\n" \
"" "\k" \
"" "+++ATH" \
SAY "\nPDP context detached\n" \


7/- Lancer pppd sous root et profitez du GPRS sur votre pingouin favori :

# pppd
Press Ctrl+C to close connection
Defining pdp context...
AT
OK
ATE1
OK
AT+CGDCONT=1,"IP","orange-mib","",0,0
OK
Waiting for connect...

ATD*99***1#
CONNECT
Connected.
If the following ppp negotiation fails,

Try restarting the phone.

Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/modem
rcvd [LCP ConfReq id=0xc <mru 1500> <asyncmap 0x0> <auth pap>
<magic0x86bc5> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xd219c47f> <pcomp>
<accomp>]
No auth is possible
sent [LCP ConfRej id=0xc <auth pap>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xd219c47f> <pcomp>
<accomp>]
rcvd [LCP ConfReq id=0xd <mru 1500> <asyncmap 0x0> <magic 0x86bc5>
<pcomp>
<accomp>]
sent [LCP ConfAck id=0xd <mru 1500> <asyncmap 0x0> <magic 0x86bc5>
<pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
rcvd [IPCP ConfReq id=0xc <addr 172.28.17.0>]
sent [IPCP ConfNak id=0xc <addr 10.0.0.1>]
rcvd [IPCP ConfNak id=0x1 <addr 172.28.17.139>]
sent [IPCP ConfReq id=0x2 <addr 172.28.17.139>]
rcvd [IPCP ConfReq id=0xd <addr 10.0.0.1>]
sent [IPCP ConfAck id=0xd <addr 10.0.0.1>]
rcvd [IPCP ConfAck id=0x2 <addr 172.28.17.139>]
not replacing existing default route to eth0 [192.168.1.1]
local IP address 172.28.17.139
remote IP address 10.0.0.1


8/- Pour se déconnecter taper Ctrl+C dans la fenètre de terminal qui à
lancer ppd :

Terminating on signal 2.
sent [LCP TermReq id=0x2 "User request"]
rcvd [LCP TermAck id=0x2]
Connection terminated.
Connect time 3.8 minutes.
Sent 47411 bytes, received 178559 bytes.

Sending BREAK to the modem

PDP context detached
Serial link disconnected.
Connect time 3.8 minutes.
Sent 47411 bytes, received 178559 byte


Gérer les SMS avec la carte GC79 :
---------------------------------

L'ensemble des opérations se fera avec kermit (voir applications requises
plus haut) directement en commandes AT.

Il est inutile de se connecter en GPRS pour envoyer ou recevoir des SMS (ce
qui est logique puisque le SMS est un service GSM et non GPRS)

1/- lancer kermit
2/- Après avoir initialiser la connexion avec le modem, activer les
commandes AT étendues et avoir entré le code PIN (voir plus haut) lancer
les commandes suivantes :

AT+CMGF=1 # Pour activer le mode texte
OK
Ensuite et *uniquement* *ensuite* vous pourrez envoyer, lire, lister vos
SMS.


Envoyer un SMS :
---------------

Passez par l'étape 1 et 2 *avant* toute chose puis :

AT+CMGS=06xxxxxxxx (= le numéro du destinataire)
> Ici mon texte que
> Je veux envoyer.
> Attention aux espaces entre les
> retour à la ligne.

Terminez le message par Ctrl+Z et hop c'est parti.
+CMGS: x (x = numéro du message dans la mémoire)


Lister les SMS reçus:
--------------------

Comme pour écrire, passez par l'étape 1 et 2 *avant* toute chose puis :

AT+CMGL
réponse: +CMGL: 0,"REC READ", "336xxxxxxxx",, "04/12/08,00:36:20+04"
Le texte du message numéro 0 que j'ai reçu

+CMGL: 1,"REC UNREAD", "336xxxxxxxx",,"04/12/08,00:36:20+04"
Le texte du message numéro 1 que j'ai reçu


Lire un SMS :
------------

Comme pour écrire ou lister les SMS, passez par l'étape 1 et 2 *avant* toute
chose puis :

AT+CMGR=x (x = numéro du SMS dans la liste des SMS reçu)
réponse : +CMGR: "REC UNREAD", "336xxxxxxxx",, "04/12/08,00:36:20+04"
Le texte du message numero x que j'ai reçu

Si le message à déja été lu, le statut sera "REC READ" sinon il est à
"REC UNREAD"



Voilà, cet article n'a aucune prétention, il a été écrit dans le seul but
d'aider le quidam en quète de savoir et il est publiable/modifiable à
volonté en accord avec aucune licence ;-) du moment qu'on garde une trace de
ma signature.

N'hésitez pas à corriger mes erreurs (par contre je vous demande de
m'envoyer un mail le cas échéant afin que je me mette à jour)

En espérant que ça puisse éviter de futurs "[Newbie][URGENT] Mon modem GPRS
ne fonctionne pas sous Linux" ;-)

Cet article a été écrit à partir d'un article de Timoteusz Rogalewski
traitant de l'installation de la carte GPRS GC75 que l'on trouve ici (et
j'ai vraiment bien galéré pour le trouver) :
http://www.internecik.com/?p1=howto&a1=se_gc75linux

Désolé d'avoir été si long mais devant la pauvreté des informations sur le
sujet, cela me semblait nécéssaire.

--
@+
Doug [Linux user #307925] - *Slackware* *Rulez* *;-)*
[Pourquoi t'es qui, qu'est ce que tu fais par où ?]
-- Pour me contacter enlever no-spam (2X) --

1 réponse

Avatar
TiChou
Dans le message <news:41b648f9$0$2804$,
*Doug713705* tapota sur f.c.o.l.configuration :

Bonjour à toutes, tous,


Bonsoir,

[...]

Les commentaires et/ou remarques tant qu'ils sont *constructifs* sont plus
que bien venus.


Pas grand chose à dire si ce n'est que c'est clairement rédigé et complet.

Merci pour ceux qui en auront l'utilité.

--
TiChou