Forum Linux.noyau Petit bug dans le noyau?

Posté par (page perso) .
0
4
oct.
2012

J'ai un petit souci: ma souris (Logitech sans fil, avec dongle USB) ne se réveille pas après une mise en veille ou hibernation.

Je suppose que le problème vient du driver de la souris. En effet j'ai le message suivant dans les logs du noyau:

[ 1646.623755] usb 1-1.5: reset low-speed USB device number 3 using ehci_hcd
[ 1646.906567] usbhid 1-1.5:1.1: reset_resume error 1

Que faire? En bientôt dix ans d'utilisation quotidienne de linux, je me rends compte que je n'ai pratiquement jamais eu de problème avec le noyau en tant que tel!

  • # UTSL

    Posté par (page perso) . Évalué à 4.

    Sans la version ça va être compliqué mais bon. Admettons que ce soit du 3.6. Le message vient de http://lxr.linux.no/#linux+v3.6/drivers/usb/core/driver.c#L1198

    Ce qui veut dire que la méthode reset_resume du driver a retourné 1. Le driver semble être usbhid: http://lxr.linux.no/#linux+v3.6/drivers/hid/usbhid/hid-core.c#L1601

    Si on regarde la définition de hid_reset_resume un peu plus haut on voit qu'il retourne ce que hid_post_reset retourne. hid_post_reset quant à lui peut retourner 1 dans plusieurs cas, toujours après avoir appelé dbg_hid: http://lxr.linux.no/#linux+v3.6/drivers/hid/usbhid/hid-core.c#L1404

    En examinant la définition de dbg_hid http://lxr.linux.no/#linux+v3.6/include/linux/hid.h#L918 on voit que cela afficher quelque chose uniquement si hid_debug ne vaut pas 0. Cette variable étant une paramètre du module hid-core: http://lxr.linux.no/#linux+v3.6/drivers/hid/hid-core.c#L48

    L'étape suivante serait donc d'activer les messages de debug HID et de reproduire le problème.

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: UTSL

      Posté par (page perso) . Évalué à 2.

      Merci pour la réponse! Voici déjà la version de mon noyau:

      Linux panda 3.5.4-1-ARCH #1 SMP PREEMPT Sat Sep 15 08:12:04 CEST 2012 x86_64 GNU/Linux
      
      

      Effectivement, les messages de debug ont l'air utile. Est-ce que tu pourrais me dire comment les activer?

      • [^] # Re: UTSL

        Posté par (page perso) . Évalué à 3.

        Bah il faut que insmod transmette l'option hid_debug=1 au chargement du module. En pratique ça dépend de ta distro.

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

        • [^] # Re: UTSL

          Posté par (page perso) . Évalué à 2.

          Merci, je vais creuser ça. Je n'ai pas peur de mettre dans le cambouis, mais comme je ne connais rien au monde du noyau, j'ai juste besoin d'un peu d'aidre pour démarrer :)

  • # Tout pareil

    Posté par . Évalué à 3.

    Je suis tout à fait dans la même configuration, (Archlinux, 64 bit, souris Logitech sans fil), et depuis quelques semaines j'ai le même soucis (c'est donc clairement une régression… du noyau ou pas, je l'ignore). J'avais cherché rapidement sur les forums et dans mes logs, mais pour ma part je n'y avais pas trouvé de problème semblable, ni remarqué ta petite ligne "reset_resume error 1".

    En attendant d'avoir du temps pour investiguer, j'avais renoncé à l'hibernation, mais je crois que je vais investiguer, comme toi. Même si j'ai jamais touché au noyau et apparentés sous Archlinux, ça va être rigolo :D

    As-tu ouvert un ticket ou un post sur les sites Archlinux sinon ?

    • [^] # Re: Tout pareil

      Posté par (page perso) . Évalué à 2.

      Je pense poster sur les forums archlinux pour avoir plus de réponses.

      J'ai recompilé le noyau avec CONFIG_USB_DEBUG=y, mais je n'ai pas eu plus de messages dans dmesg. Je ne sais pas bien comment aller de l'avant…

Suivre le flux des commentaires

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