Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Une liason série qui ne fonctionne que dans un sens
Envoyé par: laurentjouannic

Bonjour,

j'ai relié deux PC(debian) via l'interface série,
malheureusement le fonctionnement semble un peu aléatoire.
Et quand cela fonctionne c'est toujours dans le même sens du PC2 vers le PC1.

PC1:~#cat /dev/ttyS0

PC2:~#echo "youhhhou" > /dev/ttyS1

->OK

PC2:~#cat /dev/ttyS0

PC1:~#echo "youhhhou" > /dev/ttyS1

->pas OK

qq a-t-il une idée?

Merci.

Laurent.

Poste le Thursday 6 January 2005 00:15:23
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: marc ferraton

le cable !!!

Poste le Thursday 6 January 2005 00:28:17
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: laurentjouannic

Bonjour et merci de votre réponse.

Je pense que si c'était le cable, en le retournant on serait dans la situation inverse: pc1 ver pc2 ok et pc2 vers pc1 pas ok:

Or, j'ai beau retourné le cable la seule partie fonctionnelle est de pc2 vers pc1.

(j'ai fait une erreur dans le mail précédant, c'est :
PC1:~#cat /dev/ttyS0

PC2:~#echo "youhhhou" > /dev/ttyS1

->OK

PC2:~#cat /dev/ttyS1

PC1:~#echo "youhhhou" > /dev/ttyS0

->pas OK
)



