Re: port usb

Top Page

Reply to this message
Author: Olivier_Allard-Jacquin
Date:  
To: guilde
CC: Patrice Karatchentzeff
Subject: Re: port usb

     Hello,


     pour cette histoire de téléchargement de module, je confirme ce
que j'ai écrit hier: Si l'on rajoute un module au fichier /etc/modules,
celui-ci sera téléchargé automatiquement au boot, MAIS, il ne pourra
pas être déchargé automatiquement par le kernel. Pour être plus précis,
il ne sera pas marqué "(autoclean)" ....


     C'est du moins ce qui se passe pour une distribution Mandrake
(j'utilise la 8.1) ...



     D'après le man de modprobe (le "chargeur de module" qui gère les
dépendences des modules, contrairement à insmod), si on utilises le
paramètre "-k" pour charger un module, celui-ci sera marqué comme pouvant
être retiré de la mémoire si il n'est pas utilisé:



- Exemple en installant le module "sg" (module générique SCSI):
# modprobe -k sg
# lsmod | grep sg
sg                     30016   0  (autoclean) (unused)


=> Le module sera automatiquement déchargé si il n'est plus utilisé

- Et sans "-k":
# modprobe sg
# lsmod | grep sg
sg                     30016   0  (unused)


=> Le module NE pourra être déchargé QUE manuellement, via "rmmod sg"




     Or, dans une Mandrake, le script qui lance les modules du
/etc/modules (/etc/....) contient ceci:


#!/bin/sh
# (c) MandrakeSoft, Chmouel Boudjnah <chmouel@???>
# $Id: rc.modules,v 1.1.1.1 2000/07/30 05:07:38 chmouel Exp $
# description: launch modules specified in /etc/modules inspired by a
# Debian idea.

[ -f /etc/modules ] || exit 0

# Loop over every line in /etc/modules.
(cat /etc/modules; echo) | while read module args
do
  case "$module" in
      \#*|"") continue ;;
  esac
  initlog -s "Loading module: $module"
  modprobe $module $args >/dev/null 2>&1
done


=> On voit que pour chaque ligne de /etc/modules, modprobe est executé
avec le nom du module, mais sans paramètre "-k", donc les modules NE
sont PAS déchargeable automatiquement ... CQFD


     Ce comportement est peut-être une spécificité de Mandrake
(à vérifier sur les autres distributions...), mais ce que j'ai dit hier
n'était donc pas faux ! :=)



                              Olivier




> >      il faut que tu rajoutes "usb-storage" à ton fichier /etc/modules

> >
> >      Ainsi, le module "usb-storage" sera chargé automatiquement lors
> > du boot, et ne sera pas déchargé de la mémoire si il n'est pas utilisé
> > ...


> Si. Il est ejecté au bout d'un certain temps d'inactivité. Mais il
> sera rechargé automatiquement en cas de necessité...
>
> Trop puissant le noyau Linux ;-)