1<html> 2<head> 3<title>picocom(8)</title> 4</head> 5 6<body> 7 8<center><table width="100%"><tr> 9 <td align="left">picocom(8)</td> 10 <td align="center"></td> 11 <td align="right">picocom(8)</td> 12</tr></table></center> 13 14<h2>NAME</h2> 15<center><table width="90%"><tr><td> 16picocom -- minimal dumb-terminal emulation program 17</td></tr></table></center> 18 19<h2>SYNOPSIS</h2> 20<center><table width="90%"><tr><td> 21<ul> 22 <li><b> 23 picocom [ <i>options</i> ] <i>device</i> 24 </b></li> 25</ul> 26</td></tr></table></center> 27 28<h2>DESCRIPTION</h2> 29<center><table width="90%"><tr><td> 30 <p> 31 As its name suggests, <b>picocom</b> is a minimal dumb-terminal 32 emulation program. It is, in principle, very much like 33 <a href=""><b>minicom</b>(1)</a>, only it's "pico" instead of 34 "mini"! It was designed to serve as a simple, manual, modem 35 configuration, testing, and debugging tool. It has also served 36 (quite well) as a low-tech "terminal-window" to allow operator 37 intervention in PPP connection scripts (something like the 38 ms-windows "open terminal window before / after dialing" feature). 39 It could also prove useful in many other similar tasks. 40 </p> 41 <p> 42 When <b>picocom</b> starts it opens the terminal (serial device) 43 given as its non-option argument. Unless the <i>--noinit</i> 44 option is given, it configures the device to the settings 45 specified by the option-arguments (or to some default settings), 46 and sets it to "raw" mode. If <i>--noinit</i> is given, the 47 initialization and configuration is skipped; the device is just 48 opened. Following this, <b>picocom</b> sets the standard-input and 49 standard-output to raw mode. Having done so, it goes in a loop 50 where it listens for input from stdin, or from the serial port. 51 Input from the serial port is copied to the standard output while 52 input from the standard input is copied to the serial port. <b>picocom</b> 53 also scans its input stream for a user-specified control 54 character, called the "escape character" (being by default "C-a"). 55 If the escape character is seen, then instead of sending it to the 56 serial-device, the program enters "command mode" and waits for the 57 next character (which is called the "function character"). 58 Depending on the value of the function character, <b>picocom</b> 59 performs one of the operations described in the "Commands" section 60 below. 61 </p> 62</td></tr></table></center> 63 64<h2>COMMANDS</h2> 65<center><table width="90%"><tr><td> 66 <p> 67 Commands are given to <b>picocom</b> by first keying the "espace 68 character" which by default is "C-a" (see "Options" below on how 69 to change it), and then keying one for the function (command) 70 characters shown here. 71 </p> 72 <dl> 73 <dt><b> 74 [escape character] 75 </b></dt> 76 <dd> 77 <p> 78 Send the escape character to the serial port and return to 79 "transparent" mode. This means that if the escape character 80 ("C-a", by default) is typed twice, the program sends the 81 escape character to the serial port, and remains in 82 transparent mode. This is a new behavior implemented in v1.4. 83 Previously picocom used to ignore the escape-character when it 84 was entered as a function character. 85 </p> 86 </dd> 87 <dt><b> 88 C-x 89 </b></dt> 90 <dd> 91 <p> 92 Exit the program: if the "--noreset" option was not given then 93 the serial port is reset to its original settings before 94 exiting; if it was given the serial port is not reset. 95 </p> 96 </dd> 97 <dt><b> 98 C-q 99 </b></dt> 100 <dd> 101 <p> 102 Quit the program *without* reseting the serial port, 103 regardless of the "--noreset" option. 104 </p> 105 </dd> 106 <dt><b> 107 C-p 108 </b></dt> 109 <dd> 110 <p> 111 Pulse the DTR line. Lower it for 1 sec, and then raise it 112 again. 113 </p> 114 </dd> 115 <dt><b> 116 C-t 117 </b></dt> 118 <dd> 119 <p> 120 Toggle the DTR line. If DTR is up, then lower it. If it is 121 down, then raise it. 122 </p> 123 </dd> 124 <dt><b> 125 C-\e 126 </b></dt> 127 <dd> 128 <p> 129 Generate a break sequence on the serial line. A break sequence 130 is usually generated by marking (driving to logical one) the 131 serial Tx line for an amount of time coresponding to several 132 character durations. 133 </p> 134 </dd> 135 <dt><b> 136 C-u 137 </b></dt> 138 <dd> 139 <p> 140 Baud up. Increase the baud-rate. The list of baud-rates 141 stepped-through by this command is: 300, 600, 1200, 2400, 142 4800, 9600, 19200, 38400, 57600, 115200. 143 </p> 144 </dd> 145 <dt><b> 146 C-d 147 </b></dt> 148 <dd> 149 <p> 150 Baud down. Decrease the baud-rate. The list of baud-rates 151 stepped-through by this command is the same as for the 152 "baud-up" command. 153 </p> 154 </dd> 155 <dt><b> 156 C-f 157 </b></dt> 158 <dd> 159 <p> 160 Cycle through flow-control settings (RTS/CTS, XON/XOFF, none). 161 </p> 162 </dd> 163 <dt><b> 164 C-y 165 </b></dt> 166 <dd> 167 <p> 168 Cycle through parity settings (even, odd, none). 169 </p> 170 </dd> 171 <dt><b> 172 C-b 173 </b></dt> 174 <dd> 175 <p> 176 Cycle through databits-number settings (5, 6, 7, 8). 177 </p> 178 </dd> 179 <dt><b> 180 C-v 181 </b></dt> 182 <dd> 183 <p> 184 Show program options (like baud rate, data bits, etc). Only 185 the options that can be modified online (through commands) are 186 shown, not those that can only be set at the command-line. 187 </p> 188 </dd> 189 <dt><b> 190 C-s 191 </b></dt> 192 <dd> 193 <p> 194 Send (upload) a file (see "Sending and Receiving Files" below) 195 </p> 196 </dd> 197 <dt><b> 198 C-r 199 </b></dt> 200 <dd> 201 <p> 202 Receive (download) a file (see "Sending and Receiving Files" 203 below) 204 </p> 205 </dd> 206 </dl> 207 <p> 208 After performing one of the above operations the program leaves 209 the command mode and enters transparent mode. Example: To increase 210 the baud-rate by two steps, you have to type: 211 </p> 212 <p> 213 C-a, C-u, C-a, C-u 214 </p> 215 <p> 216 assuming of-course that "C-a" is the escape character. 217 </p> 218</td></tr></table></center> 219 220<h2>SENDING AND RECEIVING FILES</h2> 221<center><table width="90%"><tr><td> 222 <p> 223 <b>picocom</b> can send and receive files over the serial port 224 using external programs that implement the respective protocols. 225 In Linux typical programs for this purpose are: 226 </p> 227 <ul> 228 <li> 229 <p> 230 <a href=""><b>rx</b>(1)</a> - receive using the X-MODEM 231 protocol 232 </p> 233 </li> 234 <li> 235 <p> 236 <a href=""><b>rb</b>(1)</a> - receive using the Y-MODEM 237 protocol 238 </p> 239 </li> 240 <li> 241 <p> 242 <a href=""><b>rz</b>(1)</a> - receive using the Z-MODEM 243 protocol 244 </p> 245 </li> 246 <li> 247 <p> 248 <a href=""><b>sx</b>(1)</a> - send using the X-MODEM protocol 249 </p> 250 </li> 251 <li> 252 <p> 253 <a href=""><b>sb</b>(1)</a> - send using the Y-MODEM protocol 254 </p> 255 </li> 256 <li> 257 <p> 258 <a href=""><b>sz</b>(1)</a> - send using the Z-MODEM protocol 259 </p> 260 </li> 261 <li> 262 <p> 263 <a href=""><b>ascii-xfr</b>(1)</a> - receive or transmit ASCII 264 files 265 </p> 266 </li> 267 </ul> 268 <p> 269 The name of, and the command-line options to, the program to be 270 used for transmitting files are given by the "--send-cmd" option. 271 Similarly the program to receive files, and its argumets, are 272 given by the "--receive-cmd" option. For example, in order to 273 start a <b>picocom</b> session that uses "sz" to transmit files, 274 and "rz" to receive, you have to say something like this: 275 </p> 276 <p> 277 picocom --send-cmd "sz -vv" --receive-cmd "rz -vv" 278 </p> 279 <p> 280 During the picocom session, if you key the "send" or "receive" 281 commands (e.g. by pressing C-a, C-s, or C-a, C-r) you will be 282 prompted for a filename. At this prompt you can enter one or more 283 file-names, and any additional arguments to the transmission or 284 reception program. After that, picocom will start the the external 285 program as specified by the "--send-cmd", or "--receive-cmd" 286 option, and with any filenames and additional arguments you may 287 have supplied. The standard input and output of the external 288 program will be connected to the serial port. The standard error 289 of the external program will be connected to the terminal 290 which---while the program is running---will revert to canonical 291 mode. Pressing 'C-c' while the external program is running will 292 prematurely terminate it, and return control to <b>picocom</b>. 293 Pressing 'C-c' at any other time, has no special effect; the 294 character is normally passed to the serial port. 295 </p> 296</td></tr></table></center> 297 298<h2>OPTIONS</h2> 299<center><table width="90%"><tr><td> 300 <p> 301 <b>picocom</b> accepts the following command-line options 302 </p> 303 <dl> 304 <dt><b> 305 --baud | -b 306 </b></dt> 307 <dd> 308 <p> 309 Defines the baud-rate to set the serial-port (terminal) to. 310 </p> 311 </dd> 312 <dt><b> 313 --flow | -f 314 </b></dt> 315 <dd> 316 <p> 317 Defines the flow-control mode to set the serial-port to. Must 318 be one of: 319 </p> 320 <ul> 321 <li> 322 <p> 323 \'x' for xon/xoff (software) mode 324 </p> 325 </li> 326 <li> 327 <p> 328 \'h' for hardware flow control (RTS/CTS) 329 </p> 330 </li> 331 <li> 332 <p> 333 \'n' for no flow control 334 </p> 335 </li> 336 </ul> 337 <p> 338 (Default: 'n') 339 </p> 340 </dd> 341 <dt><b> 342 --parity | -p 343 </b></dt> 344 <dd> 345 <p> 346 Defines the parity mode to set the serial-port to. Must be one 347 of: 348 </p> 349 <ul> 350 <li> 351 <p> 352 \'o' for odd parity mode. 353 </p> 354 </li> 355 <li> 356 <p> 357 \'e' for even parity mode. 358 </p> 359 </li> 360 <li> 361 <p> 362 \'n' for no parity, mode. 363 </p> 364 </li> 365 </ul> 366 <p> 367 (Default: 'n') 368 </p> 369 </dd> 370 <dt><b> 371 --databits | -d 372 </b></dt> 373 <dd> 374 <p> 375 Defines the number of data bits in every character. Must be 376 one of: 5, 6, 7, 8 377 </p> 378 <p> 379 (Default: 8) 380 </p> 381 </dd> 382 <dt><b> 383 --esacpe | -e 384 </b></dt> 385 <dd> 386 <p> 387 Defines the character that will make picocom enter 388 command-mode (see description above). If 'x' is given, then 389 C-x will make picocom enter command mode. 390 </p> 391 <p> 392 (Default: 'a') 393 </p> 394 </dd> 395 <dt><b> 396 --noinit | -i 397 </b></dt> 398 <dd> 399 <p> 400 If given, <b>picocom</b> will not initialize, reset, or 401 otherwise meddle with the serial port at start-up. It will 402 just open it. This is useful, for example, for connecting <b>picocom</b> 403 to already-connected modems, or already configured ports 404 without terminating the connection, or altering the settings. 405 If required serial port parameters can then be adjusted at 406 run-time by commands. 407 </p> 408 </dd> 409 <dt><b> 410 --noreset | -r 411 </b></dt> 412 <dd> 413 <p> 414 If given, <b>picocom</b> will not *reset* the serial port when 415 exiting. It will just close the filedes and do nothing more. 416 This is useful, for example, for leaving modems connected when 417 exiting <b>picocom</b>. Regardless whether the "--noreset" 418 option is given the user can exit <b>picocom</b> using the 419 "Quit" command (instead of "Exit"), which never resets the 420 serial port. If "--noreset" is given then "Quit" and "Exit" 421 behave essentially the same. 422 </p> 423 </dd> 424 <dt><b> 425 --nolock | -l 426 </b></dt> 427 <dd> 428 <p> 429 If given, <b>picocom</b> will *not* attempt to lock the serial 430 port before opening it. Normally picocom attempts to get a 431 UUCP-style lock-file (e.g. "/var/lock/LCK..ttyS0") before 432 opening the port. Failing to do so, results in the program 433 exiting after emitting an error-message. It is possible that 434 your picocom binary is compiled without this option. 435 </p> 436 </dd> 437 <dt><b> 438 --send-cmd | -s 439 </b></dt> 440 <dd> 441 <p> 442 Specifies the external program (and any arguments to it) that 443 will be used for transmitting files. 444 </p> 445 <p> 446 Default: "sz -vv" 447 </p> 448 </dd> 449 <dt><b> 450 --receive-cmd | -v 451 </b></dt> 452 <dd> 453 <p> 454 Specifies the external program (and any arguments to it) that 455 will be used for receiving files. 456 </p> 457 <p> 458 (Default: "rz -vv") 459 </p> 460 </dd> 461 <dt><b> 462 --help | -h 463 </b></dt> 464 <dd> 465 <p> 466 Print a short help message describing the command-line 467 options. 468 </p> 469 </dd> 470 </dl> 471</td></tr></table></center> 472 473<h2>AUTHOR</h2> 474<center><table width="90%"><tr><td> 475 <p> 476 picocom was written by Nick Patavalis (npat@efault.net) 477 </p> 478</td></tr></table></center> 479 480<h2>AVAILABILITY</h2> 481<center><table width="90%"><tr><td> 482 <p> 483 The latest version of "picocom" can be downloaded from: 484 <a href="http://efault.net/npat/hacks/picocom/">http://efault.net/npat/hacks/picocom/</a> 485 </p> 486</td></tr></table></center> 487 488<center><table width="100%"><tr> 489 <td align="left"></td> 490 <td align="center"></td> 491 <td align="right">picocom(8)</td> 492</tr></table></center> 493 494</body> 495</html> 496