Outils pour utilisateurs

Outils du site


tuto:linux:creer_une_connexion_entre_son_telephone_portable_equipe_d_un_modem_et_son_ordinateur

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tuto:linux:creer_une_connexion_entre_son_telephone_portable_equipe_d_un_modem_et_son_ordinateur [2009/05/01 10:15] roottuto:linux:creer_une_connexion_entre_son_telephone_portable_equipe_d_un_modem_et_son_ordinateur [2010/06/16 22:18] (Version actuelle) root
Ligne 2: Ligne 2:
  
 ===== Par bluetooth ===== ===== Par bluetooth =====
 +
 +==== Voir si son périphérique bluetooth est reconnu par linux ====
 +
 +  # hcitool dev
 +  Devices:
 +        hci0    00:01:02:03:04:05
  
 ==== Rechercher l'adresse bluetooth du téléphone ==== ==== Rechercher l'adresse bluetooth du téléphone ====
Ligne 7: Ligne 13:
 Ouvrez un terminal et taper : Ouvrez un terminal et taper :
  
 +  # hcitool scan
   Scanning ...   Scanning ...
         00:17:83:48:XX:XX       Gigi         00:17:83:48:XX:XX       Gigi
 +  
 +  # l2ping 00:17:83:48:XX:XX
 +  Ping: 00:17:83:48:XX:XX from 00:22:43:A5:XX:XX (data size 44) ...
 +  0 bytes from 00:17:XX:XX:E1:D6 id 0 time 35.62ms
  
 ==== Rechercher la liste des services du téléphone avec sdptool ==== ==== Rechercher la liste des services du téléphone avec sdptool ====
Ligne 291: Ligne 302:
 o Mot de passe : websfr o Mot de passe : websfr
  
 +<nowiki>
 o Numéros de Téléphone : *99***1# ou *99***3# o Numéros de Téléphone : *99***1# ou *99***3#
 +</nowiki>
  
   * **Pour Orange :**   * **Pour Orange :**
