Provided by: picocom_1.7-1_amd64 bug


       picocom - minimal dumb-terminal emulation program


       picocom [ options ] device


       As  its  name  suggests,  picocom  is a minimal dumb-terminal emulation program. It is, in
       principle, very much like minicom(1) , only it's "pico" instead of "mini"! It was designed
       to  serve  as  a  simple, manual, modem configuration, testing, and debugging tool. It has
       also served (quite well) as a low-tech "terminal-window" to allow operator intervention in
       PPP connection scripts (something like the ms-windows "open terminal window before / after
       dialing" feature). It could also prove useful in many other similar tasks.

       When picocom starts it  opens  the  terminal  (serial  device)  given  as  its  non-option
       argument.  Unless  the  --noinit option is given, it configures the device to the settings
       specified by the option-arguments (or to some default settings),  and  sets  it  to  "raw"
       mode. If --noinit is given, the initialization and configuration is skipped; the device is
       just opened. Following this, picocom sets the standard-input and  standard-output  to  raw
       mode. Having done so, it goes in a loop where it listens for input from stdin, or from the
       serial port. Input from the serial port is copied to the standard output while input  from
       the  standard input is copied to the serial port.  picocom also scans its input stream for
       a user-specified control character, called the "escape character" (being  by  default  "C-
       a"). If the escape character is seen, then instead of sending it to the serial-device, the
       program enters "command mode" and waits for  the  next  character  (which  is  called  the
       "function  character"). Depending on the value of the function character, picocom performs
       one of the operations described in the "Commands" section below.


       Commands are given to picocom by first keying the "espace character" which by  default  is
       "C-a"  (see  "Options"  below  on  how to change it), and then keying one for the function
       (command) characters shown here.

       [escape character]
          Send the escape character to the serial port and return  to  "transparent"  mode.  This
          means  that  if  the  escape  character ("C-a", by default) is typed twice, the program
          sends the escape character to the serial port, and remains in transparent mode. This is
          a  new  behavior  implemented  in  v1.4.  Previously picocom used to ignore the escape-
          character when it was entered as a function character.

          Exit the program: if the "--noreset" option was not given then the serial port is reset
          to its original settings before exiting; if it was given the serial port is not reset.

          Quit  the  program  *without*  reseting  the serial port, regardless of the "--noreset"

          Pulse the DTR line. Lower it for 1 sec, and then raise it again.

          Toggle the DTR line. If DTR is up, then lower it. If it is down, then raise it.

          Generate a break sequence on the serial line. A break sequence is usually generated  by
          marking  (driving to logical one) the serial Tx line for an amount of time coresponding
          to several character durations.

          Baud up. Increase the baud-rate. The list of baud-rates stepped-through by this command
          is: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.

          Baud  down.  Decrease  the  baud-rate.  The  list of baud-rates stepped-through by this
          command is the same as for the "baud-up" command.

          Cycle through flow-control settings (RTS/CTS, XON/XOFF, none).

          Cycle through parity settings (even, odd, none).

          Cycle through databits-number settings (5, 6, 7, 8).

          Toggle local-echo mode.

          Show program options (like baud rate, data bits, etc). Only the  options  that  can  be
          modified  online  (through  commands)  are shown, not those that can only be set at the

          Send (upload) a file (see "Sending and Receiving Files" below)

          Receive (download) a file (see "Sending and Receiving Files" below)

       After performing one of the above operations the  program  leaves  the  command  mode  and
       enters  transparent  mode.  Example:  To  increase the baud-rate by two steps, you have to

       C-a, C-u, C-a, C-u

       assuming of-course that "C-a" is the escape character.


       picocom can send and receive files over the  serial  port  using  external  programs  that
       implement the respective protocols. In Linux typical programs for this purpose are:

       —  rx(1) - receive using the X-MODEM protocol

       —  rb(1) - receive using the Y-MODEM protocol

       —  rz(1) - receive using the Z-MODEM protocol

       —  sx(1) - send using the X-MODEM protocol

       —  sb(1) - send using the Y-MODEM protocol

       —  sz(1) - send using the Z-MODEM protocol

       —  ascii-xfr(1) - receive or transmit ASCII files

       The  name  of,  and  the  command-line options to, the program to be used for transmitting
       files are given by the "--send-cmd" option. Similarly the program to  receive  files,  and
       its  argumets,  are  given by the "--receive-cmd" option. For example, in order to start a
       picocom session that uses "sz" to transmit files, and "rz" to receive,  you  have  to  say
       something like this:

       picocom --send-cmd "sz -vv" --receive-cmd "rz -vv"

       During  the picocom session, if you key the "send" or "receive" commands (e.g. by pressing
       C-a, C-s, or C-a, C-r) you will be prompted for a filename. At this prompt you  can  enter
       one  or  more  file-names,  and  any additional arguments to the transmission or reception
       program. After that, picocom will start the the  external  program  as  specified  by  the
       "--send-cmd",  or  "--receive-cmd" option, and with any filenames and additional arguments
       you may have supplied. The standard input and output  of  the  external  program  will  be
       connected to the serial port. The standard error of the external program will be connected
       to the terminal which---while the program is  running---will  revert  to  canonical  mode.
       Pressing  'C-c'  while  the external program is running will prematurely terminate it, and
       return control to picocom


       Using the "--imap", "--omap", and "--emap" options you can  make  picocom  map  (tranlate,
       replace)  certain special characters after being read from the serial port (with --imap ),
       before being written to the serial port (with --omap ), and before being locally echoed to
       the  terminal  (standard  output)  if  local echo is enabled (with --emap ). These mapping
       options take, each, a single argument which is a comma-separated list of one  or  more  of
       the following identifiers:

       —  crlf: map CR to LF

       —  crcrlf: map CR to CR + LF

       —  igncr: ignore CR

       —  lfcr: map LF to CR

       —  lfcrlf: map LF to CR + LF

       —  ignlf: ignore LF

       —  bsdel: map BS --> DEL

       —  delbs: map DEL --> BS

       For example the command:

       picocom --omap crlf,delbs --imap inglf,bsdel --emap crcrlf ...

       will:  Replace  every  CR  (carriage  return, 0x0d) caracter with LF (line feed, 0x0a) and
       every DEL (delete, 0x7f) character with BS (backspace, 0x08)  before  writing  it  to  the
       serial  port.  Ignore  (not write to the terminal) every LF character read from the serial
       port and replace every BS character read from the serial port with DEL. Replace  every  CR
       character with CR and LF when echoing to the terminal (if local-echo is enabled).


       picocom accepts the following command-line options

       --baud | -b
          Defines the baud-rate to set the serial-port (terminal) to.

       --flow | -f
          Defines the flow-control mode to set the serial-port to. Must be one of:

          —  ´x' for xon/xoff (software) mode

          —  ´h' for hardware flow control (RTS/CTS)

          —  ´n' for no flow control

          (Default: 'n')

       --parity | -p
          Defines the parity mode to set the serial-port to. Must be one of:

          —  ´o' for odd parity mode.

          —  ´e' for even parity mode.

          —  ´n' for no parity, mode.

          (Default: 'n')

       --databits | -d
          Defines the number of data bits in every character. Must be one of: 5, 6, 7, 8

          (Default: 8)

       --esacpe | -e
          Defines  the  character  that  will  make  picocom  enter command-mode (see description
          above). If 'x' is given, then C-x will make picocom enter command mode.

          (Default: 'a')

       --echo | -c
          Enable local echo. Every character being read from the  terminal  (standard  input)  is
          echoed to the terminal (standard output) subject to the echo-mapping configuration (see
          --emap option.

          (Default: Disabled)

       --noinit | -i
          If given, picocom will not initialize, reset, or otherwise meddle with the serial  port
          at  start-up. It will just open it. This is useful, for example, for connecting picocom
          to already-connected modems,  or  already  configured  ports  without  terminating  the
          connection,  or  altering  the settings. If required serial port parameters can then be
          adjusted at run-time by commands.

       --noreset | -r
          If given, picocom will not *reset* the serial port when exiting. It will just close the
          filedes  and do nothing more. This is useful, for example, for leaving modems connected
          when exiting picocom picocom using the "Quit" command (instead of "Exit"), which  never
          resets  the  serial  port.  If  "--noreset"  is  given  then  "Quit"  and "Exit" behave
          essentially the same.

       --nolock | -l
          If given, picocom will *not* attempt  to  lock  the  serial  port  before  opening  it.
          Normally  picocom  attempts to get a UUCP-style lock-file (e.g. "/var/lock/LCK..ttyS0")
          before opening the port. Failing to  do  so,  results  in  the  program  exiting  after
          emitting  an error-message. It is possible that your picocom binary is compiled without
          this option.

       --send-cmd | -s
          Specifies the external program (and  any  arguments  to  it)  that  will  be  used  for
          transmitting files.

          Default: "sz -vv"

       --receive-cmd | -v
          Specifies  the  external  program  (and  any  arguments  to  it)  that will be used for
          receiving files.

          (Default: "rz -vv")

          Specifies the input character map (i.e. special characters to  be  replaced  when  read
          from the serial port). Example: "--imap crlf,delbs"

          (Defaul: Empty)

          Specifies the output character map (i.e. special characters to be replaced before being
          written to serial port). Example: "--omap crcrlf,bsdel"

          (Defaul: Empty)

          Specifies the local-echo character map (i.e. special characters to be  replaced  before
          being  echoed-back  to  the  terminal,  if  local-echo  is  enabled).  Example: "--emap

          (Defaul: delbs,crcrlf)

       --help | -h
          Print a short help message describing the command-line options.


       picocom was written by Nick Patavalis (


       The latest version of "picocom" can be downloaded from: