Estou transferindo um arquivo binário para um dispositivo incorporado usando um conjunto de comandos AT personalizado.
Estou executando o Lubuntu Linux em uma máquina virtual (host do Windows 7) e o guest virtual do Linux controla a porta serial física.
No Windows eu tenho software proprietário para fazer isso, no Linux eu uso o console bash.
Defino a velocidade para 115200 baud com
stty -F /dev/ttyS0 115200
Eu verifico antes e depois e a velocidade vai de 9600 a 115200.
Eu envio comandos com
echo -ne "AT\r" > /dev/ttyS0
E eu li as respostas em outro terminal onde lancei
cat /dev/ttyS0
O problema é que quando eu preciso de um arquivo binário no dispositivo, envio o comando AT específico e o dispositivo aguarda por um fluxo. Então eu digito
cat $myFile > /dev/ttyS0
E tudo funciona, mas demora muito mais do que deveria. Quase 10 minutos para um arquivo de 600k quando a 115.200baud deve demorar cerca de um minuto.
Qual poderia ser o gargalo? É o VirtualBox ou é o comando "cat"? A velocidade está no padrão 9600 por algum motivo?
Obrigado
Tags tty serial-port cat