Posts avec le tag "3g"

3G sur gentoo

Ajouté le 01.11.2008 - 17:43 dans  •  Commentaires (5)
Tags: gentoo lenovo 3g

Après avoir configuré Hayate pour qu'elle marche sur gentoo sans le moindre soucis, il est venu LE truc trop utile : faire marcher une de ces clefs 3G fournies par notre cher (très cher...) fournisseur national : Swisscom.
Il s'agit d'une clef 3G tout à fait conventionnelle, marchant toute seule sur certains Linux tels qu'Ubuntu, Debian, en utilisant un programme opensource développé et fourni par Vodafone (disponible ici).

Après pas mal de tentatives, il s'est avèré que je devais descendre les 3/4 des packages gnome pour faire marcher ce programme. Il est donc venu le moment de trouver comment faire marcher sans !

Et là commencent les recherches sur google etc. Evidemment, gentoo-wiki est toujours mort, le miroir présent sur zugaina date de mathusalem... Reste google-cache. Je trouve donc 2-3 infos cools qui me permettent de déjà faire comprendre à mon système ce qu'est ce machin space que je lui plante dans un port USB.
Il faut activer 2-3 trucs dans le kernel s'ils ne le sont pas déjà:
Device Drivers 
  ---> USB Support 
    ---> OHCI HCD support
Device Drivers  
  ---> USB Support 
    ---> [M] USB Serial Converter support 
      ---> [*] USB Generic Serial Driver

Et bien sûr le PPP (dans device drivers -> networking).

Une fois votre nouveau kernel compilé avec amour et passion, installé comme il se doit, il faut ajouter 2-3 petites choses dans udev:

/etc/udev/rules.d/50-vodafone.rules :
SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/sbin/modprobe usbserial vendor=0x12d1 product=0x1003"


Les valeurs pour vendor et product sont facilement trouvables :
brancher votre clef 3G, puis dans un shell :
$ lsubs -v | less

Et trouvez la partie en référence à votre clef USB.

Cela va faire la chose suivante :
dès que vous plantez votre clef, udev chargera le module usbserial avec les options passées.

Redémarrez votre ordinateur une fois cela fait.

Ensuite, il faut install pppd et ses dépendances; une fois cela fait, il faut juste planter 2 fichiers de config:

/etc/ppp/peers/vodafone
#Set this to the device allocated to the Datacard
/dev/ttyUSB0
#Baudrate -- Note that setting this to 384000 yields an error message
# about this speed not being supported!
460800
#Idle time for closing connection
idle   7200
#Lock the device for this PPPD process use only
lock
#Use normal handshaking
crtscts
#Assume it is a modem device and force modem control methods
modem
#Any user can start the connection
noauth
#If a default route exists replace it with the ppp link
#You get an error if this command is not supported
#by your version of PPPD
#replacedefaultroute
#Make the ppp link the default root
defaultroute
#Username and Password for computer/GlobeTrotter ppp link
#Normally ignored. Change if GSM Operator requires it
user               gprs
password           gprs
#Change the path to chat if required for your version of Linux
connect "/usr/sbin/chat -V -f /etc/ppp/vodafone-chat"
#Accept IP address provided by network
noipdefault
#Detach PPPD from console used to run the program {optional}
#updetach
#Get DNS addresses from operator
usepeerdns
#Don't use VJ compression for ppp link
novj


IMPORTANT : le username et le mot de passe sont valables pour la Suisse. Sisi, faut les mettre !! Renseignez-vous auprès de votre fournisseur de service 3G. J'ai passé genre 30 minutes au tél avec un mec de swisscom avant d'avoir ce truc. Il pigeait pas comment je pouvais faire marcher ma clef sous linux... boulet.

Deuxième fichier :

/etc/ppp/vodafone-chat
ABORT BUSY 
ABORT 'NO CARRIER'
ABORT ERROR
REPORT CONNECT
TIMEOUT 120
"" "AT&F"
OK "ATZ"
OK "ATQ0 V1 E0 S0=0 &C1 &D2 +FCLASS=0"
OK 'AT+CGDCONT=1,"IP","gprs.swisscom.ch"'
SAY "Calling Vodafone GPRSn"
TIMEOUT 60
OK "ATD*99***1#"
CONNECT c


Une bonne partie de ce code m'a été gracieusement fourni par un grep sauvage dans les sources du machin de vodafone.
Là encore, attention : il s'agit de la configuration pour la Suisse. Dans votre pays, il faudra remplacer gprs.swisscom.ch par le bon paramètre. Là encore, faudra aller tirer les vers du nez de votre fournisseur de service :P.

Petite astuce en plus : virer le code PIN de votre carte SIM :
Installez minicom, puis configurez-le pour se connecter sur ttyUSB0;
une fois connecté, entrez ceci :
AT+CPIN="xxxx"
AT+CLCK="SC",0,"xxxx"

Remplacez xxx par votre code PIN. Quittez le minicom... et hop. Vous venez de désactiver la demande de code PIN.

Et voilà ;)

Lire plus