Forum Linux.slackware usb + hotplug => plantage

Posté par  .
Étiquettes :
0
18
août
2004
bonjour,
je suis sous slackware 10.0, avec le noyau bare.i et tout en standard quoi
mon problème est que lorsque j'insère une clef usb (j'ai pour l'instant essayé avec 2 différentes), le système se freeze complètement.
je pense que ça vient du script /etc/rc.d/rc.hotplug, puisque si je fais "/etc/rc.d/rc.hotplug stop", le branchage de la clef ne crée plus de problème, de plus si je relance le module "modprobe usb-ohci", je peux la monter et y accéder!
alors mes questions sont les suivantes:
quelqu'un a-t-il déjà eu le même problème?
comment je peux résoudre ça? (au pire je désactive le hotplug mais je préférerais juste une modification du rc.hotplug ou usb.agent)
merci d'avance
  • # My 2 cents

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

    À priori, hotplug se limite à lire ce qui passe sur /sys/bus/usbXXX sur demande et à déclencer des actions selon ce qui est défini dans /etc/hotplug/usb.*map ...
    De plus, ce n'est pas vraiment avec usb-ohci que tu peux accèder à la clé pour la monter mais avec usb-storage et sd_mod ...
    Vérifie que sysfs est bien monté (/sys) à tout hasard ...
    • [^] # Re: My 2 cents

      Posté par  . Évalué à 1.

      hotplug gère aussi les modules pour l'usb non?
      les modules pour l'usb sont désinsérés par un appel à /etc/rc.d/rc.hotplug stop et réinsérés avec start. (effectivement, ils sont insérés dans /etc/hotplug/usb.agent, appelé par usb.rc, appelé par rc.hotplug).
      donc je ne comprends pas pourquoi, si les même modules sont insérés (avec modprobe usb-storage je fais à peu près la même chose que le script non?) ça plante dans le cas avec hotplug.
      J'ai également essayé avec un pas usb-storage (c-à-d une souris usb), et j'ai le même résultat
      pour le sysfs le répertoire /sys existe mais rien dedans et mount ne le mentionne pas (->pas monté)
      merci
      • [^] # Re: My 2 cents

        Posté par  . Évalué à 1.

        Rajoute ça a ton fstab pour monter sysfs :
        /sys sysfs defaults 0 0
        Ca peut regler le problème.
  • # rectificatif

    Posté par  . Évalué à 1.

    rebonjour,
    finalement il semblerait que le hotplug et le modprobe usb-storage ne soient pas identiques
    j'ai fait les commandes suivantes:
    lsmod >res1.txt
    /etc/rc.d/rc.hotplug stop
    lsmod >res2.txt
    modprobe usb-storage
    lsmod >res3.txt

    diff res1.txt res2.txt donne:
    2,4d1
    < usb-ohci 19240 0 (unused)
    < ehci-hcd 17580 0 (unused)
    < usbcore 59308 1 [usb-ohci ehci-hcd]

    alors que diff res2.txt res3.txt donne:
    1a2,3
    > usb-storage 66176 0 (unused)
    > usbcore 59308 0 [usb-storage]

    d'où ma conclusion: c'est ou usb-ohci ou ehci-hcd qui plante
    comme je l'ai dit dans mon premier post, modprobe usb-ohci + branchement de la clef ne provoque pas de plantage, donc c'est surement l'ehci-hcd
    j'ai fait quelques tests, et sur les deux controlleurs usb que j'ai (1.0 et 2.0 ou 1.1 et 2.0 je sais plus trop), ça marche avec ohci
    donc je voudrais virer l'ehci. malheureusement je n'y arrive pas.
    /etc/hotplug/usb.rc contient ça:
    ...
    modprobe -q usbcore >/dev/null 2>&1
    ...
    # "new style" HCDs ... more common code
    #modprobe -q ehci-hcd >/dev/null 2>&1
    #modprobe -q ohci-hcd >/dev/null 2>&1
    #modprobe -q uhci-hcd >/dev/null 2>&1

    # "old style" HCDs ... more driver-specific bugs
    modprobe -q usb-ohci >/dev/null 2>&1
    # NOTE: this prefers "uhci"; you may prefer "usb-uhci".
    # modprobe -q usb-uhci >/dev/null 2>&1 || modprobe -q uhci >/dev/null 2>&1
    #modprobe -q uhci >/dev/null 2>&1 || modprobe -q usb-uhci >/dev/null 2>&1
    ...

    c'est moi qui ai rajouté les commentaires devant certains modprobe:
    dans la partie new style, j'ai commenté l'ehci parce que je ne le veux pas, et les deux autres parce qu'ils n'existent pas (j'ai testé avec modprobe).
    j'ai aussi enlevé l'uhci.
    je fais stop-start du hotplug, mais l'ehci-hcd revient!
    un pti coup d'oeil dans les dépendances des modules montre que rien ne dépend de l'ehci-hcd, donc s'il est lancé, 'est directement, et je ne vois cet apel nul part!
    merci à quiconque pourrait m'aider
    • [^] # Re: rectificatif

      Posté par  . Évalué à 1.

      pour le sysfs, mount est pas d'accord:
      mount: fs type sysfs not supported by kernel
      merci quand même
      • [^] # Re: rectificatif

        Posté par  . Évalué à 1.

        victoire!
        j'ai découvert l'usage /etc/hotplug/blacklist ;)
        j'ai rajouté ehci-hcd et hop! tout marche
        merci à vous deux
      • [^] # Re: rectificatif

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

        Tu devrais quand même rajouter le support pour sysfs dans ton kernel 2.6.

Suivre le flux des commentaires

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