Differences

This shows you the differences between two versions of the page.

Link to this comparison view

linux:connexion_infrarouge [2010/01/12 13:29] (current)
Line 1: Line 1:
 +Si toi aussi, tu es oblige de passer ton week end chez ta belle mere qui ne possede meme pas l'​internet convivial, voici une solution qui pourra *peut etre* t'​epargner des pulsions suicidaires... (enfin moi ca marche) : La connection au net via un GSM.
  
 +
 +Materiel utilise : 
 +  * Ordinateur Portable avec port infrarouge, Debian, Linux 2.4.19
 +  * Telephone Samsung A300 avec port infrarouge (Operateur Bouygues)
 +  * Forfait internet gratuit Free.fr
 +
 +
 +Etape Numero 1 :
 +
 +  * Recompilation du kernel avec le support de l'IRDA (Infrared Data Association):​
 +
 +<​code>​
 +section IRDA (INFRARED) SUPPORT:
 +
 +*IrDA subsystem support*
 + Dites <M> pour activer le support de l'irda par votre kernel
 +
 +*IrLAN protocol*
 + Dites <M> pour pouvoir vous connecter a d'​autres peripheriques infrarouges. IrLAN emule une connection ethernet.
 +
 +*IrNET protocol*
 + Dites <M> pour pouvoir transferer des paquets TCP/IP via irda. Cela necessite une installation correcte de PPP.
 +
 +*IrCOMM protocol*
 + Dites <M> pour emuler un port serie. Cela permet ensuite de pouvoir utiliser des outils comme PPP.
 +
 +*Cache last LSAP*
 + Dites <Y> pour pouvoir envoyer et recevoir les trames via la meme connection.
 +
 +*Debug information*
 + Dites <Y> pour l'etat de votre port infrarouge dans votre syslog.
 +
 +sous section INFRARED-PORT DEVICE DRIVERS:
 +
 +*IrTTY (uses Linux serial driver)*
 + Dites <M> pour utiliser le pilote serie pour votre port IRDA.
 +</​code>​
 +
 +Recompilation du noyau et reboot.
 +
 +
 +Etape Numero 2 :
 +
 +  * Liste de mes modules charges en memoire :
 +<​code>​
 +marine:~# lsmod 
 +Module ​                 Size  Used by    Tainted: P  ​
 +irtty                   ​7424 ​  ​2 ​
 +irda                  138448 ​  ​0 ​ [irtty]
 +maestro3 ​              ​24624 ​  ​1 ​
 +ac97_codec ​             9800   ​0 ​ [maestro3]
 +i810                   ​68064 ​  ​0 ​ (unused)
 +agpgart ​               15744   ​1 ​
 +e100                   ​59988 ​  ​1 ​
 +bsd_comp ​               3928   ​0 ​ (unused)
 +ppp_generic ​           18688   ​0 ​ [bsd_comp]
 +slhc                    4320   ​0 ​ [ppp_generic]
 +</​code>​
 +
 +Etape Numero 3 :
 +
 +  * Creation des devices :
 +
 +  mknod /​dev/​ircomm0 c 161 0
 +  mknod /​dev/​ircomm1 c 161 1
 +  mknod /dev/irlpt0 c 161 16
 +  mknod /dev/irlpt1 c 161 17
 +  mknod /dev/irnet c 10 187
 +
 +Attribuer ensuite les bons droits.
 +
 +Autres methode de creation: ​
 +  /​dev/​MAKEDEV irda
 +  mknod /dev/irnet c 10 187
 +
 +- Liste des devices :
 +
 +  marine:/​dev#​ ls -l ir*
 +  crw-rw---- ​   1 root     ​dialout ​ 161,   0 Nov  2 01:22 ircomm0
 +  crw-rw---- ​   1 root     ​dialout ​ 161,   1 Nov  2 01:22 ircomm1
 +  crw-rw---- ​   1 root     ​lp ​      ​161, ​ 16 Nov  2 01:22 irlpt0
 +  crw-rw---- ​   1 root     ​lp ​      ​161, ​ 17 Nov  2 01:22 irlpt1
 +  crw-rw---- ​   1 root     ​root ​     10, 187 Oct 24 23:19 irnet
 +
 +
 +Etape Numero 4 :
 +
 +  * Installation des outils necessaires au fonctionnement de votre port infrarouge.
 +
 +Sous Debian, cela s'​effectuera de maniere aisee :-)
 +
 +  apt-get install irda-common
 +  apt-get install irda-tools
 +
 +irda-common installera les utilitaires comme irattach, dongle_attach et findchip.
 +irda-tools installera irdadump, irdaping, irpsion5.
 +
 +Pour les autres Linuxiens, les liens vers les outils pourront etre trouves ici :
 +http://​irda.sourceforge.net/​download.html
 +
 +
 +Etape Numero 5 :
 +
 +  * Parametrage de la connection.
 +
 +Pour ma part, je dispose d'un abonnement telephonique chez Bouygues. Il m'a ete necessaire d'​appeler le service clientele pour activer un service (gratuit) me permettant de faire transiter des donnees via mon telephone portable.
 +
 +J'ai ensuite ouvert un acces gratuit internet chez free.fr
 +Login : remy
 +Password : HAHAHA
 +DNS primaire : 212.27.32.5
 +DNS secondaire : 213.228.0.168
 +Numero de telephone du serveur : 0860922000
 +
 +Modification du /​etc/​resolv.conf :
 +
 +  search free.fr
 +  nameserver 212.27.32.5
 +  nameserver 213.228.0.168
 +
 +Creation des scripts de connexion :
 +<​code>​
 +#################################################################​
 +#/​etc/​chap-secrets
 +remy        proxad ​ HAHAHA
 +#################################################################​
 +
 +ou
 +
 +#################################################################​
 +#/​etc/​pap-secrets
 +remy proxad HAHAHA
 +#################################################################​
 +
 +#################################################################​
 +# /​etc/​ppp/​options
 +receive-all
 +nopcomp
 +noaccomp
 +nomagic
 +debug
 +57600
 +/​dev/​ircomm0
 +connect '/​usr/​sbin/​chat -e -f /​etc/​ppp/​chat -v'
 +disconnect '/​usr/​sbin/​chat -e -f /​etc/​ppp/​chat-disconnect -v'
 +modem
 +noauth
 +noccp
 +novj
 +novjccomp
 +defaultroute
 +noipdefault
 +user remy
 +lock
 +#################################################################​
 +
 +#################################################################​
 +#/​etc/​ppp/​chat
 +ABORT "​BUSY"​
 +ABORT "​ERROR"​
 +ABORT "NO CARRIER"​
 +ABORT "NO DIALTONE"​
 +ABORT "NO ANSWER"​
 +SAY "​initializing modem..."​
 +""​ "​AT"​
 +"​OK"​ "​ATZ"​
 +SAY "​dialing..."​
 +"​OK"​ "​ATDT0860922000"​
 +SAY "​waiting for CONNECT..."​
 +"​CONNECT"​ ""​
 +SAY "​connected!"​
 +SAY ""​
 +#################################################################​
 +
 +#################################################################​
 +#/​etc/​ppp/​chat-disconnect
 +"" ​     "​\K"​
 +"" ​     "​+++ATH"​
 +#################################################################​
 +</​code>​
 +
 +Etape Numero 6 :
 +
 +  * Activation de l'​irda.
 +
 +Active le port infrarouge de votre telephone.
 +
 +Ensuite, sous debian, vous pouvez modifier le fichier /​etc/​irda.conf de la maniere suivante :
 +<​code>​
 +marine:/​etc#​ cat irda.conf ​
 +#irda.conf Version: 1.0
 +IRDADEV=/​dev/​ttyS1
 +#DONGLE= # specify dongle type
 +DISCOVERY=-s
 +ENABLE=yes # if you do not need to start irattach, set "​no"​
 +</​code>​
 +et activer l'irda en lancant la commande suivante :
 +  /​etc/​init.d/​irda start
 +
 +Ou alors, il vous suffit de taper :
 +  /​usr/​sbin/​irattach /dev/ttyS1 -s
 +
 +L'​utilitaire irattach permet d'​activer le driver irda de votre machine et de configurer votre materiel.
 +
 +  * Lancement de la connection :
 +
 +pppd
 +
 +Et voila vous etes connecte...
 +
 +Etape Numero 7 :
 +
 +  * Liste des modules charges en memoire
 +<​code>​
 +marine:~# lsmod 
 +Module ​                 Size  Used by    Tainted: P  ​
 +ppp_async ​              ​6368 ​  ​1 ​ (autoclean)
 +ircomm-tty ​            ​30240 ​  ​1 ​ (autoclean)
 +ircomm ​                ​13164 ​  ​0 ​ (autoclean) [ircomm-tty]
 +irtty                   ​7424 ​  ​2 ​
 +irda                  138448 ​  ​0 ​ [ircomm-tty ircomm irtty]
 +maestro3 ​              ​24624 ​  ​1 ​
 +ac97_codec ​             9800   ​0 ​ [maestro3]
 +i810                   ​68064 ​  ​0 ​ (unused)
 +agpgart ​               15744   ​1 ​
 +e100                   ​59988 ​  ​0 ​
 +bsd_comp ​               3928   ​0 ​ (unused)
 +ppp_generic ​           18688   ​3 ​ [ppp_async bsd_comp]
 +slhc                    4320   ​0 ​ [ppp_generic]
 +</​code>​
 +Voici ce que vous devez obtenir en faisant un ifconfig :
 +<​code>​
 +marine:~# ifconfig ​
 +irda0     Link encap:​IrLAP ​ HWaddr ca:​65:​fc:​35  ​
 +          UP RUNNING NOARP  MTU:​2048 ​ Metric:1
 +          RX packets:282 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 +          collisions:​0 txqueuelen:​8 ​
 +          RX bytes:1720 (1.6 KiB)  TX bytes:3295 (3.2 KiB)
 +
 +ppp0      Link encap:​Point-to-Point Protocol  ​
 +          inet addr:​62.147.155.218 ​ P-t-P:​192.168.254.254 ​ Mask:​255.255.255.255
 +          UP POINTOPOINT RUNNING NOARP MULTICAST ​ MTU:​1500 ​ Metric:1
 +          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
 +          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
 +          collisions:​0 txqueuelen:​3 ​
 +          RX bytes:30 (30.0 b)  TX bytes:30 (30.0 b)
 +</​code>​
 +Et en regardant vos routes :
 +<​code>​
 +marine:~# netstat -nr
 +Kernel IP routing table
 +Destination ​    ​Gateway ​        ​Genmask ​        ​Flags ​  MSS Window ​ irtt Iface
 +192.168.254.254 0.0.0.0 ​        ​255.255.255.255 UH       40 0          0 ppp0
 +0.0.0.0 ​        ​192.168.254.254 0.0.0.0 ​        ​UG ​      40 0          0 ppp0
 +</​code>​
 +Vous devez egalement voir votre telephone grace au fichier /​proc/​net/​irda/​discovery.
 +<​code>​
 +marine:~# cat /​proc/​net/​irda/​discovery ​
 +IrLMP: Discovery log:
 +
 +nickname: SAMSUNG SGH-A300, hint: 0x9004, saddr: 0xca65fc35, daddr: 0x112c4371
 +</​code>​
 +
 +De plus, l'​utilitaire irdadump vous permet de visualiser l'etat de votre connection en temps reel a la maniere de tcpdump.
 +
 +Voici un exemple de log genere par irdadump :
 +<​code>​
 +00:​52:​37.613277 xid:rsp ca65fc35 < 5d5909b4 S=6 s=0 SAMSUNG SGH-A300 hint=9004 [ Modem IrCOMM ] (33)
 +00:​52:​37.703279 xid:cmd ca65fc35 > ffffffff S=6 s=2 (14)  ​
 +00:​52:​37.793282 xid:cmd ca65fc35 > ffffffff S=6 s=3 (14)  ​
 +00:​52:​37.883276 xid:cmd ca65fc35 > ffffffff S=6 s=4 (14)  ​
 +00:​52:​37.973281 xid:cmd ca65fc35 > ffffffff S=6 s=5 (14)
 +00:​52:​38.063285 xid:cmd ca65fc35 > ffffffff S=6 s=* marine hint=0400 [ Computer ] (22) 
 +00:​52:​38.063416 snrm:cmd ca=fe pf=1 ca65fc35 > 5d5909b4 new-ca=58  ​
 +        LAP QoS: Baud Rate=115200bps Max Turn Time=500ms Data Size=2048B Window Size=7 Add BOFS=0 Min Turn Time=5000us Link Disc=12s (32)
 +00:​52:​38.213276 ua:rsp ca=58 pf=1 ca65fc35 < 5d5909b4 ​
 +        LAP QoS: Baud Rate=115200bps Max Turn Time=100ms Data Size=128B Window Size=1 Add BOFS=0 Min Turn Time=0us Link Disc=40s (31)
 +</​code>​
 +
 +Voili voilou :)
 +
 +r0m0r
linux/connexion_infrarouge.txt ยท Last modified: 2010/01/12 13:29 (external edit)