I have a embedded linux device based on DM368 processor from TI with the kernel version 2.6.32.17 and BusyBox v1.13.2 (2011-03-24 18:58:44 CDT) file system.
I have problem with transferring files from my computer (ubuntu 14.04) into the board using zmodem in minicom/picocom over serial port.
Problem is that when I send a file using zmodem in minicom or picocom it says that timeout happened and "Transfer Incomplete". Do I have to run some sort of daemon or program on the board?
zmodem is supposed to be very simple and I've never had a problem with zmodem and embedded linux boards.
Here is the output of picocom after pressing ^A +S and entering the file path and name:
And this is minicom output after pressing ^A +S and selecting desired file:
+-----------[zmodem upload - Press CTRL-C to quit]------------+
|RROR |
|oot@dm368-evm:/home# Retry 0: Got ZNAK |
|-sh: Retry 0: Got ZNAK |
| not foundroot@dm368-evm:/home# |
|Transfer incomplete |
| |
| READY: press any key to continue... |
+-------------------------------------------------------------+
What is wrong?
Ok thanks to sawdust I could figure this out. The problem simply was that I didn't have rz and sz programs installed in the right directory. Apparently minicom or to be more exact zmodem needs these programs and calls them every time you want to send or receive files. So one has to cross compile lrzsz package like this:
export CC=arm-none-linux-gnueabi-gcc
./configure --target=arm-linux
make
And then rename two generated binaries in src directory from lsz and lrz to sz and rz respectively and just copy them into /usr/bin directory of the board. This way you can send and receive files using zmodem inside minicom or any other terminal.