[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: udev et modules...



Frédéric BOITEUX, lundi 14 mai 2007, 13:31:04 CEST
> 
> Le ven 11 mai 2007 23:27:07 CEST, fred <fredantispam@free.fr> a écrit :
> 
> > 
> > Bonsoir,
> 
> 	Salut,

’soir,

> > 
> > udev étant chargé de créer les devices à la volée (et de charger les
> > modules adéquats, j'imagine) lorsque l'on branche un device donné, je me
> > demande comment faire l'inverse, à savoir décharger les sus-dits modules lorsque
> > l'on débranche le sus-dit device.
> Mauvaise supposition, udev ne [dé]charge pas de modules (lorsqu'on
> voudrait accéder à un device), voir :
> http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ

  Je pense que Fred imaginait que udev, en plus de créer les dev,
chargeait les modules au branchement d’un périphérique.  Ce n’est
pas le cas :  c’est le noyau qui le fait à partir de la table des
identifiants exportée par chaque module (ces tables se retrouvent
dans les fichiers modules.*map).
  Donc, on branche le bidule, le noyau le voit, charge le module,
envoie un événement « hotplug » à udev, qui crée le /dev/machin.

  Pour rmmoder le module au débranchement du bidule, il suffirait
d’intercepter l’hypothétique événement hotplug  de  débranchement
et d’y réagir en faisant un rmmod du module. Il reste à voir udev
pour vérifier l’existence d’un tel événement  et savoir comment y
réagir.

  Sinon,  avec un noyau 2.4,  il y a le drapeau « autoclean » qui
indique au noyau que le module peut être déchargé automatiquement
après un certain temps d’inactivité (env. 1 min), et aussi par la
commande rmmod --all.  Mais bon, si ça a été retiré du 2.6...
(Et il semblerait même qu’il y ai des raisons de ne pas permettre
de décharger des modules du tout.)

  Au fait, pourquoi veux-tu décharger des modules ?

-- 
 Sylvain Sauvage



Reply to: