Cisco IOS routers and switches use a configuration register for some specific settings. These are settings that are not stored in the startup or running configuration.
There are 16 bits (4 hexadecimal digits) reserved for the configuration register. The two most popular things we can do with the configuration register are:
- Changing the baud rate from 9600 to something else.
- Telling the router to ignore the NVRAM during startup so that we can do a password recovery.
Let’s take a look at the default setting of the configuration register:
R1#show version | include register
Configuration register is 0x2102
The default value is 0x2102, what does this mean? Let’s break it down:
Hexadecimal | 2 | 1 | 0 | 2 |
Binary | 0010 | 0001 | 0000 | 0010 |
Bit Number | 15 14 13 12 | 11 10 9 8 | 7 6 5 4 | 3 2 1 0 |
The 0x part means that we are looking at hexadecimal characters. 2102 is the default setting that tells the router to use a console speed of 9600 baud and to load the Cisco IOS image from flash memory.
How do we know this? You will have to check the Cisco documentation.There you can find the most common settings but also an explanation of what each bit does. We can see that:
- bit 13 tells the router to boot the default ROM software if network boot fails.
- bit 8 disables break.
- bit 1 tells the router to boot the first system image in onboard flash memory.
Bit 5, 11 and 12 are used to change the baud rate. If you don’t touch these settings then the default will be 9600 baud.
If you want to do a password recovery then we will have to tell the router to ignore the content of the NVRAM (that’s where the startup config is). We do this by enabling bit 6:
Hexadecimal | 2 | 1 | 4 | 2 |
Binary | 0010 | 0001 | 0100 | 0010 |
Bit Number | 15 14 13 12 | 11 10 9 8 | 7 6 5 4 | 3 2 1 0 |
We will get hexadecimal value 0x2142.
How do we configure this on a router or switch? You can do this in the running-configuration:
R1#configure terminal
R1(config)#config-register ?
<0x0-0xFFFF> Config register number
R1(config)#config-register 0x2142
Just type the hexadecimal value you want to use.
We can verify our work with the show version command:
R1#show version | include register
Configuration register is 0x2102 (will be 0x2142 at next reload)
Make sure you reload the router or switch. You can also change the configuration register from rommon:
rommon 1> confreg 0x2142
That’s all there is to it.
Conclusion
You have now learned how the Cisco IOS configuration register works and how to configure it.
Hi Rene,
what is the default value of Configuration register 2101 or 2102 ?? I am little bit confused that you have write here .Thx
br//zaman
Hello Mohammad
You are correct. 2102 is the default value for most Cisco platforms. I will let @ReneMolenaar know to fix the typo.
Thanks again!
Laz
It’s fixed, sorry for the confusion!
Hello Ahmed
You can go to Cisco’s Packet Tracer site, sign up to a free Cisco packet tracer course, and download the software for free.
As for Rene’s books, for the time being, he has all the CCNA 200-301 lessons at the following link:
https://networklessons.com/cisco/ccna-200-301
He can will let you know if there will also be a book coming out for CCNA 200-301.
I hope this has been helpful!
Laz
Hello Ahmed,
At the moment I don’t have any plans to release new books. For now, I focus completely on https://networklessons.com.
Rene