Ports Séries - Trame unidirectionnel

Résolu
strangeuser Messages postés 29 Statut Membre -  
 strangeuser -
Bonjour,

Je dois faire fonctionner des ports COM d'une carte additionnel sur un poste. Le poste en question est un Lenovo T570s, la carte additionnel est une Lindy RS-232 16C650 :


Le système est un Ubuntu 18.04 (version LTS).

Le problème est le suivant :

- les ports séries initiales du poste communiquent bien
- les ports séries initiales communiquent bien avec les ports de la carte additionnel
- les ports de la carte additionnel ne communiquent pas avec les ports séries initiales.

Liste des ports initiales :

- /dev/ttyS0
- /dev/ttyS1

Liste des ports additionnels :

- /dev/ttyS4
- /dev/ttyS5

Voici mes tests :

Terminal 1 -
echo "Test" > /dev/ttyS0

Envoie d'une trame depuis un port initiale du poste vers la carte additionnel
Terminal 2 -
cat /dev/ttyS4
Test
Je reçois bien la trame envoyé

Terminal 1 -
echo "Test" > /dev/ttyS4

Envoie d'une trame depuis la carte additionnel vers un port initiale du poste
Terminal 2 -
cat /dev/ttyS0

pas de réponses...

Pour des besoins applicatifs la communication doit ce faire dans les 2 sens (bidirectionnel)
J'ai besoin d'aides svp...

(diag en commentaire)

4 réponses

  1. strangeuser Messages postés 29 Statut Membre 1
     
    Voici les conf complète des ports :

    root@hostname:/dev# stty -F ttyS0 -g && stty -F ttyS1 -g && stty -F ttyS4 -g && stty -F ttyS5 -g
    
    500:5:cbd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
    500:5:cbd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
    500:5:cbd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
    500:5:cbd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
    
    root@hostname:/dev# stty -F ttyS0 -a && stty -F ttyS1 -a && stty -F ttyS4 -a && stty -F ttyS5 -a
    
    ttyS0
    speed 9600 baud; rows 0; columns 0; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
    discard = ^O; min = 1; time = 0;
    -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
    opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
    
    ttyS1
    speed 9600 baud; rows 0; columns 0; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
    discard = ^O; min = 1; time = 0;
    -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
    opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
    
    ttyS4
    speed 9600 baud; rows 0; columns 0; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
    discard = ^O; min = 1; time = 0;
    -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
    opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
    
    ttyS5
    speed 9600 baud; rows 0; columns 0; line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
    discard = ^O; min = 1; time = 0;
    -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
    opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc


    INFO Importante :

    Avec minicom les ports fonctionnent correctement. Malheureusement je doit le faire faire fonctionner avec stty (pour un application type ERP qui utilise stty).

    A priori, le problème ne viens pas de driver car ils sont bien présents. Lorsque j'utilise Minicom, la conf des ports change. Cette conf ne fonctionne pas avec stty... donc ce n'est pas la solution.
    0
  2. strangeuser Messages postés 29 Statut Membre 1
     
    Up!

    Please j'ai besoin d'aide. Il s'agit d'un problème bloquant et urgent pour ma boîte, et je n'ai toujours pas de solution...
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    Malheureusement je doit le faire faire fonctionner avec stty (pour un application type ERP qui utilise stty).

    c'est à dire?
    stty ne fait que modifier les paramètres du port, comment sont transférées les données ?
    0
    1. strangeuser
       
      un check périodique via l'ERP est fait via stty, sans sa les données sont transférés de manière classique via les ports COM pour des balances ou des étiqueteuses
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      qu'est ce qu'un ERP ?
      stty affiche ou modifie des paramètres, je ne vois pas ce qu'il peut checker
      0
    3. strangeuser
       
      Oublie le terme ERP, c'est juste pour dire que je suis obligé de passr par stty pour que cela fonctionne.
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      montre ce que ru fais, on ne peut pas deviner
      0
  4. strangeuser
     
    Problème résolue. J'ai eu à ma disposition des machines pour effectuer mes tests et il s'avère que les ports COM fonctionnent bien malgré leurs non communication via "echo" "cat".
    J'y comprend que dal mais temps que ça fonctionne moi ça me va.

    Merci tes réponses
    0