Forum Linux.noyau conflits de drivers

Posté par (page perso) . Licence CC by-sa.
Tags : aucun
0
8
jan.
2015

Bonjour,

j'ai actuellement deux drivers pour deux matériels différents qui semblent être en conflit.
En gros j'ai depuis longtemps un driver A qui crée ttyUSB0 et ttyUSB1.
Depuis peu pour l'arrivée du second matériel j'ai le driver B qui crée ttyUSB0 et ttyUSB1 et donc driver A qui crée désormais ttyUSB2 et ttyUSB3.
Mon problème est que dans cette configuration ttyUSB2 ne fonctionne plus, plus aucun signal n'est présent en sortie sur le port. Et ce alors que les 3 autres ports continuent de fonctionner correctement et que si je n'active que le driver A (ttyUSB2 se retrouve alors en ttyUSB0) il fonctionne également correctement.

Ça parle à quelqu'un ? Vous auriez des pistes à me proposer ?

  • # faut forcer...

    Posté par . Évalué à 2.

    essaye de voir si tu ne peux pas jouer avec les regles udev pour forcer les noms ou l'usage du driver en fonction du peripherique.

    tu pourrais alors conserver ttyUSB0/1 pour le driverA et ttyUSB2/3 pour le driverB

  • # Re:

    Posté par . Évalué à 2.

    C'est quels modules ? La famille des convertisseurs USB/Série est très grande.

    Regarde avec modinfo si y'a pas des paramètres qu'on peut modifier.

  • # Re

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

    J'ai déjà pas mal joué avec les règles udev, sans succès. J'arrive à créer des raccourcis avec de nouveaux noms mais pas à changer/forcer les noms existants.
    Concernant modinfo, l'outil n'est pas présent sur mon système embarqué je vais tâcher de l'installer.
    Les modules c'est "option" pour un modem GPRS et "vizzini" pour un convertisseur USB/Série

    • [^] # Re: Re

      Posté par . Évalué à 2.

      Concernant modinfo, l'outil n'est pas présent sur mon système embarqué je vais tâcher de l'installer.

      Pas la peine, aucun de ces deux drivers ne présente d'options.

  • # à tout hazard...

    Posté par . Évalué à 2.

    le driver B ne prendrait pas 3 ports ttyUSB0/1/2, du coup ton driver A qui gere 2 ports ne peut occuper que ttyUSB3/4
    seulement le developpeur du driver A n'a pas prevu ce cas, et ne gere que de 0 à 3 ?

    • [^] # Re: à tout hazard...

      Posté par (page perso) . Évalué à 1. Dernière modification le 12/01/15 à 10:55.

      Mes drivers génèrent effectivement plus de périphériques, j'ai réduit le nombre pour simplifier la chose.
      Le problème c'est que ce n'est pas le dernier numéro qui ne fonctionne pas mais l'avant dernier.
      J'ai bien indiqué que c'est ttyUSB2 qui ne marche pas alors que ttyUSB3 fonctionne parfaitement (en réalité dans mon cas c'est ttyUSB5/6 qui ne fonctionnent pas alors que ttyUSB7/8 n'ont aucun soucis, pourtant ils sont tous les quatre gérés par le même driver)

      • [^] # Re: à tout hazard...

        Posté par . Évalué à 2. Dernière modification le 12/01/15 à 20:37.

        le sens de ma question c'etait n'y-a-t-il pas overlap entre les drivers.

        genre le premier dit, dans son code source, pouvoir gerer de ttyUSB0 à ttyUSB5
        le 2e dit pouvoir gerer jusqu'a 8 device (ttyUSB0 à ttyUSB7)

        mais du coup quand le 2e se lance, il ne peut activer "que" ttyUSB6 et ttyUSB7
        car les USB0 à USB5 sont prereservés par le premier pilote.
        te donnant l'impression que le 2e pilote est defectueux.

        • [^] # Re: à tout hazard...

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

          Peut-être effectivement, mais je n'ai rien vu de tel dans les sources des drivers (je manque cependant d'expérience à ce niveau)

          Du coup j'ai finalement réussi à contourner mon problème, en changeant la configuration interne du modem, il n'utilise plus le driver B mais un troisième driver (cdc-acm) qui crée des devices en ttyACM et du coup je n'ai plus de soucis.

          Merci quand même pour votre aide.

Suivre le flux des commentaires

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