Journal périphériques USB dynamiques sous Debian

Posté par  (site web personnel) .
Étiquettes :
0
29
jan.
2004
Sur mandrake et knoppix ça existe par défaut :
l'icône apparaît quand on branche la clef USB ou l'appareil photo,
mais bien souvent cette icône ne disparaît pas lorsqu'on débranche.
Et le nom de l'icône n'est jamais très évocateur, car basé sur le device à la linux. (/dev/...)

Comme je n'ai jamais trouvé de solution qui me convenait, j'ai écrit un petit script pour Debian (qui marche sûrement chez d'autres, mais je n'ai pas testé), qui s'occupe de créer automatiquement un point de montage et d'ajouter l'entrée correspondante dans le fstab.

Donc par exemple sous gnome, vous branchez votre i-stick, un point de montage /mnt/IntelligentStick est créé automatiquement, et "IntelligentStick" apparait à côté de cdrom et floppy dans le menu de montage de Gnome.
Après démontage, le dossier dans /mnt est enlevé, et le fstab est recorrigé.

Les conditions :
- le script doit s'appeler updfstab (car hotplug l'appelle s'il existe)
- il doit évidemment être executable
- il suffit de le poser dans /usr/sbin
- aucune autre modif à faire, si ce n'est de prendre garde à ça :

- avoir hotplug installé (et peut-etre aussi devfs, je ne sais pas, moi je l'ai)
- il faut avoir "fam" installé (qui empêche souvent le démontage, voir (*))
- mettre "vfat" dans /etc/modules, parce que le chargement automatique échoue parfois.


Voilà le script en question : http://ccomb.free.fr/updfstab(...)
---------------------------------
Si vous le testez, j'aimerais avoir vos retours ici-même.


(*) À propos de fam, voir ça :
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=225636(...)
Pour contourner temporairement le pb, on peut compiler la derniere version 2.7 de fam (ca se fait en 30 sec), et simplement remplacer le binaire "famd" par le nouveau. Ca permet de pouvoir démonter les periphs, meme si famd est alors en mode polling. Il faudra attendre le paquet fam-2.7 de bian avec le patch dnotify pour le noyau.
  • # Re: périphériques USB dynamiques sous Debian

    Posté par  . Évalué à 1.

    Je ne connais pas bien Debian mais Hotplug n'est il pas sensé faire ça (comme chez mdk)?
    http://packages.debian.org/stable/admin/hotplug(...)
  • # Re: périphériques USB dynamiques sous Debian

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    On voit les gens qui suivent la mailing list User Linux ;)

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: périphériques USB dynamiques sous Debian

    Posté par  (site web personnel) . Évalué à 1.

    Tiens, j'avais un peu le même genre d'idée.

    http://linuxfr.org/~PYR/7222.html(...)

    Je ne me suis pas replongé dedans (je ne suis pas trop collé au pc) mais un jour peut-être un journal je ferais.
  • # Re: périphériques USB dynamiques sous Debian

    Posté par  . Évalué à 1.

    une petite question tout de même. Ton script a l'air pas mal, et visiblement devrait faire ce que je cherche depuis quelques temps.
    cependant, je suis sous debian, comme toi, et je n'ai pas de /dev/scsi/hostX donc, forcément, ton script se vautre.

    une petite idée sur le pourquoi du comment? je pencherait vers le modprobe au départ (modprobe /dev/scsi => c'est quoi ce module?)

    en tout cas, merci pour ce boulot
    • [^] # Re: périphériques USB dynamiques sous Debian

      Posté par  (site web personnel) . Évalué à 1.

      Pour avoir /dev/scsi/..., tu dois fonctionner avec devfs :
      tu installes le paquet devfsd, et tu ajoutes "devfs=mount" dans ton lilo.conf,
      à la ligne "append"

      Le modprobe /dev/scsi sert à s'assurer que chépukelmodule est chargé. (me souviens plus...)
      • [^] # Re: périphériques USB dynamiques sous Debian

        Posté par  . Évalué à 1.

        j'ai réussi à passer en devfs (en fait, j'en ai profité pour passer en noyau 2.6.2) mais ton script, il me semble pose un problème global :
        il est effectivement appelé par hotplug s'il existe, mais du coup, il prend l'ascendant sur les autres traitements par hotplug. En l'occurrence, si ton script est actif, hotplug n'initialise plus mon modem usb (FAST 800).

        je peux me tromper sur les causes, mais c'est ce que j'ai constaté.
        • [^] # Re: périphériques USB dynamiques sous Debian

          Posté par  (site web personnel) . Évalué à 1.

          C'est étonnant, parce que ce script est lancé par une ligne du type :

          [ -x /usr/sbin/updfstab ] && /usr/sbin/updfstab

          Il y a en a une dans /etc/hotplug/hotplug.functions, et une dans /etc/hotplug/usb.agent
          Je ne vois pas en quoi ca peut changer quelque chose. En tout cas ça mérite investigation, mais je n'ai pas de fast800 donc je ne peux pas tester. Si toi tu peux, fais le.
          • [^] # Re: périphériques USB dynamiques sous Debian

            Posté par  . Évalué à 1.

            salut, c'est re moi!

            bon ben maintenant ça marche bien ton script, mais je l'ai un peu modifié :
            - si le nom du vendeur est vide, ben forcément ça crée pas le point de montage (en l'occurence, pour moi, j'ai mis un nom de périph générique, genre usbStorage)
            - sur mon système, les changements dans le fstab n'étaient pas pris en compte automatiquement, j'ai donc rajouté un mount -a pour appliquer les modif au fstab
            - j'ai changé la ligne de montage du périph pour le faire avec supermount (pas essentiel, puisqu'on peut utiliser un mount ${mountpoint} après le mount -a, mais bon.

            quelques points de réflexion :
            - tu montes pas les périph en mode sync, ça peut être risqué (écriture des info lors du umount et clé déjà débranchée => pb)
            - un nom générique + numéro de périph pour les cas où le nom de vendeur est vide et qu'il existe plusieures partitions/périph du même vendeur (genre un lecteur de carte 6 en 1)

            voilà, en tous cas, merci beaucoup, ton script m'a bien aidé. autorisation de le diffuser??
            • [^] # Re: périphériques USB dynamiques sous Debian

              Posté par  . Évalué à 1.

              re re moi (si je t'embête, tu le dis et je vais joue ailleurs!! )

              bon, après tests poussés, je n'arrivais pas à faire marcher ton script (ou ma version modifiée) avec plusieurs périph usb-storage en même temps ou les uns à la suite des autres.

              après moult modifications du script, j'ai réussi à faire marcher la chose (il me reste un dernier truc à trouver pour que la manip soit générique et c'est bon), et donc je suis content.

              ma question est : avais-tu testé ton script avec plusieurs usb-storage différents (en simultanée ou non)?

              en tous cas, merci. d'avoir trouvé ton script m'a permi de me motiver à mettre en place cette autodétection et de me filer une grosse partie du boulot!!

              bonne continuation
  • # Re: périphériques USB dynamiques sous Debian

    Posté par  . Évalué à 1.

    Bonjour,
    Je suis sous Mandrake et lorsque je plugge un périphérique usb-storage, une entrée "removable" est bien créée dans fstab, mais je suis obligé d'entrer la commande "mount removable" à la main... y a-t-il un moyen sous Mandrake pour forcer le mount automatique ?
    (un peu off-topic, mais bon...)
    Merci !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.