Upgrading the Switch Software

Finding the Software Version

The package files for the Cisco IOS XE software are stored on the system board flash device (flash:).

You can use the show version privileged EXEC command to see the software version that is running on your switch.


Note


Although the show version output always shows the software image running on the switch, the model name shown at the end of this display is the factory configuration and does not change if you upgrade the software license.

You can also use the dir filesystem: privileged EXEC command to see the directory names of other software images that you might have stored in flash memory.

Software Images

Release

Image Type

File Name

Cisco IOS XE Dublin 17.10.1

CAT9K_IOSXE

cat9k_iosxe.17.10.01.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.10.01.SPA.bin

Upgrading the ROMMON

To know the ROMMON or bootloader version that applies to every major and maintenance release, see ROMMON Versions.

You can upgrade the ROMMON before, or, after upgrading the software version. If a new ROMMON version is available for the software version you are upgrading to, proceed as follows:

  • Upgrading the ROMMON in the primary SPI flash device

    This ROMMON is upgraded automatically. When you upgrade from an existing release on your switch to a later or newer release for the first time, and there is a new ROMMON version in the new release, the system automatically upgrades the ROMMON in the primary SPI flash device, based on the hardware version of the switch.

  • Upgrading the ROMMON in the golden SPI flash device

    You must manually upgrade this ROMMON. Enter the upgrade rom-monitor capsule golden switch command in privileged EXEC mode.


    Note


    • In case of a switch stack, perform the upgrade on the active switch and all members of the stack.


After the ROMMON is upgraded, it will take effect on the next reload. If you go back to an older release after this, the ROMMON is not downgraded. The updated ROMMON supports all previous releases.

Software Installation Commands

Summary of Software Installation Commands

Supported starting from Cisco IOS XE Everest 16.6.2 and later releases

To install and activate the specified file, and to commit changes to be persistent across reloads:

install add file filename [ activate commit]

To separately install, activate, commit, cancel, or remove the installation file: install ?

add file tftp: filename

Copies the install file package from a remote location to the device and performs a compatibility check for the platform and image versions.

activate [ auto-abort-timer]

Activates the file, and reloads the device. The auto-abort-timer keyword automatically rolls back image activation.

commit

Makes changes persistent over reloads.

rollback to committed

Rolls back the update to the last committed version.

abort

Cancels file activation, and rolls back to the version that was running before the current installation procedure started.

remove

Deletes all unused and inactive software installation files.


Note


The request platform software commands are deprecated starting from Cisco IOS XE Gibraltar 16.10.1. The commands are visible on the CLI in this release and you can configure them, but we recommend that you use the install commands to upgrade or downgrade.

Summary of request platform software Commands

Device# request platform software package ?

clean

Cleans unnecessary package files from media

copy

Copies package to media

describe

Describes package content

expand

Expands all-in-one package to media

install

Installs the package

uninstall

Uninstalls the package

verify

Verifies In Service Software Upgrade (ISSU) software package compatibility

Upgrading in Install Mode

Follow these instructions to upgrade from one release to another, in install mode. To perform a software image upgrade, you must be booted into IOS through boot flash:packages.conf .

Before you begin

Note that you can use this procedure for the following upgrade scenarios:

When upgrading from ...

Use these commands...

To upgrade to...

Cisco IOS XE Everest 16.5.1a or Cisco IOS XE Everest 16.6.1

Only request platform software commands

Cisco IOS XE Dublin 17.10.x

Cisco IOS XE Everest 16.6.2 and all later releases

Either install commands or request platform software commands1.

1 The request platform software commands are deprecated. So although they are still visible on the CLI, we recommend that you use install commands.

The sample output in this section displays upgrade from Cisco IOS XE Cupertino 17.9.1 to Cisco IOS XE Dublin 17.10.1 using install commands only.

Procedure


Step 1

Clean-up

install remove inactive

Use this command to clean-up old installation files in case of insufficient space and to ensure that you have at least 1GB of space in flash, to expand a new image.

The following sample output displays the cleaning up of unused files, by using the install remove inactive command:
Switch# install remove inactive

install_remove: START Mon Nov 14 19:51:48 PDT 2022
Cleaning up unnecessary package files
Scanning boot directory for packages ... done.
Preparing packages list to delete ...
    cat9k-cc_srdriver.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-espbase.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-guestshell.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-rpbase.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-rpboot.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-sipbase.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-sipspa.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-srdriver.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-webui.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k-wlc.17.09.01.SPA.pkg
      File is in use, will not delete.
    packages.conf
      File is in use, will not delete.
  done.
The following files will be deleted:
[switch 1]:
/flash/cat9k-cc_srdriver.17.09.01.SPA.pkg
/flash/cat9k-espbase.17.09.01.SPA.pkg
/flash/cat9k-guestshell.17.09.01.SPA.pkg
/flash/cat9k-rpbase.17.09.01.SPA.pkg
/flash/cat9k-rpboot.17.09.01.SPA.pkg
/flash/cat9k-sipbase.17.09.01.SPA.pkg
/flash/cat9k-sipspa.17.09.01.SPA.pkg
/flash/cat9k-srdriver.17.09.01.SPA.pkg
/flash/cat9k-webui.17.09.01.SPA.pkg
/flash/cat9k-wlc.17.09.01.SPA.pkg
/flash/packages.conf

