A Cisco router has no screen and no keyboard. The first time you talk to one, you do it through a console cable plugged into your laptop, using a program that shows the router's text on your screen. This page takes you from a router in a box to a blinking prompt you can type into — on Windows, Mac, or Linux — and then shows you the first handful of commands every Cisco tutorial on this site assumes you know. No networking knowledge is needed to get through it.
The Cisco 1921 is a small business router from Cisco's Integrated Services Router line. It's a metal box about the size of a large hardback book, with a fan, a power cord, and a row of ports on the back. It went out of production years ago, which is exactly why it's the classic home-lab router: they sell used for less than a textbook and run the same IOS software as much bigger Cisco gear. What you learn on this box carries straight over.
Turn it round so the ports face you. Left to right you'll find:
GigabitEthernet0/0 and GigabitEthernet0/1. Nothing needs to be plugged into them today.A brand-new router has no IP address, so you can't reach it over the network — there's nothing to connect to yet. The console port is a direct serial line that works with zero configuration, even when the router is half-booted or badly misconfigured. It's the one door that's always open. Once you've given the router an address you can switch to SSH, but the console is how you get there.
The blue port isn't Ethernet. The black port isn't the console. Everything else on this page follows from those two facts.
Three things, and the cable is the one people get wrong.
screen command. Steps 03–05 cover each one.You do not need an Ethernet cable, a switch, an Internet connection, or any prior configuration. The router, the console cable, and your laptop are the whole lab today.
A friend tries to set up their router by plugging an Ethernet cable from their laptop into the port marked GE 0/0, opens a browser, and gets nothing. Explain in plain words why that doesn't work and what the console cable does instead.
Ethernet is a network. To talk over a network, both ends need an address, and a fresh router has none — so the laptop is shouting into an empty room. The console cable isn't a network at all. It's a direct wire from your keyboard to the router's brain, like plugging a monitor and keyboard into a PC. It needs no address and no setup; it just shows you what the router is saying and lets you type back. You use it to give the router an address, and after that the network route works too.
Windows names serial connections COM1, COM2, and so on. Your console cable will get one of those numbers when you plug it in, and you need to know which. Plug the USB end into your laptop now (the router can stay off), then:
If the entry has a yellow warning triangle, or you see an Unknown device under Other devices instead, Windows didn't recognise the chip in the cable. Unplug it, install the driver for your cable's chip (the product listing will say FTDI, Prolific, or Silicon Labs — each has a free driver download), plug it back in, and check again. Windows 10 and 11 fetch the FTDI driver automatically on most machines, so usually there's nothing to do.
Windows doesn't come with a serial terminal, so download PuTTY — it's free, tiny, and the standard choice. Run the installer with the defaults. Then open PuTTY and set exactly four things on the first screen:
| Setting | Value |
|---|---|
| Connection type | Serial (the radio button, not SSH) |
| Serial line | COM3 — the number from Device Manager |
| Speed | 9600 |
| Saved Sessions | type cisco and click Save, so next time is one click |
Click Open. You get a black window with nothing in it. That's correct — the router isn't on yet. Leave the window open and go to Step 06.
Under Connection → Serial in the left-hand tree, PuTTY defaults to 8 data bits, 1 stop bit, no parity, and XON/XOFF flow control. Cisco wants all of those except flow control, which should be None. It usually works anyway with the default, but if you get stuck characters or a frozen screen, that's the first thing to change. Everything else can stay as it is.
macOS has everything built in. Plug the cable into the Mac, open Terminal (it's in Applications → Utilities, or search for it with Spotlight), and ask what serial devices exist:
ls /dev/tty.usb*
The exact name varies with the cable (a mini-USB console shows up as tty.usbmodem… instead). If the command lists nothing, unplug and replug the cable and try again; recent Macs have the FTDI driver built in, so nothing needs installing. Then connect at 9600 baud:
screen /dev/tty.usbserial-A50285BI 9600
The window clears and goes blank. That's correct — the router isn't on yet. Leave it and go to Step 06.
screen takes over the terminal window, so closing the connection isn't just Ctrl-C. Press Ctrl-A, let go, then press K, and answer y. If you forget and simply close the Terminal window, the session lingers in the background and the next screen command will say the device is busy — run screen -ls to see it and screen -X quit to clean up.
Every mainstream distribution has the FTDI driver in the kernel already. Plug in the cable and see what name it was given:
ls /dev/ttyUSB*
A mini-USB console cable shows up as /dev/ttyACM0 instead. If nothing is listed, dmesg | tail shows what the kernel thought of the cable when you plugged it in. Install screen if you don't have it, then connect:
# Debian / Ubuntu; use dnf or pacman on other distributions sudo apt install screen # connect at 9600 baud sudo screen /dev/ttyUSB0 9600
The window clears and goes blank. That's correct — the router isn't on yet. Leave it and go to Step 06. To leave screen later: Ctrl-A, then K, then y.
Serial devices belong to the dialout group (uucp on Arch). Add yourself once — sudo usermod -aG dialout $USER — log out and back in, and from then on screen /dev/ttyUSB0 9600 works without sudo. If you'd rather have menus than key chords, minicom -D /dev/ttyUSB0 -b 9600 does the same job; exit it with Ctrl-A then X.
With your terminal window open and blank, plug the RJ-45 end of the console cable into the light blue CONSOLE port — not the black AUX port next to it — connect the power cord, and flip the switch on the back. The fan spins up loudly for a few seconds and then settles down. Within a moment, text starts scrolling in your terminal:
If you see this, everything is connected correctly. The boot takes two to three minutes — the router is decompressing its operating system, which Cisco calls IOS (no relation to the iPhone), and then checking each piece of hardware. Let it run. Somewhere in the middle it may pause for a while with no output; that's normal.
A router that has never been configured, or one whose previous owner wiped it, ends the boot with an offer to walk you through setup:
Type no and press Enter. The wizard asks a dozen questions in an order that makes no sense until you already know what they mean, and everything it does is one short command you'll learn in Step 09. Decline it. You may then see:
Press Enter to accept yes. Autoinstall is the router trying to fetch a config from the network, and there is no network. A few more log lines scroll past, ending with:
Press Enter, and you get the thing you came for:
That's the prompt. The router is listening.
If the previous owner didn't erase it, you'll skip the questions and land straight at a prompt with their hostname, like OfficeRouter>. That's fine for reading, but the old config may include passwords you don't know, and you'll probably want to start clean anyway. Step 12 covers both: wiping the config, and getting in when you're locked out.
Cisco IOS has modes, and the end of the prompt tells you which one you're in. Getting comfortable with three of them is most of what “knowing Cisco” means at the start.
| Prompt | Name | What you can do |
|---|---|---|
Router> | User EXEC | Look, but not much. A few show commands and ping. |
Router# | Privileged EXEC | See everything, save, reboot. The “admin” level. |
Router(config)# | Global configuration | Change settings. Every configuration command lives here or deeper. |
You move between them with three commands. Type these now, one at a time, and watch the prompt change:
enable configure terminal exit disable
enable — go from > to #. On a fresh router there's no password; later you'll set one.configure terminal — go from # to (config)#. Everyone abbreviates this to conf t.exit — back up one level. end (or Ctrl-Z) jumps all the way back to # from however deep you are.disable — back from # to >. Rarely needed; you'll normally just stay at #.? at any prompt to list every command available there. Type part of a command and then ? — sh? — to see what it could complete to. Type a command, a space, and ? to see what comes next. This is the built-in manual, and it's better than most.show running-config is sh run; configure terminal is conf t; interface GigabitEthernet0/0 is int g0/0. Every tutorial on this site writes the full command so it's clear what's happening, but nobody types them that way.Before you change anything, learn to read. These three commands answer “what is this box?”, “what ports does it have?”, and “how is it set up?” — and you'll type them hundreds of times. Go to # with enable first.
show version
The first line is the software version. The line with CISCO1921/K9 confirms the model. The last line, Configuration register, should read 0x2102 — that's the normal value, and Step 10 explains what happens when it isn't.
When the output is longer than the screen you'll see --More-- at the bottom. Space shows the next page, Enter shows one more line, and q gives up and returns to the prompt.
show ip interface brief
One line per port. unassigned means no IP address yet, and administratively down means the port is switched off — Cisco ships every port disabled until you turn it on. Both are expected on a new router. The Embedded-Service-Engine line is an internal port you'll never use; ignore it. This is the single most useful command in IOS, and sh ip int br is how everyone types it.
show running-config
This is the router's entire configuration as a text file, and it's the most important idea in Cisco: the config is just the list of commands that were typed. Every line you see here is something you could type yourself at the (config)# prompt, and every command you type shows up here. There's no hidden state. If you can read this file, you know exactly what the router is doing.
Five lines. They give the router a name, put a password on enable, and fix the two things that annoy every beginner. Type them at the prompt in order; the comments explain each one.
! go to configuration mode configure terminal ! 1. name the router — the prompt changes immediately hostname R1 ! 2. password for the enable command (pick your own) enable secret MyLabPassword ! 3. stop the router trying to look up typos as hostnames (see below) no ip domain-lookup ! 4. stop log messages breaking up the line you're typing on the console line console 0 logging synchronous exit ! back to # end
Notice the prompt changed to R1 the instant you pressed Enter on hostname, and changed again to (config-line)# when you went into the console line. Cisco applies every command immediately — there's no “apply” button. That's convenient and also the reason for the next section.
Make a typo at the # prompt — say shw version — and instead of an error the router assumes you're trying to connect to a computer called “shw” and spends a minute trying to look it up: Translating "shw"...domain server (255.255.255.255). Line 3 turns that off. If you're already stuck in it, the escape is Ctrl-Shift-6, which is the general “stop what you're doing” key on Cisco.
Right now the changes you made live in RAM. Power off the router and they're gone. There are two configs:
So the last step of every session is to copy one to the other:
copy running-config startup-config
Press Enter at the filename question to accept the default. write memory (or just wr) does exactly the same thing in fewer keystrokes, and it's what you'll see most people type. Now reboot to prove it stuck: reload, confirm with Enter, and after the boot you should land at R1> — and enable should ask for your password.
You spent an hour configuring a router, it worked perfectly, then the power flickered and every setting vanished. Explain to a friend what happened and the one habit that would have prevented it.
The router keeps two copies of its settings: the one it's using right now, which lives in memory and disappears when the power goes, and the saved one on its flash storage, which it reads when it boots. Typing a command only changes the memory copy. Nothing you did was ever written to storage, so when the power came back the router loaded the old saved copy — empty. The habit is write memory before you walk away, the same way you press Save in a document. Cisco doesn't autosave, and that's on purpose: if a change breaks something, a reboot undoes it.
Almost every first-day problem is one of these.
ls command again with the cable out and in.screen session.▒░▓•ÿ˜The speed is wrong. The router talks at 9600; check your terminal is set to the same. A second-hand router occasionally has its console set to 115200 by the previous owner — try that if 9600 gives noise.
% Invalid input detected at '^' marker.A typo. The ^ sits under the exact character IOS gave up at. Look there. Use ? to check the spelling.
% Ambiguous command: "s"You abbreviated too far — several commands start with those letters. Add another letter or two. s? shows the candidates.
% Incomplete command.The command is spelled right but needs more after it. Type it again with a space and ? to see what.
Press Ctrl-Shift-6. Then add no ip domain-lookup from Step 09 so it never happens again.
A second-hand router with the old owner's config. There's no reset button on a 1921, but there is a standard ten-minute procedure that gets you in without the password — it's the second half of Step 12.
You can connect to the router, move between the three prompts, read its configuration, change it, and save it. That's the foundation every other Cisco page on this site builds on — none of them will explain the console cable or conf t again.
The full build: give the router an address, turn on the ports, add a switch, and get DHCP and Internet access working.
The cheat sheet. Every command from this page and the ones you'll meet next, grouped by what they do.
There is no reset button on a 1921 — no paperclip hole, no “hold for ten seconds.” A reset is a command, and which command depends on one question: can you get to the # prompt? If yes, it's two lines. If a password is in the way, it's a slightly longer procedure that every Cisco admin learns eventually. Both are below.
Remember from Step 09 that the router keeps two configs. A factory reset is just deleting the saved one and rebooting, so the router comes up with nothing — exactly like the first boot in Step 06.
enable write erase reload
Two prompts to get right. Press Enter at [confirm] to go ahead with the erase. Then, when reload asks whether to save the modified configuration, answer no — saying yes writes the running config straight back into the file you just erased, and you're back where you started. Press Enter once more to confirm the reload. Two or three minutes later you'll see the initial configuration dialog question from Step 06, which is how you know it worked.
erase startup-config does exactly what write erase does; you'll see both in tutorials. Neither touches the IOS software itself or anything on the flash card — only the saved configuration. You can't break the router this way.
If enable asks for a password you don't have, you can't type write erase. The way round it is to make the router boot without reading its saved config, using the configuration register — that 0x2102 value on the last line of show version. Setting it to 0x2142 tells the router to skip the startup-config on boot, so you land at a passwordless prompt. You need the console cable for this; it can't be done over the network, which is the point.
rommon 1 > prompt. That's the router's bare-metal boot loader, and it's the only place the register can be changed without a password. If you missed the window and the router booted all the way, just power-cycle and try again — you have about 60 seconds.confreg 0x2142 reset
The router boots normally but ignores its saved config, so it ends at the setup-dialog question. Answer no, press Enter until you get Router>, and enable now works with no password. From here you choose:
enable write erase configure terminal config-register 0x2102 end reload
enable copy startup-config running-config configure terminal enable secret MyLabPassword config-register 0x2102 end write memory
Option 2 is for when the previous config is worth keeping — copy startup-config running-config loads it back into memory (note the direction: the reverse of saving), you overwrite the one password you don't know, and save. Every interface in the loaded config comes back shut down, so if you keep it, check show ip interface brief and no shutdown the ones you need.
Both options include config-register 0x2102, and it's the line people skip. Leave the register at 0x2142 and the router will ignore its saved config on every boot from now on — which looks exactly like “my write memory isn't working.” If a router ever seems to forget everything on reboot, run show version and read the last line before anything else.
Password recovery needs the console cable and physical access to the power switch. Explain in plain words why Cisco built it that way instead of a “forgot password” option over the network.
If you could reset the password over the network, so could anyone else who reached the router — the password would be protecting nothing. So Cisco made the rule physical: you have to be standing next to the box, holding a cable plugged into it, and able to turn it off and on. Anyone who can do that could just unplug the router anyway, so nothing is lost by letting them in. It's the same logic as a house key: the lock stops strangers at the door, not the person already inside the room.