Pour le moment mes scripts de connexion en tout premier lieu.
==== preambule chianli ====
La blague c'est que par default le modem est desactivé dans l'ibm, il est en status "low-power"
Biensur il faut le support sierra ainsi que usb_serial dans votre kernel.
Le noyau 2.6.28 fonctionne trés bien pour celà.
==== activer votre modem 3G ====
Verifiez que vous avez bien un device dans /dev/ttyUSB0
connectez vous a l'aide de screen dessus :
screen /dev/ttyUSB0
une fois dans ttyUSB0 entrez la commande suivante :
at!gstatus?
Logiquement la sortie de la commande pour le moment doit ressembler à :
!GSTATUS:
Current Time: 4415 Temperature: 39
Bootup Time: 4337 Mode: LOW POWER MODE
System mode: GSM PS state: Not attached
WCDMA band: IMT2000 GSM band: GSM900
WCDMA channel: 10637 GSM channel: 1
GMM (PS) state:NULL ---
MM (CS) state: NULL ---
WCDMA L1 State:L1M_DEEP_SLEEP RRC State: DISCONNECTED
RX level (dBm):-94 (Not updated)
OK
Pour allumer la petite diode wireless sur le thinkpad et donc allumer la carte modem 3G entrez cette commande :
at+cfun=1
Verifiez :
at!gstatus?
!GSTATUS:
Current Time: 4754 Temperature: 39
Bootup Time: 4442 Mode: ONLINE
System mode: WCDMA PS state: Not attached
WCDMA band: IMT2000 GSM band: Unknown
WCDMA channel: 10637 GSM channel: 65535
GMM (PS) state:DEREGISTERED NO IMSI
MM (CS) state: IDLE NO IMSI
WCDMA L1 State:L1M_PCH_SLEEP RRC State: DISCONNECTED
RX level (dBm):-93
Ensuite il vous faut fixer la vitesse de votre modem directement en hard ainsi :
at^sysconfig=2,0,2,4
Maintenant il s'agit de rentrer le code pin de la puce :
at+cpin?
puis donner votre pin :
at+cpin="xxxx"
Votre modem est désormais prêt a établir une connexion 3G. Une fois que vous aurez paramétré vos scripts de connexions.
à placer dans /etc/ppp/peers/
==== gsm_chat ====
TIMEOUT 3
SAY '1...\n'
ABORT BUSY
SAY '2...\n'
ABORT 'NO CARRIER'
SAY '3...\n'
ABORT VOICE
SAY '4...\n'
ABORT 'NO DIALTONE'
SAY '5...\n'
ABORT 'NO DIAL TONE'
SAY '6...\n'
ABORT 'NO ANSWER'
SAY '7...\n'
ABORT DELAYED
SAY '8...\n'
"" ATZ
SAY '9...\n'
#SAY "Checking PIN:\n"
#'' AT+CPIN?
#"+CPIN: READY" \c
#SAY "OK\n"
# OK-\\k\\k\\\k\\d+++ATH-OK ATE1
OK ATQ0V1E0S0=0&C1&D2
SAY "ATQ done\n"
#######################################
SAY '\n'
SAY 'Setting APN\n'
# Access Point Name (APN)
# Incorrect APN or CGDCONT can often cause errors in connection.
# Below are a bunch of different popular APNs
SAY '10...\n'
OK AT+CGDCONT=1,\"IP\",\"slsfr\"\
SAY '11...\n'
OK ATDT*99#\
SAY '11...\n'
CONNECT ""
SAY 'connect OK\n'
Puis mon script de connexion ppp qui va appeller le script de chat.
==== sfr_sierra ====
/dev/ttyUSB0
nodetach
460800
idle 7200
lock
crtscts
modem
noauth
debug
noipdefault
defaultroute
#persist
usepeerdns
# avoid compression:
noccp
nobsdcomp
#novj
user ""
password ""
connect "/usr/sbin/chat -v -t6 -f /etc/ppp/peers/gsm_chat"
ensuite pour se connecter il faut utiliser :
pon sfr-sierra
==== sortie de pon sfr-sierra une fois la connexion fonctionnelle ====
1...
2...
3...
4...
5...
6...
7...
8...
9...
ATQ done
Setting APN
10...
11...
11...
connect OK
Serial connection established.
using channel 42
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
sent [LCP ConfReq id=0x1 ]
rcvd [LCP ConfReq id=0x8d ]
No auth is possible
sent [LCP ConfRej id=0x8d ]
rcvd [LCP ConfAck id=0x1 ]
rcvd [LCP ConfReq id=0x8e ]
sent [LCP ConfAck id=0x8e ]
sent [IPCP ConfReq id=0x1 ]
rcvd [LCP DiscReq id=0x8f magic=0x213d26e]
rcvd [IPCP ConfNak id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfReq id=0x8]
sent [IPCP ConfNak id=0x8 ]
rcvd [IPCP ConfRej id=0x2 ]
sent [IPCP ConfReq id=0x3 ]
rcvd [IPCP ConfNak id=0x3 ]
sent [IPCP ConfReq id=0x4 ]
rcvd [IPCP ConfAck id=0x4 ]
rcvd [IPCP ConfReq id=0x9]
sent [IPCP ConfAck id=0x9]
Could not determine remote IP address: defaulting to 10.64.64.64
local IP address 10.162.125.183
remote IP address 10.64.64.64
primary DNS address 172.20.2.10
secondary DNS address 172.20.2.39
Script /etc/ppp/ip-up started (pid 6003)
Script /etc/ppp/ip-up finished (pid 6003), status = 0x0
==== commandes AT ultimes ====
Dire au modem 3G de ne plus checker le code pin, ainsi la carte cherchera a se synchroniser avec le reseau directement. :
AT+CLCK="SC",0,"XXXX"
Afin d'intéroger le modem pour savoir son status quand au code pin :
AT+CLCK="SC",2
si ça répond "+CLCK: 0" le PIN est a off, si ça repond "+CLCK: 1" le PIN est a on.
La commande ATI permet d'en connaitre plus sur votre materiel.
Manufacturer: Sierra Wireless, Inc.
Model: MC8775
Revision: H1_1_8_3MCAP C:/WS/FW/H1_1_8_3MCAP/MSM6280/SRC 2007/03/08 18:17:59
IMEI: 352678014867904
IMEI SV: 6
FSN: D282468397010
3GPP Release 5
+GCAP: +CGSM,+DS,+ES
OK
La commande pour voir si on est synchronisé au reseau : (notabene : Si la carte ne vous repond pas au moins 12 vous n'arriverez pas à vous connecter).
AT+CSQ
Synchronisez vous avec le reseau SFR :
AT+CGDCONT=1,"IP","slsfr"
OK
at!gstatus?
!GSTATUS:
Current Time: 2792 Temperature: 37
Bootup Time: 1308 Mode: ONLINE
System mode: WCDMA PS state: Attached
WCDMA band: IMT2000 GSM band: Unknown
WCDMA channel: 10564 GSM channel: 65535
GMM (PS) state:REGISTERED NORMAL SERVICE
MM (CS) state: IDLE NORMAL SERVICE
WCDMA L1 State:L1M_PCH_SLEEP RRC State: DISCONNECTED
RX level (dBm):-58
OK
==== wvdial ====
mon wvdial.conf.sfr
[Dialer Defaults]
Phone = *99#
Username =
Password =
Stupid Mode = 1
Dial Command = ATDT
Modem = /dev/ttyUSB0
Baud = 460800
Init2 = ATZ
Init3 = ATQ0V1E0S0=0&C1&D2+IFC=2,2
ISDN = 0
Modem Type = Analog Modem
Init5 = AT+CGDCONT=1,"IP","slsfr";
==== Optimisation des scripts. ====
Commme ça foirait souvent j'ai optimisé mes scripts afin qu'ils soient moins verbeux et qu'ils envoient les commandes au modem plus vite.
sfr-sierra
/dev/ttyUSB0
nodetach
460800
idle 7200
lock
crtscts
noauth
debug
noipdefault
defaultroute
#persist
usepeerdns
# avoid compression:
lock
nodeflate
nopcomp
noccp
nobsdcomp
novj
user ""
password ""
connect "/usr/sbin/chat -v -t6 -f /etc/ppp/peers/gsm_chat"
gsm_chat
TIMEOUT 3
ABORT BUSY
ABORT 'NO CARRIER'
ABORT VOICE
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT DELAYED
'' AT
"" ATZ
'' ATQ0V1E0S0=0&C1&D2
'' AT+CGDCONT=1,"IP","slsfr"
'' ATDT*99#
CONNECT ""