Puertos serie - Trama unidireccional
Resuelto
strangeuser
Mensajes publicados
29
Estado
Miembro
-
strangeuser -
strangeuser -
Hola,
Tengo que hacer funcionar puertos COM de una tarjeta adicional en una máquina. La máquina en cuestión es un Lenovo T570s, la tarjeta adicional es una Lindy RS-232 16C650: [imagen]
El sistema es Ubuntu 18.04 (versión LTS).
El problema es el siguiente:
- los puertos serie iniciales de la máquina comunican bien
- los puertos serie iniciales se comunican bien con los puertos de la tarjeta adicional
- los puertos de la tarjeta adicional no se comunican con los puertos serie iniciales.
Lista de puertos iniciales:
- /dev/ttyS0
- /dev/ttyS1
Lista de puertos adicionales:
- /dev/ttyS4
- /dev/ttyS5
Estos son mis tests:
Terminal 1 -
echo "Test" > /dev/ttyS0
Envío de una trama desde un puerto inicial de la máquina hacia la tarjeta adicional
Terminal 2 -
cat /dev/ttyS4 Test
Recibo bien la trama enviada
Terminal 1 -
echo "Test" > /dev/ttyS4
Envío de una trama desde la tarjeta adicional hacia un puerto inicial de la máquina
Terminal 2 -
cat /dev/ttyS0
no hay respuestas ...
Para fines de la aplicación la comunicación debe ser bidireccional.
Necesito ayuda, por favor...
(diag en comentario)
Tengo que hacer funcionar puertos COM de una tarjeta adicional en una máquina. La máquina en cuestión es un Lenovo T570s, la tarjeta adicional es una Lindy RS-232 16C650: [imagen]
El sistema es Ubuntu 18.04 (versión LTS).
El problema es el siguiente:
- los puertos serie iniciales de la máquina comunican bien
- los puertos serie iniciales se comunican bien con los puertos de la tarjeta adicional
- los puertos de la tarjeta adicional no se comunican con los puertos serie iniciales.
Lista de puertos iniciales:
- /dev/ttyS0
- /dev/ttyS1
Lista de puertos adicionales:
- /dev/ttyS4
- /dev/ttyS5
Estos son mis tests:
Terminal 1 -
echo "Test" > /dev/ttyS0
Envío de una trama desde un puerto inicial de la máquina hacia la tarjeta adicional
Terminal 2 -
cat /dev/ttyS4 Test
Recibo bien la trama enviada
Terminal 1 -
echo "Test" > /dev/ttyS4
Envío de una trama desde la tarjeta adicional hacia un puerto inicial de la máquina
Terminal 2 -
cat /dev/ttyS0
no hay respuestas ...
Para fines de la aplicación la comunicación debe ser bidireccional.
Necesito ayuda, por favor...
(diag en comentario)
4 respuestas
-
Aquí están las configuraciones completas de los puertos:
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 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 :
Con minicom las puertas funcionan correctamente. Desafortunadamente debo hacer que funcionen con stty (para una aplicación tipo ERP que utiliza stty).
A priori, el problema no viene del driver porque están presentes. Cuando uso Minicom, la conf de los puertos cambia. Esta conf no funciona con stty... así que no es la solución. -
Up!
Please necesito ayuda. Se trata de un problema que bloquea y es urgente para mi empresa, y todavía no tengo solución... -
hola
Desafortunadamente debo hacerla funcionar con stty (para una aplicación tipo ERP que usa stty).
¿qué significa?
stty solo modifica los parámetros del puerto, ¿cómo se transfieren los datos? -
Problema resuelto. Tuve a mi disposición máquinas para realizar mis pruebas y resulta que los puertos COM funcionan bien a pesar de no comunicarse a través de "echo" y "cat". No entiendo mucho, pero mientras funcione, me sirve. Muchas gracias por tus respuestas