Ligne 308: Ligne 321:
 </note> </note>
  
 +
 +===== Connexion par câble =====
 +
 +==== Sur port Série ====
 +
 +  * Si vous utilisez le port Série numéro 1 de votre ordinateur (le seul ou celui du haut) le nom interne sera : **/dev/ttyS0**
 +  * Si vous utilisez le port Série numéro 2 de votre ordinateur (celui du bas) le nom interne sera : **/dev/ttyS1**
 +
 +==== En IrDA (infrarouge) ====
 +
 +  * Le nom de votre périphérique infrarouge est par défaut : **/dev/irda0**
 +
 +==== Sur Port USB ====
 +
 +  gigi@portable:~$ sudo udevadm monitor --udev
 +  monitor will print the received events for:                            
 +  UDEV - the event which udev sends out after rule processing            
 +  
 +  UDEV  [1241173783.066410] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1 (usb)
 +  UDEV  [1241173783.080047] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0 (usb)
 +  UDEV  [1241173783.085161] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.2 (usb)
 +  UDEV  [1241173783.092353] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.4 (usb)
 +  UDEV  [1241173783.109670] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.6 (usb)
 +  UDEV  [1241173783.112113] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.6/usb_endpoint/usbdev2.3_ep84 (usb_endpoint)                                                                                                                           
 +  UDEV  [1241173783.114375] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.6/usb_endpoint/usbdev2.3_ep03 (usb_endpoint)                                                                                                                           
 +  UDEV  [1241173783.121222] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/usb_endpoint/usbdev2.3_ep00 (usb_endpoint)      
 +  UDEV  [1241173783.121992] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.8 (usb)                                   
 +  UDEV  [1241173783.124257] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.8/usb_endpoint/usbdev2.3_ep86 (usb_endpoint)                                                                                                                           
 +  UDEV  [1241173783.126578] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.8/usb_endpoint/usbdev2.3_ep04 (usb_endpoint)                                                                                                                           
 +  UDEV  [1241173783.139347] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.1 (usb)                                   
 +  UDEV  [1241173783.142391] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.3 (usb)                                   
 +  UDEV  [1241173783.190327] add      /module/usbnet (module)                                                                   
 +  UDEV  [1241173783.215157] add      /module/cdc_ether (module)                                                                
 +  UDEV  [1241173783.216077] add      /bus/usb/drivers/cdc_ether (drivers)                                                      
 +  UDEV  [1241173783.217138] add      /module/rndis_host (module)                                                               
 +  UDEV  [1241173783.217216] add      /bus/usb/drivers/rndis_host (drivers)                                                     
 +  UDEV  [1241173783.218221] add      /module/rndis_wlan (module)                                                               
 +  UDEV  [1241173783.219325] add      /bus/usb/drivers/rndis_wlan (drivers)                                                     
 +  UDEV  [1241173783.227076] add      /module/cdc_acm (module)                                                                  
 +  UDEV  [1241173783.227295] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.7 (usb)                                   
 +  UDEV  [1241173783.228612] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.7/usb_endpoint/usbdev2.3_ep85 (usb_endpoint)                                                                                                                           
 +  UDEV  [1241173783.229939] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.5 (usb)                                   
 +  UDEV  [1241173783.230831] add      /bus/usb/drivers/cdc_acm (drivers)                                                        
 +  UDEV  [1241173783.231859] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.5/usb_endpoint/usbdev2.3_ep83 (usb_endpoint)
 +  UDEV  [1241173783.780097] add      /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.5/tty/ttyACM0 (tty)
 +
 +On voit à la dernière ligne que le périphérique ttyACM0 est ajouté, il se trouve dans **/dev/ttyACM0**.
 +
 +En regardant dans /var/log/kernel.log, on voit également :
 +  May  1 12:29:43 portable kernel: [ 4392.978487] cdc_acm 2-1:1.5: ttyACM0: USB ACM device
 +
 +La configuration est la meme, il suffit maintenant de lancer la commande wvdial en modifiant dans le fichier de configuration **/dev/rfcomm0** par **/dev/ttyACM0**.
 +
 +===== Création de scipt =====
 +
 +Le script Internet permet de se connecter à internet en 3G et le script sms permet d'envoyer des SMS.
 +
 +Si vous intilisez le script sms, vous devrez installer le paquet suivant :
 +  sudo aptitude install gsmsendsms
 +
 +<note warning>
 +SFR vérifie que vous utilisez bien le navigateur du téléphone portable pour surfer sur leur réseau.
 +On va faire croire à leur proxy qu'on utilise le navigateur du téléphone portable.
 +Ouvrez firefox et taper dans la barre d'adresse :
 +  about::config
 +
 +Changer la valeur de la ligne **general.useragent.extra.firefox** à **NokiaN95**.
 +
 +optionnel : si ca ne marche pas positionner le proxy sur l'ip 195.115.25.129 et sur le port 8080
 +
 +<note tip>
 +Il existe 2 plugins firefox:
 +  * switch proxy pour changer facilement de proxy
 +  * User Agent Switcher ppur configurer et changer facilement de user agent
 +</note>
 +</note>
 +
 +==== script shell basique ====
 +
 +=== Internet ===
 +
 +<code>
 +#!/bin/bash
 +
 +if [ `id -u` != 0 ] ; then
 + echo "Seul root peut lancer ce programme"
 + exit 0
 +fi
 +
 +if [ -e /dev/ttyACM0 ] ; then
 +        echo "Connexion par USB"
 + wvdial -C wvdial_USB.conf
 +else
 + echo "Connexion par bluetooth"
 +      if [ ! -e /dev/rfcomm0 ] ; then
 +       echo "Création de l'interface de communication /dev/rfcomm0"
 +              nohup rfcomm connect 0 00:17:83:48:E1:D6 4&
 +              sleep 6
 +        fi
 + sudo wvdial -C wvdial_Bluetooth.conf
 +fi
 +</code>
 +
 +=== SMS ===
 +
 +<code>
 +#!/bin/bash
 +
 +if [ `id -u` != 0 ] ; then 
 + echo "Seul root peut lancer ce programme";
 + exit 0
 +fi
 +
 +if [ -e /dev/ttyACM0 ] ; then
 + echo "Connexion par câble"
 + dev="/dev/ttyACM0"
 +else
 + echo "Connection par bluetooth"
 + if [ ! -e /dev/rfcomm0 ] ; then
 + echo "Création de l'interface de communication /dev/rfcomm0"
 + nohup rfcomm connect 0 00:17:83:48:E1:D6 4&
 + sleep 1
 + fi
 + dev="/dev/rfcomm0"
 +fi
 +
 +printf "\nEntrer le numéro du destinataire comme de la façon suivante : +33620274684\n"
 +read num_dest
 +
 +printf "Entrer votre message\n"
 +read -d "#" message
 +
 +gsmsendsms -C +33609001390 -d "$dev" "$num_dest" "$message"
 +</code>
 +
 +
 +==== Script graphique ====
 +
 +Il existe plusieurs outils pour faire du script graphique, perl TK, GTK dialog, zenity (GTK), kdialog (QT), Xdialog...
 +
 +Nous utiliserons Xdialog.
 +
 +  sudo aptitude install dialog xdialog
 +
 +Tuto Xdialog :
 +  * http://xdialog.free.fr/doc/common.html
 +  * http://www.brothersofnet.freesurf.fr/sans_popup/Xdialog.html
 +  * http://ftp.traduc.org/doc-vf/gazette-linux/html/2004/101/lg101-P.html
 +  * http://www.xgarreau.org/aide/devel/langtk/bash_dialog.php
 +
 +=== Internet ===
 +
 +<code>
 +#!/bin/bash
 +
 +if [ -z $DISPLAY ]
 +   then           
 +      DIALOG=dialog
 +   else            
 +      DIALOG=Xdialog
 +fi
 +
 +title="GigiX Internet 3G"
 +
 +if [ `id -u` != 0 ] ; then 
 + #echo "Seul root peut lancer ce programme";
 + $DIALOG --title "$title" --msgbox 'Seul root peut lancer ce programme !' 0 0
 + exit 0
 +fi
 +
 +log=/home/gigi/Documents/conf_3G_portable/log.txt
 +
 +if [ -e /home/gigi/Documents/conf_3G_portable/log.txt ] ; then
 + rm "$log"
 + touch "$log"
 +else
 + touch "$log"
 +fi
 +
 +if [ "$1" = "--debug" ] ; then
 + $DIALOG --title "$title" --no-cancel --date-stamp --logbox "$log" 0 0&
 + $DIALOG --title "$title" --no-cancel --date-stamp --logbox /var/log/syslog 0 0&
 +fi
 +
 +if [ -e /dev/ttyACM0 ] ; then
 + echo "Connexion par câble" | tee -a "$log"
 + dev="/dev/ttyACM0"
 + echo "Utilisation du périphérique $dev" | tee -a "$log"
 +else
 + echo "Connection par bluetooth" | tee -a "$log"
 + if [ ! -e /dev/rfcomm0 ] ; then
 + echo "Création de l'interface de communication /dev/rfcomm0" | tee -a "$log"
 + nohup rfcomm connect 0 00:17:83:48:E1:D6 4 | tee -a "$log"&
 +
 + compteur1=16
 + (
 + while [ "$compteur1" -le 100 ]
 + do
 + echo $compteur1
 + echo "XXX"
 + echo "Création de l'interface de communication /dev/rfcomm0 (blutooth)"
 + echo "XXX"
 + compteur1=`expr $compteur1 + 16`
 + sleep 1
 + done
 + ) |
 + $DIALOG --title "$title" --gauge "Création de l'interface de communication /dev/rfcomm0 (blutooth)" 20 70 0
 +
 + if [ `grep down "$log" | wc -l` = 1 ] ; then
 + $DIALOG --title "$title" --msgbox 'Raccorder le téléphone par câble ou activer le bluetooth' 0 0
 + exit
 + fi
 +
 + else
 + echo "/dev/rfcomm0 déjà créée, réutilisation de cette interface" | tee -a "$log"
 + fi
 +
 + dev="/dev/rfcomm0"
 + echo "Utilisation du périphérique $dev" | tee -a "$log"
 +fi
 +
 +compteur2=0
 +(
 +while [ "$compteur2" != 102 ]
 +do
 +if [ `tail -10 /var/log/syslog | grep primary | wc -l` = 1 ] ; then
 + compteur2=100;
 + echo $compteur2
 + echo "XXX"
 + echo "Connecté ($compteur2 pourcent)"
 + echo "XXX"
 + sleep 2
 + connect=1
 +else
 + echo $compteur2
 + echo "XXX"
 + echo "Tentative de connexion au réseau SFR ($compteur pourcent)"
 + echo "XXX"
 + if [ "$compteur2" = 98 ]; then
 + if [ "$connect" = 1 ] ; then
 + $DIALOG --title "$title" --msgbox "Problème l'initialisation modem du portable" 0 0
 + exit
 + fi
 + fi
 +fi
 +compteur2=`expr $compteur2 + 2`
 +sleep 1
 +done
 +) |
 +$DIALOG --title "$title" --gauge "Connexion en cours..." 20 70 0&
 +
 +if [ -e /dev/ttyACM0 ] ; then
 +        echo "Connexion par USB" | tee -a "$log"
 + wvdial -C wvdial_USB.conf | tee -a "$log"
 +else
 + echo "Connexion par bluetooth" | tee -a "$log"
 +      if [ ! -e /dev/rfcomm0 ] ; then
 +       echo "Création de l'interface de communication /dev/rfcomm0" | tee -a "$log"
 +              nohup rfcomm connect 0 00:17:83:48:E1:D6 4 | tee -a "$log"&
 +              sleep 6
 +        fi
 +
 + sudo wvdial -C wvdial_Bluetooth.conf | tee -a "$log"
 +fi
 +</code>
 +
 +=== SMS ===
 +
 +Ce script utilise un fichier nommé **annuaire-tel.txt** comme annuaire, il doit avoir cette syntaxe :
 +  +33611111111 tata status1
 +  +33622222222 toto status1
 +  ...
 +
 +<code>
 +#!/bin/bash
 +
 +if [ -z $DISPLAY ]
 +   then           
 +      DIALOG=dialog
 +   else            
 +      DIALOG=Xdialog
 +fi
 +
 +title="GigiX SMS"
 +
 +if [ `id -u` != 0 ] ; then 
 + #echo "Seul root peut lancer ce programme";
 + $DIALOG --title "$title" --msgbox 'Seul root peut lancer ce programme !' 0 0
 + exit 0
 +fi
 +
 +log=/home/gigi/Documents/conf_3G_portable/log.txt
 +
 +if [ -e /home/gigi/Documents/conf_3G_portable/log.txt ] ; then
 + rm "$log"
 + touch "$log"
 +else
 + touch "$log"
 +fi
 +
 +if [ "$1" = "--debug" ] ; then
 + $DIALOG --title "$title" --no-cancel --date-stamp --logbox "$log" 0 0&
 +fi
 +
 +
 +if [ -e /dev/ttyACM0 ] ; then
 + echo "Connexion par câble" | tee -a "$log"
 + dev="/dev/ttyACM0"
 + echo "Utilisation du périphérique $dev" | tee -a "$log"
 +else
 + echo "Connection par bluetooth" | tee -a "$log"
 + if [ ! -e /dev/rfcomm0 ] ; then
 + echo "Création de l'interface de communication /dev/rfcomm0" | tee -a "$log"
 + nohup rfcomm connect 0 00:17:83:48:E1:D6 4 | tee -a "$log"&
 +
 + compteur1=16
 + (
 + while [ "$compteur1" -le 100 ]
 + do
 + echo $compteur1
 + echo "XXX"
 + echo "Création de l'interface de communication /dev/rfcomm0 (blutooth)"
 + echo "XXX"
 + compteur1=`expr $compteur1 + 16`
 + sleep 1
 + done
 + ) |
 + $DIALOG --title "$title" --gauge "Création de l'interface de communication /dev/rfcomm0 (blutooth)" 20 70 0
 +
 + if [ `grep down "$log" | wc -l` = 1 ] ; then
 + $DIALOG --title "$title" --msgbox 'Raccorder le téléphone par câble ou activer le bluetooth' 0 0
 + exit
 + fi
 +
 + else
 + echo "/dev/rfcomm0 déjà créée, réutilisation de cette interface" | tee -a "$log"
 + fi
 +
 + dev="/dev/rfcomm0"
 + echo "Utilisation du périphérique $dev" | tee -a "$log"
 +fi
 +
 +num_dest=`Xdialog --title "$title" --help "Cliquer sur annuler pour pouvoir saisir manuellement" --buildlist "Annuaire de GIGI" 0 0 1 \`cat annuaire-tel.txt| sort -k 2 | tr "\n" " "\` 2>&1`
 +
 +EXIT_CODE=$?
 +
 +case $EXIT_CODE in
 +    0) # All OK. The $RESULTS variable holds everything entered/choosed by the user.
 +       ;;
 +    1) # Cancel/No pressed.
 +       num_dest=`$DIALOG --title "$title" --inputbox 'Entrer les numéros des destinataires de cette forme +33620274684' 0 0 2>&1`
 +     EXIT_CODE=$?
 +     case $EXIT_CODE in
 + 0) # All OK. The $RESULTS variable holds everything entered/choosed by the user.
 +   ;;
 + 1) # Cancel/No pressed.
 +     exit
 +     ;;
 +       255) # An error occured or the box was closed.
 +   exit
 +   ;;
 +       esac
 + ;;
 +  255) # An error occured or the box was closed.
 +       exit
 +       ;;
 +esac
 +
 +
 +if [ "$num_dest" = '' ] ; then
 + $DIALOG --title "$title" --msgbox 'Vous devez entrer un numéro de téléphone' 0 0
 + exit
 +fi
 +
 +num_dest=`echo $num_dest | sed s/"\/"/' '/g`
 +
 +message=`Xdialog --title "$title" --editbox text 1 0 2>&1`
 +
 +if [ "$?" = 1 ] ; then
 + exit
 +fi
 +
 +echo "Utilisation du centre de messagerie SFR +33609001390" | tee -a "$log"
 +
 +for num in $num_dest
 +do
 + gsmsendsms -C +33609001390 -d "$dev" "$num" "$message" | tee -a "$log"
 + echo "Envoie du message à "$num" en cours ..." | tee -a "$log"
 +done
 +</code>
 +
 +====== Firefox ======
 +
 +Tapez dans la barre d'adresse ceci : about:config
 +
 +Dans le champ Filtre, tapez "useragent", puis double cliquez sur le nom de l'option : general.useragent.extra.firefox et remplacez le contenu par "NokiaN95".
  
tuto/linux/creer_une_connexion_entre_son_telephone_portable_equipe_d_un_modem_et_son_ordinateur.1241172924.txt.gz · Dernière modification : 2009/05/01 10:15 de root