How to connect to a serial port on Linux

Question: I need to access the management terminal of a hardware switch/router (e.g., Cisco Catalyst or HP ProCurve) via its console port. The switch console port is connected to the serial port of my Linux box. How can I connect to the serial port from a Linux terminal?

First of all, let's assume that you have already connected the serial port of your Linux box to a switch console port via a serial cable.

To connect a Linux terminal to the serial port of your Linux system, you can use a command-line screen manager tool called screen.

Install screen on Linux

To install screen on Debian, Ubuntu or Linux Mint:

$ sudo apt-get install screen

To install screen on CentOS, Fedora, or RHEL:

$ sudo yum install screen

Connect to a Serial Port with screen utility

Traditionally in Linux, the first serial port (COM1) is assigned a name /dev/ttyS0, the second serial port (COM2) assigned /dev/ttyS1, etc. If you specify a serial port name as the first argument of the screen command, the current terminal window where you run screen will be directly connected to the serial port.

Thus, to connect to a serial port, simply run the following command from a terminal:

$ screen /dev/ttyS0

Optionally, you can specify baud rate (e.g., 1200, 9600, 19200) as the second parameter as follows.

$ screen /dev/ttyS0 9600

Once connected to a serial port, you will then be able to access the switch console port from the terminal.

To terminate the current screen session, type "Ctrl-A"+"k". If you want to temporarily detach from the screen session, type "Ctrl-A"+"d". After detached, you can re-attached to the session later by running:

$ screen -r

Subscribe to Ask Xmodulo

Do you want to receive Linux related questions & answers published at Ask Xmodulo? Enter your email address below, and we will deliver our Linux Q&A straight to your email box, for free. Delivery powered by Google Feedburner.

Leave a comment

Your email address will not be published. Required fields are marked *

Current ye@r *