Upgrading a Catalyst 9000 Chassis Switch

The Catalyst 9606R – photo by A.J. Murray

So, recall, early last year I was invited out to Cisco to participate in a special event – Influencer Immersion Day – where a bunch of YouTubers, Bloggers, and other influencer types were at Cisco HQ in San Jose for the announcement of the WiFi6 AP’s and the Catalyst 9606R Switch! Since that event I finally got my hands on one (well four) of these beautiful switches in the wild!

My previous article on upgrading IOS on Cat9K switches was, and continues to be, a big hit, so I thought I’d go ahead and write one up for the same procedure on a chassis. I also sprinkle in some notes specific to the 9606R that I learned along the way.

The Code

Whenever I’m deploying new gear I have two main schools of thought when picking which version of code to deploy. First, I check with the customer to see if they have a preference. For example, in a new WAN site deployment they may prefer that the code running on the new router matches the code on the previously deployed routers. This might be to avoid any caveats that may result from running differing versions of code, for example. The other is to deploy the latest Gold star, and as I’ve talked about in previous posts relating to software the gold star is the version deemed by Cisco to be the latest and most stable version available. At the time of this writing, for the 9606R, it is Gibraltar – 16.12.1(ED).

However, this is the latest switch in the Catalyst 9000 family. The 9606R has 3 line card options available:

  • C9600-LC-24C – 24 ports that operate at 10GE or 40GE, or 12 ports at 100GE
  • C9600-LC-48YL – 48 ports that operate at line rate of 1, 10, or 25GE. That’s right all 48 ports will operate at a line speed of 25GE!
  • C9600-LC-48TX – 48 copper ports (RJ-45) that operate at speeds of 10M/100M/1G/2.5G/5G/10G.

The C9600-LC-48TX was not available at launch, so if your deployment is utilizing these line cards you’ll have to use Amsterdam-17.1.1(ED) or newer!

This OS is larger than what you might be used to, if you’ve been doing IOS upgrades for a while. 16.12.1 is 772.67MB is size, so I highly recommend using a USB drive to copy the files over, it’ll be MUCH faster than trying to do it over the wire.

When you’re going to use a USB drive don’t go and grab the largest one you can find. Catalyst and Nexus switches are happiest when using smaller flash drives formatted with FAT. I’m sure you’ve got 100 small flash drives from vendor shows in your desk that have just been waiting for this day!

Image result for desk drawer full of USB drives

Line Card Installation

Line card slots are numbered 1-6 from top to bottom. The Supervisor cards are dedicated to slots 3 and 4. Photo – A.J. Murray, NoBlinkyBlinky

Presumably the line cards arrived pre-install in your chassis but if they didn’t you should know that the line cards have to be installed in specific slots, they are not interchangeable with the Supervisor card slots. This is because the Sup cards utilize a different connector to interface with the chassis backplane.

A look at the 9600 Chassis Supervisor card! Photo by A.J. Murray – NoBlinkyBlinky

The upgrade!

Okay – This is an extremely easy process. With just a few commands you can copy the code over to the supervisor, which’ll then get copied over and installed to the standby supervisor as well. Cisco makes this process extremely easy in the IOS-XE code compared to this same process on older versions of IOS and older platforms.

With the USB drive plugged into the active supervisor card copy the IOS file over.

To address the USB device use usbdrive0 (or 1 depending on the slot your USB drive landed in) and copy the new IOS file over to the chassis flash.

Switch#copy usbflash0: flash:
Source filename?: cat9k_iosxe.16.12.01.SPA.bin
Destination filename [cat9k_iosxe.16.12.01.SPA.bin]?
810207530 bytes copied in 78.963 secs (10260597 bytes/sec)

Next, we’ll install the new IOS and activate it. Cisco IOS-XE is a lot more OS than previous versions of IOS. When you install the software there is a lot going on in the background that’s not shown in output on screen. Like an update to Windows, Linux, or Mac files are getting updated and/or replaced to make room for new features, security patches, bug fixes, and other enhancements.

You’ll use the Install command to install the new file. Monitor the output as the install progresses.

Switch#install add file flash:cat9k_iosxe.16.12.01.SPA.bin activate commit
install_add_activate_commit: START Tue Jan 7 20:33:02 UTC 2020
install_add_activate_commit: Adding PACKAGE
--- Starting initial file syncing ---
Copying image file: flash:cat9k_iosxe.16.12.01.SPA.bin to standby
Info: Finished copying flash:cat9k_iosxe.16.12.01.SPA.bin to standby
Finished initial file syncing

--- Starting Add ---
Performing Add on Active/Standby
  [R0] Add package(s) on R0
  [R0] Finished Add on R0
  [R1] Add package(s) on R1
  [R1] Finished Add on R1
Checking status of Add on [R0 R1]
Add: Passed on [R0 R1]
Finished Add

Image added. Version:
install_add_activate_commit: Activating PACKAGE
Following packages shall be activated:

After the file has been successfully installed you’ll be prompted to restart. Press Y for Yes and to continue.

