tty problem: mess binário em vez de “text good data”

1

Estou tentando usar um dispositivo moxa Uport 1110 usb-to-serial. O driver do UPort foi instalado OK e o GPS envia dados NMEA (texto). No entanto, quando eu emito o comando

cat /dev/ttyUSB0

meu terminal (está na localidade UTF8 se isso for importante) mostra alguma confusão binária. Sob o windows (assim, com um driver diferente, embora ambos sejam oficiais) ele se comporta bem e eu posso ver os dados e acessar o GPS.

Gostaria de saber se o problema está em algum terminal.

I previosuly emitiu stty ispeed 9600, que é o que GPS também é configurado para confiável; Também tentei stty ispeed de baixo para alto, apenas recebendo diferentes tipos de bagunça.

Esporadicamente, um bom texto foi mostrado em algumas tentativas raras.

Minhas configurações atuais de terminal são:

 [root@blade gpsd-3.14]# stty -F /dev/ttyUSB0 
 speed 9600 baud; line = 0;
 eof = ^A; min = 1; time = 0;
 -brkint -icrnl -imaxbel
 -opost -onlcr
 -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

Agradeço qualquer ajuda em detectar onde está o problema.

    
por Askar Ibragimov 19.04.2015 / 21:22

1 resposta

1

Na minha experiência (que, reconhecidamente, é de um certo número de anos atrás), as características da linha física retornam aos padrões quando o dispositivo é fechado. Portanto, executar stty ... < /dev/ttyUSB0 como um comando independente é frustrantemente inútil, pois assim que o comando é concluído, o dispositivo é fechado e redefine para o padrão.

Para resolver isso, tinha que fazer algo parecido com isto

sleep 3600 </dev/ttyUSB0 &    # Open the device and keep it open (for 1hr)
stty ... </dev/ttyUSB0        # Set the desired characteristics
cat /dev/ttyUSB0              # Read from the device
...
kill %1                       # Finished with the "sleep"
    
por 19.04.2015 / 21:35

Tags