un stty -F sur les deux machines est symétrique et donne:
(maintenant j'utilise ttysS1 sur les deux machines)
PC2:~#stty -F /dev/ttyS1
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke


et setserial me donne:
PC1:~# setserial -g /dev/ttyS*
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
Cannot get serial info: Inappropriate ioctl for device
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

PC2:~# setserial -g /dev/ttyS*
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
Cannot get serial info: Inappropriate ioctl for device
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

Ce qui semble cohérent concernant /dev/ttyS1

-------------------


PC1:~# stty -F /dev/ttyS0
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
PC1:~# stty -F /dev/ttyS1
speed 9600 baud; line = 0;
-brkint ixoff -imaxbel
-iexten



PC2:~#stty -F /dev/ttyS0
speed 9600 baud; line = 0;
-brkint ixoff -imaxbel
-iexten
PC2:~# stty -F /dev/ttyS1
speed 9600 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke



Tout me parait aléatoire maintenance, en jouant avec ttyS0 et ttyS1 sur chaque machine,

Des fois cela mache dans un sens, des fois cela marche dans l'autre. Des fois cela va très vite.


Quelqu'un aurrait-il une idée?
Merci.

Laurent









Poste le Thursday 6 January 2005 13:18:41
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: marc ferraton

comment est ton cable complet ou simple ?
A - B
rd <-> td
td <-> rd
cts<->rts
rts<->cts
dtr<->dsr
dtr<->cd
dsr<->dtr
cd <->dtr
gnd<->gnd

valider tes comm avec
# stty -F /dev/ttyS0 raw

puis faire les tests suivants

ne pas brancher le cable
faire
# cat /etc/inittab >/dev/ttyS0

ce process ne doit pas se terminer tant que tu n'as pas lancé sur l'autre machine
# tail -f /dev/ttyS0

et inversement ....

à suivre.....suivant les résultats

Poste le Thursday 6 January 2005 22:14:31
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: laurentjouannic

Bonjour, merci pour ton aide et désolé pour le retard de ma réponse.

J'ai acheté un cable null modem, je pense qu'il est complet, y a-t-il une façon de vérifier?

avec la cmd:
stty -F /dev/ttyS0 raw


Cet après-midi
Cela était immédiat sur un PC, sur l'autre la commande restait bloquée, je pense que le port était occupé.

De facon identique, l'envoie fonctionnait dans un sens mais pas dans l'autre.

Ce soir, j'ai débranché des deux cotés le cable et ai réussit à enclancher la commande:
stty -F /dev/ttyS0 raw

l'envoie de fichier et un echo fonctionne, mais:
-avec un cat et non pas avec le tail, je sais pas pourquoi. c'est bizarre.
-la commande n'attend pas la fin pour finir de s'éxécuter.
-le cat affiche un défilement très élevé, je vois avant et après le fichier un login en boucle très rapidement.

as-tu des éléments de réponse?

Merci.

Laurent.





Poste le Wednesday 12 January 2005 19:20:55
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: marc ferraton

tu as un ohmmetre ?
le cable nul modem est en principe un cable incomplet ... :-(

donc
details du cable complet avec connecteurs sub-d 9pts à faire
1 - DCD --*******-- DCD - 1
2 - RXD ----------- TXD - 3
3 - TXD ----------- RXD - 2
4 - DTR ----------- DSR - 6
5 - GND ----------- GND - 5
6 - DSR ----------- DTR - 4
7 - RTS ----------- CTS - 6
8 - CTS ----------- RTS - 7
9 - RI ------------- RI - 9

pour faire ce que je t'ai décrit il faut couper la liaison DCD -- DCD ( les asterisques et relier DCD --- DSR sur chacun des connecteurs

maintenant si il s'affiche des logins c'est qu'il tourne des process sur les ports
fais pour voir un
# ps ax | grep -v getty




Poste le Thursday 13 January 2005 00:11:50
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: laurentjouannic

Je sais plus ce que j'ai fais de mon ohmmetre, je vais en racheter un; ca sert toujours.

ps: je travaille avec /dev/ttyS1 sur les deux PC
Concernant la commande:

pc1:/# ps ax | grep getty
591 tty2 S 0:00 /sbin/getty 38400 tty2
592 tty3 S 0:00 /sbin/getty 38400 tty3
593 tty4 S 0:00 /sbin/getty 38400 tty4
594 tty5 S 0:00 /sbin/getty 38400 tty5
595 tty6 S 0:00 /sbin/getty 38400 tty6
596 ttyS0 S 0:00 /sbin/getty -L ttyS0 9600 vt100
597 ttyS1 S 0:00 /sbin/getty -L ttyS1 9600 vt100
612 tty1 S 0:00 /sbin/getty 38400 tty1
donc ca a l'air OK

et sur l'autre:
pc2:/#ps ax | grep -v getty | grep tty
331 ttyS1 SW 0:00 [login]

mais j'ai l'impression que c'est aléatoire (hier soir, les deux ttyS1 étaient pris par login).

As-tu une idée?

Merci.

Laurent.




Poste le Thursday 13 January 2005 10:32:07
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: marc ferraton

eh bien non ce n'est pas bon, tu veux transferer des fichiers ( ou autres) sur des lignes séries occupées par le process login, donc quand tu envoies une information sur cette ttyS , c'est le process login ou aléatoirement ton cat qui pioche dans les données, le basard quoi,

aussi tu va éditer ton fichier /etc/inittab et tu vas commenter les lignes de lancement de getty sur ttyS0 et ttyS1 en mettant un diese devant,

tu dois avoir des lignes comme ci-dessous
# Local serial lines:
s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100
s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100

rajoutes le # devant et redémarres ta machine ensuite tu pourras recommencer tes tests

L'homme qui parlait à l'oreille des PC @#%!

Poste le Thursday 13 January 2005 11:07:15
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: laurentjouannic


Merci à toi Marc, tout marche correctement et j'en suis bien content!!!

J'ai modifier les deux lignes dans inittab puis ai fais un:
init q
pour prendre en compte la nouvelle conf de inittab

qui évite d'avoir à rebouter le pc (surtout qd il est en prod).

juste une dernière question, est-il nécessaire d'envoyer à chaque fois la commande
stty -F /dev/ttyS0 raw
Est-il nécessaire de l'envoyer à chaque démarrage?


Merci pour tout.

Laurent.

Poste le Thursday 13 January 2005 11:26:41
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: marc ferraton

Le stty raw reste effectif tant que tu :
- ne le modifie pas avec un autre stty
- tant que tu ne redémarres pas ta machine
( il y a possibilité de parametrer le mode par défaut du démarrage mais je ne me rappelle plus comment...)

donc il te suffit de le faire au démarage ( rc.local par exemple)

Poste le Thursday 13 January 2005 12:37:18
Répondre     Citer    
Re: Une liason série qui ne fonctionne que dans un sens
Envoyé par: laurentjouannic

Ok merci pour tout marc.

Poste le Thursday 13 January 2005 13:08:41
Répondre     Citer    
Re: [soldée] Une liason série qui ne fonctionne que dans un sens
Envoyé par: marc ferraton

je me permets de clore,

Poste le Thursday 13 January 2005 14:20:50
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Une liason série qui ne fonctionne que dans un sens
Vous voulez savoir si votre matériel est supporté par Linux, ou vous avez un problème pour installer un module ? Ce forum est pour vous !

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons