Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb avec le hotplug et un capteur IrDA usb

5 réponses
Avatar
Nicolas BERNE
Bonjour à tous,

Suite à l'achat de mon capteur IrDA usb, j'aimerais que, à chaque fois que
je le branche, "irattach irda0 -s" soit lancé et que ce prg soit tué une
fois le capteur débranché.
Je me suis inspiré de http://www.wlug.org.nz/HotPlugNotes pour mettre
tout ça en place.
Tout d'abord, le fichier /etc/hotplug/usb.usermap :
-------------------------------------------------
irda-usb 0x0003 0x066f 0x4200 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
-------------------------------------------------

et le fichier /etc/hotplug/usb/irda-usb :
-------------------------------------------------
#! /bin/sh

if [ X"$ACTION" = X"add" ] ; then
/usr/sbin/irattach irda0 -s
elif [ X"$ACTION" = X"remove" ] ; then
killall irattach
# else unknown action?
fi
-------------------------------------------------

Le pb est que /etc/hotplug/usb/irda-usb est bien executé lorsque je
branche le capteur mais pas lorsque je le débranche.
J'ai rajouté cette ligne juste avant le if :
echo "$ACTION" > /root/action

et effectivement /root/action ne contient que "add" (et jamais "remove" ou autre
chose).

Pourquoi donc ?

Pour l'instant, j'ai modifié /etc/hotplug/usb/irda-usb en :
-------------------------------------------------
#! /bin/sh

if [ X"$ACTION" = X"add" ] ; then
killall irattach
sleep 2
/usr/sbin/irattach irda0 -s
elif [ X"$ACTION" = X"remove" ] ; then
killall irattach
# else unknown action?
fi
-------------------------------------------------

Ce n'est pas très propre mais ça marche :o)


Des pistes pour que ce maudit irda-usb soir executé lorsque je debranche
le capteur...

A+

--
Nicolas BERNE - mailto:nicolas.berne@wanadoo.fr

HTML lesson #42: The only legitimate use of the greatly loathed <BLINK> tag.
Schroedinger's Cat is <BLINK>NOT</BLINK> dead.

5 réponses

Avatar
Nicolas BERNE
Thus Spoke Nicolas BERNE :
Bonjour à tous,

Suite à l'achat de mon capteur IrDA usb, j'aimerais que, à chaque fois que
je le branche, "irattach irda0 -s" soit lancé et que ce prg soit tué une
fois le capteur débranché.
Je me suis inspiré de http://www.wlug.org.nz/HotPlugNotes pour mettre
tout ça en place.
J'ai oublié de préciser que je suis sous Slack-current avec un

kernel-2.6.11.7, hotplug-2004_09_23-noarch-2 et udev-054-i486-3.

A+

--
Nicolas BERNE - mailto:

HTML lesson #42: The only legitimate use of the greatly loathed <BLINK> tag.
Schroedinger's Cat is <BLINK>NOT</BLINK> dead.

Avatar
Christophe PEREZ
Le Thu, 14 Apr 2005 18:23:14 +0400, Nicolas BERNE a écrit:

Des pistes pour que ce maudit irda-usb soir executé lorsque je debranche
le capteur...


Je ne voudrais pas dire de bêtise, mais juste une piste de recherche si
ça t'intéresse, pour ce que j'ai retenu de l'époque où je me suis
attaché à ce genre de sujet pour faire un automount de mes clefs usb.

Il y a la possibilité, si je me souviens bien, de récupérer une
variable $REMOVER qui contient le nom d'un script qui sera exécuté au
moment ou hotplug constatera que le périphérique a été déconnecté.

Du coup, à la connexion, tu écris ce que tu veux comme commandes
de script bash dans $REMOVER genre :
cat > $REMOVER << EOF
kill $PID
rm $FICHIER
EOF
Commen ça, ton remover est si l'on peut dire 'dynamique' puisqu'il est
créé à la volée avec en fonction du contexte.

Et c'est lui qui se chargera des actions à la déconnexion.

Je ne sais pas si je me suis bien fait comprendre.
Si ce n'est pas le cas, je pourrai faire des recherches pour voir comment
je faisais si ça t'intéresse.

Bon courage.

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
Nicolas BERNE
Thus Spoke Christophe PEREZ :
Le Thu, 14 Apr 2005 18:23:14 +0400, Nicolas BERNE a écrit:

Des pistes pour que ce maudit irda-usb soir executé lorsque je debranche
le capteur...


Je ne voudrais pas dire de bêtise, mais juste une piste de recherche si
ça t'intéresse, pour ce que j'ai retenu de l'époque où je me suis
attaché à ce genre de sujet pour faire un automount de mes clefs usb.

Il y a la possibilité, si je me souviens bien, de récupérer une
variable $REMOVER qui contient le nom d'un script qui sera exécuté au
moment ou hotplug constatera que le périphérique a été déconnecté.

Du coup, à la connexion, tu écris ce que tu veux comme commandes
de script bash dans $REMOVER genre :
cat > $REMOVER << EOF
kill $PID
rm $FICHIER
EOF
Commen ça, ton remover est si l'on peut dire 'dynamique' puisqu'il est
créé à la volée avec en fonction du contexte.

Et c'est lui qui se chargera des actions à la déconnexion.

Je ne sais pas si je me suis bien fait comprendre.
Si ce n'est pas le cas, je pourrai faire des recherches pour voir comment
je faisais si ça t'intéresse.
OK.

C'est bien les infos qui me manquaient.

Quelques précisions :
Il ne faut pas oublier au préalable de créer le rep /var/run/usb/ s'il
n'existe pas.
De plus, il faut rendre $REMOVER executable et mettre un she-bang (*) au
début (#! /bin/sh en ce qui me concerne).

Bon courage.
Merci.


A+

(*) Au fait, qui pourrait me donner l'origine de cette expression.

--
Nicolas BERNE - mailto:

HTML lesson #42: The only legitimate use of the greatly loathed <BLINK> tag.
Schroedinger's Cat is <BLINK>NOT</BLINK> dead.


Avatar
Thierry Boudet
On 2005-04-16, Nicolas BERNE wrote:

(*) Au fait, qui pourrait me donner l'origine de cette expression.

On va aller boire une mousse, ça risque d'entrainer un blabla

sans fin. http://www.a-poil.com/kerwiki/index.php/shebang

--
_/°< coin

Avatar
Christophe PEREZ
Le Sat, 16 Apr 2005 12:17:52 +0400, Nicolas BERNE a écrit:

OK.
C'est bien les infos qui me manquaient.


Parfait donc.

Quelques précisions :
Il ne faut pas oublier au préalable de créer le rep /var/run/usb/ s'il
n'existe pas.


La question ne s'était pas posée pour moi, il devait exister ;-)

De plus, il faut rendre $REMOVER executable et mettre un she-bang (*) au
début (#! /bin/sh en ce qui me concerne).


Bien entendu !
Cela était implicite pour moi puisque je parlais de script.

Merci.


Tu t'en es donc sorti ?

--
Christophe PEREZ
Écrivez moi sans _faute !