AC775
GRPS/Edge avec la carte PCMCIA Sierra Wireless AC775
Introduction
Ce document a pour but de vous aider à faire fonctionner sous Linux la carte PCMCIA distribuée par Bouygues Telecom pour accèder à son réseau GPRS/EDGE.
Toutes les informations sont disponibles sur internet mais sont éparpillées. Je vais donc tenter de faire une synthèse en essayant de ne rien oublier.
Avant de vous donner la procédure à suivre quelques éléments :
- la carte a besoin pour fonctionner d'un fichier qui contient les véritables caractéristiques de la carte. Ce fichier est récupérable sur le site de Sierra Wireless.
- une fois insérée et correctement initialisée, la carte est accessible par un port série virtuel. Sur mon ordinateur c'est généralement /dev/ttyS0, mais il est arrivé (une fois) que cela change (une petite éjection/réinstertion a résolu le problème).
- Ce port série est connu en regardant le répertoire /sys/bus/pcmcia/devices/0.0/ : vous y trouverez un lien nommé tty:ttyS0 (ou un autre port série). Si vous avez plusieurs cartes PCMCIA, je suppose qu'il faudra regarder dans le répertoire du bon device.
- Ensuite il suffit faut entre le code pin, définir le réseau auquel on veut se connecter et établir la liaison PPP. Pour cela j'ai amélioré les scripts trouvé sur internet de manière à y inclure l'entrée du code pin et à pouvoir lancer le script plusieurs fois.
Procédure
La procédure qui suit a été testée sur une Ubuntu (version Dapper Drake)
Récuperer http://www.sierrawireless.com/software/7x0/AirCard_7xx_Linux.tar.gz.
En extraire les fichiers : tar zxvf AirCard_7xx_Linux.tar.gz
Copier la "définition" de la carte dans /etc/pcmcia/cis : sudo cp SW_775_SER.dat /etc/pcmcia/cis/
Et pour les noyaux > 2.6.13 dans /lib/firmware : sudo cp SW_775_SER.dat /lib/firmware/
Entrer la config de la carte en ajoutant dans /etc/pcmcia/config.opts (ou /etc/pcmcia/config) : sudo vi /etc/pcmcia/config.opts
card "Sierra Wireless AC775 EDGE Network Adapter R1"
manfid 0x0192, 0x0710
cis "cis/SW_775_SER.dat"
bind "serial_cs"
Redémarrer l'ordinateur (pas sûr de la nécessité) et insérer la carte si ce n'est pas déjà fait. Vérifier la bonne détection dans /sys/bus/pcmcia/devices/
Créer la config ppp : sudo vi /etc/ppp/peers/ac775
# -detach
- changer par votre port série virtuel
/dev/ttyS0
- 230400 # pcmcia negotiation speed
460800 # pcmcia negotiation speed
- -----------------------------------------------------------------
- uncomment these options when roaming or when signal is low ------
- leaving these options commented increases data throughput -------
- novj # disable TCP/IP header compression
- novjccomp # disable connection ID compression
- -----------------------------------------------------------------
- These compression styles can cause problems over GPRS/EDGE
- Uncomment these lines for troubleshooting
- nodeflate # Disable deflate compression
- nobsdcomp # Disable bsd-compress compression
- ----------------------------------------------------------------
ipcp-max-configure 20 # increase the maximum IPCP config requests
maxfail 0 # do not stop retrying connection
- mettre en commentaire quand tout fonctionne
debug
defaultroute
usepeerdns
show-password
crtscts
- lock
nolock
noauth
lcp-echo-failure 4
lcp-echo-interval 65535
connect '/usr/sbin/chat -v -t3 -f /etc/chatscripts/ac775chat'
disconnect '/usr/sbin/chat -v -t3 -f /etc/chatscripts/ac775chatend'
Créer le script chat de connection en remplaçant 0000 par votre code pin si vous l'avez personnalisé : sudo vi /etc/chatscripts/ac775chat
TIMEOUT 5
ABORT 'BUSY'
ABORT 'NO ANSWER'
- We dont want to abort on ERROR because of CME ERROR
- ABORT 'ERROR'
SAY 'Starting GPRS connect script\n'
- Get the modem's attention and reset it.
"" 'ATZ'
- init modem string
- AT
- The attention command.
- &F
- Restore the factory configuration (set register values to Hayes defaults).
- &D2
- DTR option: Following loss of the data terminal ready (DTR) signal, the modem disconnects, sends the OK result code, and disables auto answer while DTR is off.
- &C1
- DCD option: The received line signal detected (RLSD) follows the state of the data carrier from the remote modem.
- S0=1
- The number of rings until auto-answer = 1.
OK AT&F&D2&C1S0=0
- set code pin if not already set
SAY 'Entering Pin code'
OK AT+CPIN?
- E0=No echo, V1=English result codes
READY-AT+CPIN="0000"-OK 'ATE0V1'
- Set Access Point Name (APN) if not already set
SAY 'Setting APN\n'
OK AT+cgdcont?
bouygtel-AT+cgdcont=1,"IP","a2bouygtel.com"-OK ATD*99#
- Dial the number
ABORT 'NO CARRIER'
TIMEOUT 60
SAY 'Dialing...\n'
CONNECT
Créer le script chat de déconnection : sudo vi /etc/chatscripts/ac775chatend
"" "\K"
"" "+++ATH0"
SAY "GPRS disconnected."
Gérer l'authentification (elle semble inutile et effectuée par la carte sim) en ajouter une ligne dans /etc/ppp/pap-secrets
- sudo vi /etc/ppp/pap-secrets
* * acces *
Vérifier que vous avez bien les droits sur le port série (au besoin changez les ou rejoignez le groupe propriétaire).
Un simple "pon ac775" devrait désormais établir la connection. "poff ac775" devrait vous déconnecter. Vous pouvez bien sûr mettre en place le mécanisme que vous voulez pour gérer votre connection qui se comporte comme une connection PPP classique.
Références
La page de Sierra Wireless pour le support Linux de l'AC775 : http://mycusthelp.com/sierrawireless/supportkbitem.asp?sSessionID=&Inc=2870&sFilA=FAQ%20Category&sFilB=Products&sFilC=&FA=-1&FB=-1&FC=-1