Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/09/2006, à 14:26

Bacchux

[Résolu] Internet par mobile 3G/USB : automatisation ?

Bonjour,

J'ai concocté une procédure de connexion à internet par un mobile 3G branché à mon portable par un cable USB.
Elle est décrite : dans cette page
Elle fonctionne (je l'utilise en ce moment).
Mais je suis obligé d'entrer manuellement (ou avec un lanceur) la commande
modprobe usbserial vendor= etc
à chaque fois après avoir branché mon mobile à la prise USB.
Je serais curieux de savoir s'il existe un moyen d'automatiser
le chargement du module avec les bonnes options au branchement.
Il faudrait peut-être un script qui se lance à la détection USB (?)

J'ai googlé à droite et à gauche mais rien trouvé qui marche.:|
Si quelqu'un a une idée sur la manière de faire cela... je suis preneur.
Merci d'avance.

Dernière modification par Bacchux (Le 12/09/2006, à 14:17)


Beatux qui prodest quibus potest
Atelier linux (Ubuntu et Suse)

Hors ligne

#2 Le 12/09/2006, à 13:13

Bacchux

Re : [Résolu] Internet par mobile 3G/USB : automatisation ?

Bonjour,

OK, j'ai trouvé tout seul (pour Dapper). Après des recherches approfondies, mon pointeur
est tombé sur www . reactivated . net / writing _ udev _ rules.html
(enlever les espaces que j'ai introduits pour éviter la correction automatique !!!)
qui m'a donné la solution. Je résume :

1/ On branche le téléphone sur la prise USB et, après quelques secondes,
on vérifie qu'il est reconnu  par :

$ ls /dev/ttyUSB*

qui répond :

/dev/ttyUSB0

On cherche la place de l'appareil dans les fichiers du système par :

$ find /sys -name dev | grep USB

qui renvoie :

/sys/class/tty/ttyUSB0/dev

Pour avoir les caractéristiques utilisables dans une règle udev, on enlève le "/dev" final
de la réponse et on fait :

$ udevinfo -a -p /sys/class/tty/ttyUSB0

ce qui donne un long discours qui contient :

looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1':
    BUS=="usb"
    ID=="1-1"
    DRIVER=="usb"
    SYSFS{bConfigurationValue}=="1"
    SYSFS{bDeviceClass}=="ff"
    SYSFS{bDeviceProtocol}=="ff"
    SYSFS{bDeviceSubClass}=="ff"
    SYSFS{bMaxPacketSize0}=="64"
    SYSFS{bMaxPower}=="100mA"
    SYSFS{bNumConfigurations}=="1"
    SYSFS{bNumInterfaces}==" 2"
    SYSFS{bcdDevice}=="0100"
    SYSFS{bmAttributes}=="c0"
    SYSFS{configuration}==""
    SYSFS{devnum}=="3"
    SYSFS{idProduct}=="0708"
    SYSFS{idVendor}=="0474"
    SYSFS{manufacturer}=="SANYO Electric Co._ Ltd."
    SYSFS{maxchild}=="0"
    SYSFS{product}=="SANYO USB Phone"
    SYSFS{serial}=="353845001076265"
    SYSFS{speed}=="12"
    SYSFS{version}==" 1.10"*

Dans ce bloc, on voit:

SYSFS{idProduct}=="0708"
    SYSFS{idVendor}=="0474"

ceci indique que l'on peut utiliser ces paramètres dans les règles udev

On ouvre le fichier de règles de modprobe par:

$ sudo gedit /etc/udev/rules.d/90-modprobe.rules

et on ajoute les deux lignes suivantes à la fin du fichier (juste avant la ligne LABEL="modprobe_end") :

# Charge le module usbserial pour le s750
SYSFS{idProduct}=="0708",SYSFS{idVendor}=="0474",    RUN+="/sbin/modprobe usbserial vendor=0x0474 product=0x0708"

La première ligne est un commentaire quelconque pour mémoire.
La seconde a pour effet de déclencher à chaud, au branchement
du téléphone sur l'USB, le lancement de modprobe avec l'option voulue.

On enregistre, on referme le fichier et gedit.
On débranche le téléphone.
Après quelques secondes, on le rebranche.
Après quelques secondes, on peut lancer la connexion par pon.
Cela marche, la preuve :-)

Dernière modification par Bacchux (Le 29/09/2006, à 04:47)


Beatux qui prodest quibus potest
Atelier linux (Ubuntu et Suse)

Hors ligne