Difference between revisions of "Serial Transfer"

From ArmadeusWiki
Jump to: navigation, search
m (Installation)
(TBDL)
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Instructions to use the serial port of your Armadeus board to communicate with your PC
+
Instructions to use the serial port of your Armadeus board to transfer files from/to your PC.
 +
{{Note|This page explains how to transfer files on the board when the Linux system has started, '''not from U-Boot !'''.
 +
To know how to configure serial link for U-Boot communication, [[Connection_with_U-Boot_on_Linux|it's here]].}}
  
 
==Introduction==
 
==Introduction==
  
When you only have a serial link (RS232/USB) as connection with your devt PC (ie no Ethernet available), then you can use Zmodem protocol to send/receive files to/from your Armadeus board.
+
When you only have a serial link (RS232/USB) as connection with your devt PC (ie no Ethernet available), then you can use Zmodem protocol to send/receive files to/from your Shell/Console of your Armadeus board.
  
 
==Installation==
 
==Installation==
  
* Target:
+
===Target (APF)===
 
Modify your Buildroot configuration:
 
Modify your Buildroot configuration:
  [user@toto]$ make menuconfig
+
<pre class="host">
to add lrzsz package:<br>
+
  $ make menuconfig
[[Image:Menuconfig_package.png]]
+
</pre>
 +
to add lrzsz package:
 +
<pre class="config">
 +
Package Selection for the target  --->
 +
    Networking applications  --->
 +
        [*]   lrzsz
 +
</pre>
 +
and then rebuild your rootfs:
 +
<pre class="host">
 +
$ make
 +
</pre>
  
[[Image:Menuconfig_package_net.png]]
+
Reflash it or manually copy ''rz'' and ''sz'' executables found in ''$ARMADEUS_ROOTFS_DIR/usr/bin/''.
  
and then rebuild your RootFS
+
===Host===
[user@toto]$ make
+
* Install lrzsz package, if not already installed on your system. For example on Ubuntu/Debian:
Check that '''rz''' and '''sz''' executables are present in your RootFS and, if not, copy them to there:
+
<pre class="host">
[user@toto]$ cp ./project_build_armv4t/apf9328/lrzsz-0.12.20/src/lsz ./project_build_armv4t/apf9328/root/usr/bin/sz
+
  $ sudo apt-get install lrzsz
end then rebuild your RootFS:
+
</pre>
[user@toto]$ make
+
* Install minicom tool:
 
+
<pre class="host">
* Host:
+
$ sudo apt-get install minicom
Install lrzsz package, if not already installed on your system. For example on Ubuntu/Debian:
+
</pre>
  [root@toto]# apt-get install lrzsz
+
* The first time, configure minicom (as root):
 +
<pre class="host">
 +
$ sudo minicom -s
 +
</pre>
  
 
==Usage==
 
==Usage==
  
You must use minicom as serial terminal and not kermit for the moment sorry ! :-( <br>
+
{{Warning| You must use minicom as serial terminal and not kermit, sorry ! :-(}}
Be sure to have correctly configured Minicom: line speed, 8N1, no control, and correct download/upload directories path.<br>
+
* Be sure to have correctly configured Minicom (line speed, 8N1, no flow control, and correct download/upload directories path).
After having booted your Armadeus system, launch '''rz''' for receiving and '''sz''' to send files:
+
* Use '''rz''' for receiving and '''sz''' to send files:
* On your Target, open a new terminal:
+
===Host (PC) --> Target (APF)===
# /sbin/getty -L ttygserial 115200 vt100
+
<pre class="apf">
* On your Host, launch Minicom and configure it to use /dev/ttyUSB1 at 115200, then connect it to this terminal
+
 
+
* Host --> Target
+
 
  # cd /whereToPutTheFileOnTheTarget/
 
  # cd /whereToPutTheFileOnTheTarget/
 
  # rz -bZ
 
  # rz -bZ
 
  .. waiting to receive.
 
  .. waiting to receive.
then in minicom do: '''Ctrl+A , s''' and choose zmodem protocol and the file to send. <br>
+
</pre>
Wait a little and your file will be copied to your board rootfs ! ;-)
+
* then in minicom do: '''Ctrl+A , s''' and choose zmodem protocol and the file to send.
 +
* Wait a little and your file will be copied to your board rootfs ! ;-)
  
* Target --> Host
+
===Target (APF) --> Host (PC)===
  # cd /whereIsTheFileToSendOnTheTarget/
+
<pre class="apf">
 +
  # cd /location/of_the/file_to_send/on_the_apf/
 
  # sz -b --zmodem filename
 
  # sz -b --zmodem filename
Minicom handles the file receiving automatically (put it in your $HOME by default)
+
</pre>
 +
Minicom handles the file receiving automatically (and put it in your $HOME by default, or the directory you configured in Minicom: Ctrl+z, o, ''Filenames and paths'', ''Download directory'')
  
 
==TBDL==
 
==TBDL==
 +
===Serial transfer through USB gadget as serial link===
 +
After having booted your board:
 +
* On your Target, open a new terminal on your serial link (here USB):
 +
<pre class="apf">
 +
# /sbin/getty -L ttygserial 115200 vt100
 +
</pre>
 +
* On your Host, launch Minicom and configure it to use ''/dev/ttyUSB1'' at 115200, then connect it to this terminal
 +
 +
==Transfer without terminal==
 +
* On your Target, launch receiving:
 +
<pre class="apf">
 +
# rz --zmodem 1>/dev/ttyXXX 0</dev/ttyXXX
 +
</pre>
 +
* On your Host, launch transfer:
 +
<pre class="host">
 +
$ sz --zmodem /tftpboot/afiletosend 1>/dev/ttyUSB1 0</dev/ttyUSB1
 +
</pre>
  
 
==Links==
 
==Links==
 +
* http://www.ohse.de/uwe/software/lrzsz.html
  
* http://www.ohse.de/uwe/software/lrzsz.html
+
[[Category:Serial ports]]

Revision as of 12:44, 29 November 2017

Instructions to use the serial port of your Armadeus board to transfer files from/to your PC.

Note Note: This page explains how to transfer files on the board when the Linux system has started, not from U-Boot !.

To know how to configure serial link for U-Boot communication, it's here.


Introduction

When you only have a serial link (RS232/USB) as connection with your devt PC (ie no Ethernet available), then you can use Zmodem protocol to send/receive files to/from your Shell/Console of your Armadeus board.

Installation

Target (APF)

Modify your Buildroot configuration:

 $ make menuconfig

to add lrzsz package:

Package Selection for the target  --->
    Networking applications  --->
        [*]   lrzsz

and then rebuild your rootfs:

 $ make

Reflash it or manually copy rz and sz executables found in $ARMADEUS_ROOTFS_DIR/usr/bin/.

Host

  • Install lrzsz package, if not already installed on your system. For example on Ubuntu/Debian:
 $ sudo apt-get install lrzsz
  • Install minicom tool:
 $ sudo apt-get install minicom
  • The first time, configure minicom (as root):
 $ sudo minicom -s

Usage

Warning Warning: You must use minicom as serial terminal and not kermit, sorry ! :-(
  • Be sure to have correctly configured Minicom (line speed, 8N1, no flow control, and correct download/upload directories path).
  • Use rz for receiving and sz to send files:

Host (PC) --> Target (APF)

 # cd /whereToPutTheFileOnTheTarget/
 # rz -bZ
 .. waiting to receive.
  • then in minicom do: Ctrl+A , s and choose zmodem protocol and the file to send.
  • Wait a little and your file will be copied to your board rootfs ! ;-)

Target (APF) --> Host (PC)

 # cd /location/of_the/file_to_send/on_the_apf/
 # sz -b --zmodem filename

Minicom handles the file receiving automatically (and put it in your $HOME by default, or the directory you configured in Minicom: Ctrl+z, o, Filenames and paths, Download directory)

TBDL

Serial transfer through USB gadget as serial link

After having booted your board:

  • On your Target, open a new terminal on your serial link (here USB):
 # /sbin/getty -L ttygserial 115200 vt100
  • On your Host, launch Minicom and configure it to use /dev/ttyUSB1 at 115200, then connect it to this terminal

Transfer without terminal

  • On your Target, launch receiving:
# rz --zmodem 1>/dev/ttyXXX 0</dev/ttyXXX
  • On your Host, launch transfer:
$ sz --zmodem /tftpboot/afiletosend 1>/dev/ttyUSB1 0</dev/ttyUSB1

Links