Do you want to remove the above files? [y/n]y

[switch 1]:
Deleting file flash:cat9k-cc_srdriver.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-espbase.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-guestshell.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-rpbase.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-rpboot.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-sipbase.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-sipspa.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-srdriver.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-webui.17.09.01.SPA.pkg ... done.
Deleting file flash:cat9k-wlc.17.09.01.SPA.pkg ... done.
Deleting file flash:packages.conf ... done.
SUCCESS: Files deleted.
--- Starting Post_Remove_Cleanup ---
Performing Post_Remove_Cleanup on all members
[1] Post_Remove_Cleanup package(s) on switch 1
[1] Finished Post_Remove_Cleanup on switch 1
Checking status of Post_Remove_Cleanup on [1]
Post_Remove_Cleanup: Passed on [1]
Finished Post_Remove_Cleanup
 
SUCCESS: install_remove Mon Nov 14 19:52:25 PDT 2022
Switch#
<output truncated>

Step 2

Copy new image to flash

  1. copy tftp:[[//location]/directory]/filenameflash:

    Use this command to copy the new image from a TFTP server to flash memory. The location is either an IP address or a host name. The filename is specified relative to the directory used for file transfers. Skip this step if you want to use the new image from a TFTP server.
    Switch# copy tftp://10.8.0.6/image/cat9k_iosxe.17.10.01.SPA.bin flash:
    destination filename [cat9k_iosxe.17.10.01.SPA.bin]?
    Accessing tftp://10.8.0.6/image/cat9k_iosxe.17.10.01.SPA.bin...
    Loading /cat9k_iosxe.17.10.01.SPA.bin from 10.8.0.6 (via GigabitEthernet0/0): 
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [OK - 601216545 bytes]
     
    601216545 bytes copied in 50.649 secs (11870255 bytes/sec)
    
     
  2. dir flash:

    Use this command to confirm that the image has been successfully copied to flash.
    Switch# dir flash:*.bin
    Directory of flash:/*.bin
     
    Directory of flash:/
     
    434184 -rw- 601216545    Nov 14 2022 10:18:11 -07:00 cat9k_iosxe.17.10.01.SPA.bin
    11353194496 bytes total (8976625664 bytes free)
    
    

Step 3

Set boot variable

  1. no boot system

    Use this command to reset the boot variable. This command removes the startup system image specification. Otherwise, the switch may boot a previously configured boot image.

    Switch(config)# no boot system
    
  2. boot system flash:packages.conf

    Use this command to set the boot variable to flash:packages.conf .
    Switch(config)# boot system flash:packages.conf
    
  3. no boot manual

    Use this command to configure the switch to auto-boot.
    Switch(config)# no boot manual
    Switch(config)# exit
  4. write memory

    Use this command to save boot settings.
    Switch# write memory
  5. show boot

    Use this command to verify the boot variable (packages.conf) and manual boot setting (no):
    Switch# show boot            
    Current Boot Variables:
    BOOT variable = flash:packages.conf;
    
    Boot Variables on next reload:
    BOOT variable = flash:packages.conf;
    Manual Boot = no
    Enable Break = yes
    Boot Mode = DEVICE
    iPXE Timeout = 0 

Step 4

Install image to flash

install add file activate commit

Use this command to install the image.

We recommend that you point to the source image on your TFTP server or the flash drive of the active switch, if you have copied the image to flash memory. If you point to an image on the flash or USB drive of a member switch (instead of the active), you must specify the exact flash or USB drive - otherwise installation fails. For example, if the image is on the flash drive of member switch 3 (flash-3): Switch# install add file flash-3:cat9k_iosxe.17.10.01.SPA.bin activate commit.

The following sample output displays installation of the Cisco IOS XE Dublin 17.10.1 software image in the flash memory:
Switch# install add file flash:cat9k_iosxe.17.10.01.SPA.bin activate commit

install_add_activate_commit: START Mon Nov 14 15:37:20 PDT 2022
install_add_activate_commit: Adding PACKAGE
install_add_activate_commit: Checking whether new add is allowed ....

--- Starting initial file syncing ---
[2]: Copying flash:cat9k_iosxe.17.10.01.SPA.bin from switch 2 to switch 1 3 4
[1 3 4]: Finished copying to switch 1 switch 3 switch 4  
Info: Finished copying flash:cat9k_iosxe.17.10.01.SPA.bin to the selected switch(es)
Finished initial file syncing

--- Starting Add ---
Performing Add on all members
  [1] Add package(s) on switch 1
  [1] Finished Add on switch 1
  [2] Add package(s) on switch 2
  [2] Finished Add on switch 2
  [3] Add package(s) on switch 3
  [3] Finished Add on switch 3
  [4] Add package(s) on switch 4
  [4] Finished Add on switch 4
Checking status of Add on [1 2 3 4]
Add: Passed on [1 2 3 4]
Finished Add

Image added. Version: 17.10.01
install_add_activate_commit: Activating PACKAGE
Following packages shall be activated:
/flash/cat9k-wlc.17.10.01.SPA.pkg
/flash/cat9k-webui.17.10.01.SPA.pkg
/flash/cat9k-srdriver.17.10.01.SPA.pkg
/flash/cat9k-sipspa.17.10.01.SPA.pkg
/flash/cat9k-sipbase.17.10.01.SPA.pkg
/flash/cat9k-rpboot.17.10.01.SPA.pkg
/flash/cat9k-rpbase.17.10.01.SPA.pkg
/flash/cat9k-lni.17.10.01.SPA.pkg
/flash/cat9k-guestshell.17.10.01.SPA.pkg
/flash/cat9k-espbase.17.10.01.SPA.pkg
/flash/cat9k-cc_srdriver.17.10.01.SPA.pkg
--- Starting Activate ---
Performing Activate on all members
  [1] Activate package(s) on switch 1
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.09.01.SPA.pkg
      Removed cat9k-espbase.17.09.01.SPA.pkg
      Removed cat9k-guestshell.17.09.01.SPA.pkg
      Removed cat9k-rpbase.17.09.01.SPA.pkg
      Removed cat9k-rpboot.17.09.01.SPA.pkg
      Removed cat9k-sipbase.17.09.01.SPA.pkg
      Removed cat9k-sipspa.17.09.01.SPA.pkg
      Removed cat9k-srdriver.17.09.01.SPA.pkg
      Removed cat9k-webui.17.09.01.SPA.pkg
      Removed cat9k-wlc.17.09.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.10.01.SPA.pkg
      Added cat9k-espbase.17.10.01.SPA.pkg
      Added cat9k-guestshell.17.10.01.SPA.pkg
      Added cat9k-lni.17.10.01.SPA.pkg
      Added cat9k-rpbase.17.10.01.SPA.pkg
      Added cat9k-rpboot.17.10.01.SPA.pkg
      Added cat9k-sipbase.17.10.01.SPA.pkg
      Added cat9k-sipspa.17.10.01.SPA.pkg
      Added cat9k-srdriver.17.10.01.SPA.pkg
      Added cat9k-webui.17.10.01.SPA.pkg
      Added cat9k-wlc.17.10.01.SPA.pkg
    Finished list of software package changes
  [1] Finished Activate on switch 1
  [2] Activate package(s) on switch 2
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.09.01.SPA.pkg
      Removed cat9k-espbase.17.09.01.SPA.pkg
      Removed cat9k-guestshell.17.09.01.SPA.pkg
      Removed cat9k-rpbase.17.09.01.SPA.pkg
      Removed cat9k-rpboot.17.09.01.SPA.pkg
      Removed cat9k-sipbase.17.09.01.SPA.pkg
      Removed cat9k-sipspa.17.09.01.SPA.pkg
      Removed cat9k-srdriver.17.09.01.SPA.pkg
      Removed cat9k-webui.17.09.01.SPA.pkg
      Removed cat9k-wlc.17.09.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.10.01.SPA.pkg
      Added cat9k-espbase.17.10.01.SPA.pkg
      Added cat9k-guestshell.17.10.01.SPA.pkg
      Added cat9k-lni.17.10.01.SPA.pkg
      Added cat9k-rpbase.17.10.01.SPA.pkg
      Added cat9k-rpboot.17.10.01.SPA.pkg
      Added cat9k-sipbase.17.10.01.SPA.pkg
      Added cat9k-sipspa.17.10.01.SPA.pkg
      Added cat9k-srdriver.17.10.01.SPA.pkg
      Added cat9k-webui.17.10.01.SPA.pkg
      Added cat9k-wlc.17.10.01.SPA.pkg
    Finished list of software package changes
  [2] Finished Activate on switch 2
  [3] Activate package(s) on switch 3
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.09.01.SPA.pkg
      Removed cat9k-espbase.17.09.01.SPA.pkg
      Removed cat9k-guestshell.17.09.01.SPA.pkg
      Removed cat9k-rpbase.17.09.01.SPA.pkg
      Removed cat9k-rpboot.17.09.01.SPA.pkg
      Removed cat9k-sipbase.17.09.01.SPA.pkg
      Removed cat9k-sipspa.17.09.01.SPA.pkg
      Removed cat9k-srdriver.17.09.01.SPA.pkg
      Removed cat9k-webui.17.09.01.SPA.pkg
      Removed cat9k-wlc.17.09.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.10.01.SPA.pkg
      Added cat9k-espbase.17.10.01.SPA.pkg
      Added cat9k-guestshell.17.10.01.SPA.pkg
      Added cat9k-lni.17.10.01.SPA.pkg
      Added cat9k-rpbase.17.10.01.SPA.pkg
      Added cat9k-rpboot.17.10.01.SPA.pkg
      Added cat9k-sipbase.17.10.01.SPA.pkg
      Added cat9k-sipspa.17.10.01.SPA.pkg
      Added cat9k-srdriver.17.10.01.SPA.pkg
      Added cat9k-webui.17.10.01.SPA.pkg
      Added cat9k-wlc.17.10.01.SPA.pkg
    Finished list of software package changes
  [3] Finished Activate on switch 3
  [4] Activate package(s) on switch 4
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.09.01.SPA.pkg
      Removed cat9k-espbase.17.09.01.SPA.pkg
      Removed cat9k-guestshell.17.09.01.SPA.pkg
      Removed cat9k-rpbase.17.09.01.SPA.pkg
      Removed cat9k-rpboot.17.09.01.SPA.pkg
      Removed cat9k-sipbase.17.09.01.SPA.pkg
      Removed cat9k-sipspa.17.09.01.SPA.pkg
      Removed cat9k-srdriver.17.09.01.SPA.pkg
      Removed cat9k-webui.17.09.01.SPA.pkg
      Removed cat9k-wlc.17.09.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.10.01.SPA.pkg
      Added cat9k-espbase.17.10.01.SPA.pkg
      Added cat9k-guestshell.17.10.01.SPA.pkg
      Added cat9k-lni.17.10.01.SPA.pkg
      Added cat9k-rpbase.17.10.01.SPA.pkg
      Added cat9k-rpboot.17.10.01.SPA.pkg
      Added cat9k-sipbase.17.10.01.SPA.pkg
      Added cat9k-sipspa.17.10.01.SPA.pkg
      Added cat9k-srdriver.17.10.01.SPA.pkg
      Added cat9k-webui.17.10.01.SPA.pkg
      Added cat9k-wlc.17.10.01.SPA.pkg
    Finished list of software package changes
  [4] Finished Activate on switch 4
Checking status of Activate on [1 2 3 4]
Activate: Passed on [1 2 3 4]
Finished Activate
--- Starting Commit ---
Performing Commit on all members
  [1] Commit package(s) on switch 1
  [1] Finished Commit on switch 1
  [2] Commit package(s) on switch 2
  [2] Finished Commit on switch 2
  [3] Commit package(s) on switch 3
  [3] Finished Commit on switch 3
  [4] Commit package(s) on switch 4
  [4] Finished Commit on switch 4
Checking status of Commit on [1 2 3 4]
Commit: Passed on [1 2 3 4]
Finished Commit

Send model notification for install_add_activate_commit before reload
[1 2 3 4]: Performing Upgrade_Service

*Nov 14 15:47:28.095: %IOSXEBOOT-4-BOOTLOADER_UPGRADE: (local/local): Starting boot preupgrade
300+0 records in
300+0 records out
307200 bytes (307 kB, 300 KiB) copied, 0.315817 s, 973 kB/s

AppGigabitEthernet port has the latest Firmware

MM [1] MCU version 191 sw ver 196
MM [2] MCU version 191 sw ver 196

Front-end Microcode IMG MGR: found 4 microcode images for 1 device.
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_0 update needed: no
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_1 update needed: yes
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_2 update needed: yes
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_3 update needed: no
Front-end Microcode IMG MGR: Preparing to program device microcode...
Front-end Microcode IMG MGR: Preparing to program device[0], index=0 ...594412 bytes.... Skipped[0].
Front-end Microcode IMG MGR: Preparing to program device[0], index=1 ...440976 bytes.
Front-end Microcode IMG MGR: Programming device 0...rwRrrrrrrw..
0%..................................................................................10%
  ..................................................................................20%
  ..................................................................................30%
  ..................................................................................40%
  ..................................................................................50%
  ..................................................................................60%
  ..................................................................................70%
  ..................................................................................80%
  ..................................................................................90%
  .................................................................................100%
Front-end Microcode IMG MGR: Preparing to program device[0], index=2 ...24506 bytes.
Front-end Microcode IMG MGR: Programming device 0...rrrrrrw..0%....10%....20%......30%...40%....50%......60%....70%.....80%....90%....100%w
Wating for MCU to come up .....Rr!
Front-end Microcode IMG MGR: Microcode programming complete for device 0.
Front-end Microcode IMG MGR: Preparing to program device[0], index=3 ...90974 bytes.... Skipped[3].
Front-end Microcode IMG MGR: Microcode programming complete in 298 seconds


MCU UPGRADE COMPLETED!!...  SUCCESS: Upgrade_Service finished
Install will reload the system now!
SUCCESS: install_add_activate_commit  Mon Nov 14 15:52:33 PDT 2022
Switch#
Chassis 2 reloading, reason - Reload command
Nov 14 15:52:36.588: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fp action requested
Nov 14 15:52:38.199: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: rp processes exit with reload switch code



Initializing Hardware......

System Bootstrap, Version 17.3.1r[FC2], RELEASE SOFTWARE (P)
Compiled Wed 11/09/2022 12:55:25.08 by rel

Current ROMMON image : Primary
Last reset cause     : SoftwareReload
C9300-48P platform with 8388608 Kbytes of main memory

Preparing to autoboot. [Press Ctrl-C to interrupt]  0     
boot: attempting to boot from [flash:packages.conf]
boot: reading file packages.conf
#########################################################################################################################################
#########################################################################################################################################


Waiting for 120 seconds for other switches to boot
##################################################################################################################
Switch number is 2
<output truncated>

Note

 
The system reloads automatically after executing the install add file activate commit command. You do not have to manually reload the system.

Step 5

Verify installation

After the software has been successfully installed, use the dir flash: command to verify that the flash partition has ten new .pkg files and two .conf files.

  1. dir flash:*.pkg

    The following is sample output of the dir flash:*.pkg command:
    Switch# dir flash:*.pkg
     
    Directory of flash:/
    75140 -rw- 2012104     Jul 17 2022 09:52:41 -07:00 cat9k-cc_srdriver.17.09.01.SPA.pkg
    475141 -rw- 70333380   Jul 17 2022 09:52:44 -07:00 cat9k-espbase.17.09.01.SPA.pkg
    475142 -rw- 13256      Jul 17 2022 09:52:44 -07:00 cat9k-guestshell.17.09.01.SPA.pkg
    475143 -rw- 349635524  Jul 17 2022 09:52:54 -07:00 cat9k-rpbase.17.09.01.SPA.pkg
    475149 -rw- 24248187   Jul 17 2022 09:53:02 -07:00 cat9k-rpboot.17.09.01.SPA.pkg
    475144 -rw- 25285572   Jul 17 2022 09:52:55 -07:00 cat9k-sipbase.17.09.01.SPA.pkg
    475145 -rw- 20947908   Jul 17 2022 09:52:55 -07:00 cat9k-sipspa.17.09.01.SPA.pkg
    475146 -rw- 2962372    Jul 17 2022 09:52:56 -07:00 cat9k-srdriver.17.09.01.SPA.pkg
    475147 -rw- 13284288   Jul 17 2022 09:52:56 -07:00 cat9k-webui.17.09.01.SPA.pkg
    475148 -rw- 13248      Jul 17 2022 09:52:56 -07:00 cat9k-wlc.17.09.01.SPA.pkg
    
    491524 -rw- 25711568   Nov 14 2022 11:49:33 -07:00 cat9k-cc_srdriver.17.10.01.SPA.pkg
    491525 -rw- 78484428   Nov 14 2022 11:49:35 -07:00 cat9k-espbase.17.10.01.SPA.pkg
    491526 -rw- 1598412    Nov 14 2022 11:49:35 -07:00 cat9k-guestshell.17.10.01.SPA.pkg
    491527 -rw- 404153288  Nov 14 2022 11:49:47 -07:00 cat9k-rpbase.17.10.01.SPA.pkg
    491533 -rw- 31657374   Nov 14 2022 11:50:09 -07:00 cat9k-rpboot.17.10.01.SPA.pkg
    491528 -rw- 27681740   Nov 14 2022 11:49:48 -07:00 cat9k-sipbase.17.10.01.SPA.pkg
    491529 -rw- 52224968   Nov 14 2022 11:49:49 -07:00 cat9k-sipspa.17.10.01.SPA.pkg
    491530 -rw- 31130572   Nov 14 2022 11:49:50 -07:00 cat9k-srdriver.17.10.01.SPA.pkg
    491531 -rw- 14783432   Nov 14 2022 11:49:51 -07:00 cat9k-webui.17.10.01.SPA.pkg
    491532 -rw- 9160       Nov 14 2022 11:49:51 -07:00 cat9k-wlc.17.10.01.SPA.pkg
    
    
    11353194496 bytes total (9544245248 bytes free)
    Switch#
    
    
  2. dir flash:*.conf

    The following is sample output of the dir flash:*.conf command. It displays the .conf files in the flash partition; note the two .conf files:

    • packages.conf—the file that has been re-written with the newly installed .pkg files

    • cat9k_iosxe.17.10.01.SPA.conf— a backup copy of the newly installed packages.conf file

    Switch# dir flash:*.conf
     
    Directory of flash:/*.conf
    Directory of flash:/
    
    434197 -rw- 7406 Nov 14 2022 10:59:16 -07:00 packages.conf
    516098 -rw- 7406 Nov 14 2022 10:58:08 -07:00 cat9k_iosxe.17.10.01.SPA.conf
    11353194496 bytes total (8963174400 bytes free)
     

Step 6

show version

After the image boots up, use this command to verify the version of the new image.

The following sample output of the show version command displays the Cisco IOS XE Dublin 17.10.1 image on the device:
Switch# show version
Cisco IOS XE Software, Version 17.10.01
Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.10.1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
<output truncated>

Downgrading in Install Mode

Follow these instructions to downgrade from one release to another, in install mode. To perform a software image downgrade, you must be booted into IOS through boot flash:packages.conf .

Before you begin

Note that you can use this procedure for the following downgrade scenarios:

When downgrading from ...

Use these commands...

To downgrade to...

Cisco IOS XE Dublin 17.10.x

Either install commands or request platform software command2.

Cisco IOS XE Cupertino 17.9.x or earlier releases.

2 The request platform software commands are deprecated. So although they are still visible on the CLI, we recommend that you use install commands.

Note


New switch models that are introduced in a release cannot be downgraded. The release in which a switch model is introduced is the minimum software version for that model.

The sample output in this section shows downgrade from Cisco IOS XE Dublin 17.10.1 to Cisco IOS XE Cupertino 17.9.1, using install commands.

Microcode Downgrade Prerequisite:

Starting from Cisco IOS XE Gibraltar 16.12.1, a new microcode is introduced to support IEEE 802.3bt Type 3 standard for UPOE switches in the series (C9300-24U, C9300-48U, C9300-24UX, C9300-48UXM, C9300-48UN). The new microcode is not backward-compatible with some releases, because of which you must also downgrade the microcode when you downgrade to one of these releases. If the microcode is not downgraded, PoE features will be impacted after the downgrade.

Depending on the release you are downgrading to and the commands you use to downgrade, review the table below for the action you may have to take:

When downgrading from ...

To one of These Releases

by Using...

Action For Microcode Downgrade

Cisco IOS XE Gibraltar 16.12.1 or a later release

Cisco IOS XE Everest 16.6.1 through Cisco IOS XE Everest 16.6.6

Cisco IOS XE Fuji 16.9.1 through Cisco IOS XE Fuji 16.9.2

install commands

Microcode will roll back automatically as part of the software installation. No further action is required.

request platform software commands or or bundle boot

Manually downgrade the microcode before downgrading the software image.

Enter the hw-module mcu rollback command in global configuration mode, to downgrade microcode.

Procedure


Step 1

Clean-up

install remove inactive

Use this command to clean-up old installation files in case of insufficient space and to ensure that you have at least 1GB of space in flash, to expand a new image.

The following sample output displays the cleaning up of unused files, by using the install remove inactive command:
Switch# install remove inactive
 
install_remove: START Mon Nov 07 19:51:48 PDT 2022
Cleaning up unnecessary package files
Scanning boot directory for packages ... done.
  Preparing packages list to delete ... 
    cat9k-cc_srdriver.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-espbase.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-guestshell.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-rpbase.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-rpboot.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-sipbase.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-sipspa.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-srdriver.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-webui.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-wlc.17.09.01.SSA.pkg
      File is in use, will not delete.
    packages.conf
      File is in use, will not delete.
  done.
SUCCESS: No extra package or provisioning files found on media. Nothing to clean.

SUCCESS: install_remove  Mon Nov 07 11:42:39 PDT 2022

Step 2

Copy new image to flash

  1. copy tftp:[[//location]/directory]/filenameflash:

    Use this command to copy the new image from a TFTP server to flash memory. The location is either an IP address or a host name. The filename is specified relative to the directory used for file transfers. Skip this step if you want to use the new image from a TFTP server.
    Switch# copy tftp://10.8.0.6/image/cat9k_iosxe.17.09.01.SPA.bin flash:
    Destination filename [cat9k_iosxe.17.09.01.SPA.bin]?
    Accessing tftp://10.8.0.6//cat9k_iosxe.17.09.01.SPA.bin...
    Loading /cat9k_iosxe.17.09.01.SPA.bin from 10.8.0.6 (via GigabitEthernet0/0): 
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [OK - 508584771 bytes]
    508584771 bytes copied in 101.005 secs (5035244 bytes/sec)
     
    
  2. dir flash:

    Use this command to confirm that the image has been successfully copied to flash.
    Switch# dir flash:*.bin
    Directory of flash:/*.bin
     
    Directory of flash:/
     
    434184 -rw- 508584771 Nov 07 2022 13:35:16 -07:00 cat9k_iosxe.17.09.01.SPA.bin
    11353194496 bytes total (9055866880 bytes free)
    
    

Step 3

Set boot variable

  1. boot system flash:packages.conf

    Use this command to set the boot variable to flash:packages.conf .
    Switch(config)# boot system flash:packages.conf
    
  2. no boot manual

    Use this command to configure the switch to auto-boot.
    Switch(config)# no boot manual
    Switch(config)# exit
  3. write memory

    Use this command to save boot settings.
    Switch# write memory
  4. show boot

    Use this command to verify the boot variable (packages.conf) and manual boot setting (no):
    Switch# show boot            
    Current Boot Variables:
    BOOT variable = flash:packages.conf;
    
    Boot Variables on next reload:
    BOOT variable = flash:packages.conf;
    Manual Boot = no
    Enable Break = yes
    Boot Mode = DEVICE
    iPXE Timeout = 0 

Step 4

Downgrade software image

install add file activate commit

Use this command to install the image.

We recommend that you point to the source image on your TFTP server or the flash drive of the active switch, if you have copied the image to flash memory. If you point to an image on the flash or USB drive of a member switch (instead of the active), you must specify the exact flash or USB drive - otherwise installation fails. For example, if the image is on the flash drive of member switch 3 (flash-3): Switch# install add file flash-3:cat9k_iosxe.17.09.01.SPA.bin activate commit.

The following example displays the installation of the Cisco IOS XE Cupertino 17.9.1 software image to flash, by using the install add file activate commit command.
Switch# install add file flash:cat9k_iosxe.17.09.01.SPA.bin activate commit
install_add_activate_commit: START Mon Nov 07 14:59:46 PDT 2022
install_add_activate_commit: Adding PACKAGE
install_add_activate_commit: Checking whether new add is allowed ....

--- Starting initial file syncing ---
[1]: Copying flash:cat9k_iosxe.17.09.01.SPA.bin from switch 1 to switch 2 3 4
[2 3 4]: Finished copying to switch 2 switch 3 switch 4  
Info: Finished copying flash:cat9k_iosxe.17.09.01.SPA.bin to the selected switch(es)
Finished initial file syncing

--- Starting Add ---
Performing Add on all members
^[[A  [1] Add package(s) on switch 1
  [1] Finished Add on switch 1
  [2] Add package(s) on switch 2
  [2] Finished Add on switch 2
  [3] Add package(s) on switch 3
  [3] Finished Add on switch 3
  [4] Add package(s) on switch 4
  [4] Finished Add on switch 4
Checking status of Add on [1 2 3 4]
Add: Passed on [1 2 3 4]
Finished Add

Image added. Version: 17.09.01.0.306
install_add_activate_commit: Activating PACKAGE
Following packages shall be activated:
/flash/cat9k-wlc.17.09.01.SPA.pkg
/flash/cat9k-webui.17.09.01.SPA.pkg
/flash/cat9k-srdriver.17.09.01.SPA.pkg
/flash/cat9k-sipspa.17.09.01.SPA.pkg
/flash/cat9k-sipbase.17.09.01.SPA.pkg
/flash/cat9k-rpboot.17.09.01.SPA.pkg
/flash/cat9k-rpbase.17.09.01.SPA.pkg
/flash/cat9k-guestshell.17.09.01.SPA.pkg
/flash/cat9k-espbase.17.09.01.SPA.pkg
/flash/cat9k-cc_srdriver.17.09.01.SPA.pkg
--- Starting Activate ---
Performing Activate on all members
  [1] Activate package(s) on switch 1
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.10.01.SPA.pkg
      Removed cat9k-espbase.17.10.01.SPA.pkg
      Removed cat9k-guestshell.17.10.01.SPA.pkg
      Removed cat9k-lni.17.10.01.SPA.pkg
      Removed cat9k-rpbase.17.10.01.SPA.pkg
      Removed cat9k-rpboot.17.10.01.SPA.pkg
      Removed cat9k-sipbase.17.10.01.SPA.pkg
      Removed cat9k-sipspa.17.10.01.SPA.pkg
      Removed cat9k-srdriver.17.10.01.SPA.pkg
      Removed cat9k-webui.17.10.01.SPA.pkg
      Removed cat9k-wlc.17.10.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.09.01.SPA.pkg
      Added cat9k-espbase.17.09.01.SPA.pkg
      Added cat9k-guestshell.17.09.01.SPA.pkg
      Added cat9k-rpbase.17.09.01.SPA.pkg
      Added cat9k-rpboot.17.09.01.SPA.pkg
      Added cat9k-sipbase.17.09.01.SPA.pkg
      Added cat9k-sipspa.17.09.01.SPA.pkg
      Added cat9k-srdriver.17.09.01.SPA.pkg
      Added cat9k-webui.17.09.01.SPA.pkg
      Added cat9k-wlc.17.09.01.SPA.pkg
    Finished list of software package changes
  [1] Finished Activate on switch 1
  [2] Activate package(s) on switch 2
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.10.01.SPA.pkg
      Removed cat9k-espbase.17.10.01.SPA.pkg
      Removed cat9k-guestshell.17.10.01.SPA.pkg
      Removed cat9k-lni.17.10.01.SPA.pkg
      Removed cat9k-rpbase.17.10.01.SPA.pkg
      Removed cat9k-rpboot.17.10.01.SPA.pkg
      Removed cat9k-sipbase.17.10.01.SPA.pkg
      Removed cat9k-sipspa.17.10.01.SPA.pkg
      Removed cat9k-srdriver.17.10.01.SPA.pkg
      Removed cat9k-webui.17.10.01.SPA.pkg
      Removed cat9k-wlc.17.10.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.09.01.SPA.pkg
      Added cat9k-espbase.17.09.01.SPA.pkg
      Added cat9k-guestshell.17.09.01.SPA.pkg
      Added cat9k-rpbase.17.09.01.SPA.pkg
      Added cat9k-rpboot.17.09.01.SPA.pkg
      Added cat9k-sipbase.17.09.01.SPA.pkg
      Added cat9k-sipspa.17.09.01.SPA.pkg
      Added cat9k-srdriver.17.09.01.SPA.pkg
      Added cat9k-webui.17.09.01.SPA.pkg
      Added cat9k-wlc.17.09.01.SPA.pkg
    Finished list of software package changes
  [2] Finished Activate on switch 2
  [3] Activate package(s) on switch 3
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.10.01.SPA.pkg
      Removed cat9k-espbase.17.10.01.SPA.pkg
      Removed cat9k-guestshell.17.10.01.SPA.pkg
      Removed cat9k-lni.17.10.01.SPA.pkg
      Removed cat9k-rpbase.17.10.01.SPA.pkg
      Removed cat9k-rpboot.17.10.01.SPA.pkg
      Removed cat9k-sipbase.17.10.01.SPA.pkg
      Removed cat9k-sipspa.17.10.01.SPA.pkg
      Removed cat9k-srdriver.17.10.01.SPA.pkg
      Removed cat9k-webui.17.10.01.SPA.pkg
      Removed cat9k-wlc.17.10.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.09.01.SPA.pkg
      Added cat9k-espbase.17.09.01.SPA.pkg
      Added cat9k-guestshell.17.09.01.SPA.pkg
      Added cat9k-rpbase.17.09.01.SPA.pkg
      Added cat9k-rpboot.17.09.01.SPA.pkg
      Added cat9k-sipbase.17.09.01.SPA.pkg
      Added cat9k-sipspa.17.09.01.SPA.pkg
      Added cat9k-srdriver.17.09.01.SPA.pkg
      Added cat9k-webui.17.09.01.SPA.pkg
      Added cat9k-wlc.17.09.01.SPA.pkg
    Finished list of software package changes
  [3] Finished Activate on switch 3
  [4] Activate package(s) on switch 4
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.10.01.SPA.pkg
      Removed cat9k-espbase.17.10.01.SPA.pkg
      Removed cat9k-guestshell.17.10.01.SPA.pkg
      Removed cat9k-lni.17.10.01.SPA.pkg
      Removed cat9k-rpbase.17.10.01.SPA.pkg
      Removed cat9k-rpboot.17.10.01.SPA.pkg
      Removed cat9k-sipbase.17.10.01.SPA.pkg
      Removed cat9k-sipspa.17.10.01.SPA.pkg
      Removed cat9k-srdriver.17.10.01.SPA.pkg
      Removed cat9k-webui.17.10.01.SPA.pkg
      Removed cat9k-wlc.17.10.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.09.01.SPA.pkg
      Added cat9k-espbase.17.09.01.SPA.pkg
      Added cat9k-guestshell.17.09.01.SPA.pkg
      Added cat9k-rpbase.17.09.01.SPA.pkg
      Added cat9k-rpboot.17.09.01.SPA.pkg
      Added cat9k-sipbase.17.09.01.SPA.pkg
      Added cat9k-sipspa.17.09.01.SPA.pkg
      Added cat9k-srdriver.17.09.01.SPA.pkg
      Added cat9k-webui.17.09.01.SPA.pkg
      Added cat9k-wlc.17.09.01.SPA.pkg
    Finished list of software package changes
  [4] Finished Activate on switch 4
Checking status of Activate on [1 2 3 4]
Activate: Passed on [1 2 3 4]
Finished Activate

--- Starting Commit ---
Performing Commit on all members
  [1] Commit package(s) on switch 1
  [1] Finished Commit on switch 1
  [2] Commit package(s) on switch 2
  [2] Finished Commit on switch 2
  [3] Commit package(s) on switch 3
  [3] Finished Commit on switch 3
  [4] Commit package(s) on switch 4
  [4] Finished Commit on switch 4
Checking status of Commit on [1 2 3 4]
Commit: Passed on [1 2 3 4]
Finished Commit

Send model notification for install_add_activate_commit before reload
[1 2 3 4]: Performing Upgrade_Service
300+0 records in
300+0 records out
307200 bytes (307 kB, 300 KiB) copied, 0.316195 s, 972 kB/s
MM [1] MCU version 196 sw ver 191
MM [2] MCU version 196 sw ver 191

MCU UPGRADE IN PROGRESS... PLEASE DO NOT POWER CYCLE!!

Front-end Microcode IMG MGR: found 4 microcode images for 1 device.
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_0 update needed: no
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_1 update needed: yes
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_2 update needed: yes
Image for front-end 0: /tmp/microcode_update/front_end/fe_type_6_3 update needed: no

Front-end Microcode IMG MGR: Preparing to program device microcode...
Front-end Microcode IMG MGR: Preparing to program device[0], index=0 ...594412 bytes.... Skipped[0].
Front-end Microcode IMG MGR: Preparing to program device[0], index=1 ...440688 bytes.
Front-end Microcode IMG MGR: Programming device 0...rwRrrrrrrw
..0%..................................................................................10%
    ..................................................................................20%
    ..................................................................................30%
    ..................................................................................40%
    ..................................................................................50%
    ..................................................................................60%
    ..................................................................................70%
    ..................................................................................80%
    ..................................................................................90%
    .................................................................................100%

Front-end Microcode IMG MGR: Preparing to program device[0], index=2 ...24506 bytes.
Front-end Microcode IMG MGR: Programming device 0...rrrrrrw..0%....10%....20%......30%...40%....50%......60%....70%.....80%....90%....100%w
Wating for MCU to come up .....Rr!
Front-end Microcode IMG MGR: Microcode programming complete for device 0.
Front-end Microcode IMG MGR: Preparing to program device[0], index=3 ...90974 bytes.... Skipped[3].
Front-end Microcode IMG MGR: Microcode programming complete in 295 seconds

MCU UPGRADE COMPLETED!!...  SUCCESS: Upgrade_Service finished

Install will reload the system now!
SUCCESS: install_add_activate_commit  Mon Nov 07 15:14:57 PDT 2022
stack-4mnyq#
Chassis 1 reloading, reason - Reload command
Nov 07 15:15:01.382: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fp action requested
Nov 07 15:15:03.101: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: rp processes exit with reload switch code

Initializing Hardware......

System Bootstrap, Version 17.3.1r[FC2], RELEASE SOFTWARE (P)
Compiled Wed 11/09/2022 12:55:25.08 by rel

Current ROMMON image : Primary
Last reset cause     : SoftwareReload
C9300-24UX platform with 8388608 Kbytes of main memory

switch: boot
boot: attempting to boot from [flash:packages.conf]
boot: reading file packages.conf
#
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################


Waiting for 120 seconds for other switches to boot
Switch is in STRAGGLER mode, waiting for active Switch to boot
Active Switch has booted up, starting discovery phase

Switch number is 1
All switches in the stack have been discovered. Accelerating discovery

Switch console is now available

Press RETURN to get started.

Note

 
The system reloads automatically after executing the install add file activate commit command. You do not have to manually reload the system.

Step 5

Verify version

show version

After the image boots up, use this command to verify the version of the new image.

Note

 
When you downgrade the software image, the ROMMON version does not downgrade. It remains updated.
The following sample output of the show version command displays the Cisco IOS XE Cupertino 17.9.1 image on the device:
Switch# show version
Cisco IOS XE Software, Version 17.09.01
Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
<output truncated>

Field-Programmable Gate Array Version Upgrade

A field-programmable gate array (FPGA) is a type of programmable memory device that exists on Cisco switches. They are re-configurable logic circuits that enable the creation of specific and dedicated functions.

To check the current FPGA version, enter the version -v command in ROMMON mode.


Note


  • Not every software release has a change in the FPGA version.

  • The version change occurs as part of the regular software upgrade and you do not have to perform any other additional steps.