Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What serial file transfer protocol to use?

I'm looking for some input on witch file transfer protocol to use over a serial line. I want to be able to transfer files of max 200 Mb size over a serial line (RS232) in both directions, but only one of the machines needs to be able to initiate the get/put (think master-slave).

The protocol also needs to be:

  • Easy/simple to implement since I would need to write both client and server myself (limited, embedded hardware)
  • Fairly robust, fault checking/recovery etc
  • At least somewhat standardized, in case I need to get a third party to implement it on some other hardware

Kermit? TFTP? Simplest possible home brew? What do you think?

like image 790
c0m4 Avatar asked Sep 30 '10 13:09

c0m4


1 Answers

In the beginning was the Xmodem, which was very simple to implement. Chuck Forsberg looked at the xmodem and decided it was inefficient, so he begat the Ymodem, but it's implementations were buggy and both x and ymodem were replaced with Zmodem.

Kermit followed on later. Kermit would probably be the "Standard" way to implement this. Do you have access to libraries for Kermit that will run on your embedded platform? If not I would probably consider one of the other options.

If ease of implementation is your primary concern then Xmodem wins hands down.

like image 140
Steve Weet Avatar answered Oct 03 '22 13:10

Steve Weet