Como eu despejo cada byte escrito em um tty?

1

Ao conectar-se a uma comutação serial ( /dev/ttyUSB0 ) usando o PuTTY, recebo um prompt de login. Se eu me conectar usando a biblioteca Python pyserial e escrever algumas quebras de linha ( \n\n\n ), não estou recebendo nada do switch.

No entanto, se eu me conecto pela primeira vez com pyserial , em seguida, conecto-me ao PuTTY e fecho o PuTTY, posso ler e gravar bytes usando pyserial perfeitamente.

Isso me leva a acreditar que o PuTTY envia automaticamente alguns bytes quando tenta se conectar que não estou vendo. Como posso espionar o que o PuTTY grava em /dev/ttyUSB0 para que eu possa imitá-lo do Python?

Para elaborar, eis o que estou tentando fazer com o Python:

import pyserial

ser = pyserial.serial_for_url("/dev/ttyUSB0")
ser.timeout = 1
ser.write("\n".encode("ASCII"))

print(ser.read(1))   # Times out and returns b""

Se, após a chamada do método serial_for_url , eu conectar usando o PuTTY, enviar uma quebra de linha (pressionar Enter) no PuTTY e, em seguida, desconectar, posso escrever ser e ler o prompt de login que o switch envia. / p>     

por Hubro 20.10.2015 / 07:01

0 respostas