Transferência de arquivos usando YMODEM sz

1

Estou tentando carregar um arquivo de firmware em uma conexão serial para um dispositivo que requer o protocolo YMODEM, de um pi de framboesa. Depois de muita escavação, eu continuo achando que o comando sz --ymodem [file] é a ferramenta para fazer isso. Já consegui me comunicar com o dispositivo usando este exemplo, mas não estou tendo sorte com sz .

Eu li a documentação do sz e isso me deixa com uma pergunta. Como faço para determinar se está enviando para o dispositivo? Ele está conectado via USB e tem porta /dev/ttyACM0 . Outros exemplos falam sobre o envio de um host remoto para um host local via sz por padrão, mas isso é tão profundo quanto qualquer explicação.

O dispositivo tem um comando que informa para antecipar uma transferência de arquivos; Eu acredito que isso toma o lugar de rz , mas a documentação do dispositivo diz que "Prepara o dispositivo para transferência YMODEM via HyperTerminal". Enviei os arquivos via HyperTerminal e um programa proprietário com sucesso, mas preciso fazer isso na linha de comando do linux.

Tenho certeza de que este é um caso de inexperiência e estou perdendo algo óbvio, mas como posso executar totalmente essa transferência de arquivos do início ao fim / o que estou fazendo errado?

    
por Jack Mason 30.03.2016 / 18:39

2 respostas

0

rz e sz remontam aos dias em que as pessoas costumavam discar para modems conectados a sistemas de computador maiores e para fazer login. Para enviar arquivos de volta, um dos vários protocolos poderia ser usado, kermit, xmodem, ymodem e zmodem.

O canal para o qual os arquivos foram enviados foi a sessão de login real. Então, um iniciaria o programa de transferência no host e iniciaria o handshaking do protocolo. Então, no programa do terminal, você ativaria a opção do protocolo de transferência.

A esperança era que o programa terminal e o computador host estabelecessem seu lugar no protocolo e transferissem o arquivo.

O Zmodem realmente definiu uma sequência de sinalização, de modo que, quando o host iniciasse uma transferência, os programas de terminal que suportavam o início automático começariam a transferência.

TELIX era um programa terminal popular que apoiava isso.

Hyperterm usado para suportar vários protocolos de transferência no PC. Se você estava conectado ao Pi através de uma porta serial, isso pode ser o que você está procurando.

O que você precisa fazer é pensar em si mesmo como estando no raspberry pi e executando um programa de terminal no próprio Pi para falar com essa porta serial.

Na minha experiência, o melhor programa de terminal serial para rodar no Linux é minicom , que suporta ymodem.

apt-get install minicom

Execute minicom e configure o direito / dev / ttySxxx (aparentemente / dev / ttyACM0)

sudo minicom -s

e siga os menus

Quando você estiver conectado e estiver pronto para ymodem o arquivo. digite control-A, o "S", e use as seleções do menu para escolher ymodem e o arquivo a ser enviado

Já faz um tempo, mas experimente

    
por 30.03.2016 / 20:43
0

Acho que se você fizer sudo minicom -s , você será direcionado para o menu de configuração. Certifique-se de configurar sua porta, se for como um cabo serial serial FTDI rs232, rs422 usb, para / dev / ttyUSB. Ele nem abre se não conseguir encontrar o adaptador. Também para enviar o arquivo você precisa enviá-lo em um computador e selecionar receber muito rapidamente no outro ... tente usar o terminal FTDI UART para Android. É um pouco mais fácil e tem botões de atalho.

    
por 02.08.2016 / 15:50