This operation may require a reload of the system. Do you want to proceed? [y/n]y
--- Starting Activate ---Performing Activate on Active/Standby  [R0] Activate package(s) on R0    --- Starting list of software package changes ---    Old files list:      Removed cat9k-cc_srdriver.16.11.01.SPA.pkg      Removed cat9k-espbase.16.11.01.SPA.pkg      Removed cat9k-guestshell.16.11.01.SPA.pkg      Removed cat9k-rpbase.16.11.01.SPA.pkg      Removed cat9k-rpboot.16.11.01.SPA.pkg      Removed cat9k-sipbase.16.11.01.SPA.pkg      Removed cat9k-sipspa.16.11.01.SPA.pkg      Removed cat9k-srdriver.16.11.01.SPA.pkg      Removed cat9k-webui.16.11.01.SPA.pkg      Removed cat9k-wlc.16.11.01.SPA.pkg    New files list:      Added cat9k-cc_srdriver.16.12.01.SPA.pkg      Added cat9k-espbase.16.12.01.SPA.pkg      Added cat9k-guestshell.16.12.01.SPA.pkg      Added cat9k-rpbase.16.12.01.SPA.pkg      Added cat9k-rpboot.16.12.01.SPA.pkg      Added cat9k-sipbase.16.12.01.SPA.pkg      Added cat9k-sipspa.16.12.01.SPA.pkg      Added cat9k-srdriver.16.12.01.SPA.pkg      Added cat9k-webui.16.12.01.SPA.pkg      Added cat9k-wlc.16.12.01.SPA.pkg    Finished list of software package changes  [R0] Finished Activate on R0  [R1] Activate package(s) on R1    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.16.11.01.SPA.pkg
      Removed cat9k-espbase.16.11.01.SPA.pkg
      Removed cat9k-guestshell.16.11.01.SPA.pkg
      Removed cat9k-rpbase.16.11.01.SPA.pkg
      Removed cat9k-rpboot.16.11.01.SPA.pkg
      Removed cat9k-sipbase.16.11.01.SPA.pkg
      Removed cat9k-sipspa.16.11.01.SPA.pkg
      Removed cat9k-srdriver.16.11.01.SPA.pkg
      Removed cat9k-webui.16.11.01.SPA.pkg
      Removed cat9k-wlc.16.11.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.16.12.01.SPA.pkg
      Added cat9k-espbase.16.12.01.SPA.pkg
      Added cat9k-guestshell.16.12.01.SPA.pkg
      Added cat9k-rpbase.16.12.01.SPA.pkg
      Added cat9k-rpboot.16.12.01.SPA.pkg
      Added cat9k-sipbase.16.12.01.SPA.pkg
      Added cat9k-sipspa.16.12.01.SPA.pkg
      Added cat9k-srdriver.16.12.01.SPA.pkg
      Added cat9k-webui.16.12.01.SPA.pkg
      Added cat9k-wlc.16.12.01.SPA.pkg
    Finished list of software package changes
  [R1] Finished Activate on R1Checking status of Activate on [R0 R1]Activate: Passed on [R0 R1]Finished Activate
--- Starting Commit ---Performing Commit on Active/Standby  [R0] Commit package(s) on R0  [R0] Finished Commit on R0  [R1] Commit package(s) on R1  [R1] Finished Commit on R1Checking status of Commit on [R0 R1]Commit: Passed on [R0 R1]Finished Commit
/usr/binos/conf/install_util.sh: line 594: /bootflash/.installer/install_add_pkg_list.txt: No such file or directoryInstall will reload the system now!SUCCESS: install_add_activate_commit  Tue Jan  7 20:53:25 UTC 2020Switch#Jan  7 20:53:38.388
Initializing Hardware...
Initializing Hardware......

Wait for the system to finish booting. If you catch it during bootup you may be able to confirm that the upgrade was successful. Otherwise do a show version.

Switch#show ver
Cisco IOS XE Software, Version 16.12.01Cisco IOS Software [Gibraltar], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 16.12.1, RELEASE SOFTWARE (fc4)Technical Support: http://www.cisco.com/techsupportCopyright (c) 1986-2019 by Cisco Systems, Inc.Compiled Tue 30-Jul-19 19:26 by mcpre

And that’s it, you now have a freshly upgraded switch! You can clean up the installed files from the version that was previously installed using the “install deactivate <filename.>” command. For additional information check out the 16.12 software guide for the Catalyst 9600 series here.

5 thoughts

  1. thank you for this awsome article.
    I am just get confused because Cisco says that Quad Sup will be support from version 17.2.1, otherwise the Second SUP will be OFF, which is not the same as display in images above.
    Am I missing somthing?
    what is the version that this chassis comes up with?


      1. Thank you for your reply.
        Our setup involve Quad-SUP with stackwise, in this case upgrade both chassis to version 17.2.1 than configure stackwise virtual between both chassis.


  2. Hey ! Nice post ! would you post a small variation? adding the proper way to do a scheduled upgrade. If you have the info just to know if I can set the time to reboot to proceed with the upgrade. This is really useful for production networks with limited MW. thanks !


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s