Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Install Mode

Bundle Mode

Before You Begin

Configure

From Install to Bundle Mode

From Bundle to Install Mode

Verify

Install Mode

Bundle Mode

Troubleshoot

Related Information

Introduction

This document describes how to change between the different types of installation modes on a Catalyst 9800 Wireless Controller (WLC).

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Catalyst 9800 Wireless LAN Controllers and Access Points (APs) platforms

- Catalyst 9800 Wireless LAN Controllers software feature sets

Components Used

The information in this document is based on this software and hardware version:

- C9800-40-K9 Version 16.11.01c

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

Use this document to learn how to convert between the different types of installation modes on a Catalyst 9800 Wireless Controller (WLC) through the Command Line Interface (CLI). This procedure can be also used in order to upgrade the 9800 WLC.

There are two ways in which you can run Cisco IOS® XE on a Catalyst 9800 WLC, in bundle and in install mode.

Install Mode

The install mode uses pre-extracted files from the binary file into the flash in order to boot the controller. The controller uses the packages.conf file that was created from the extraction as boot variable.

Bundle Mode

The system works in bundle mode if the controller boots with the binary image (.bin) as boot variable. In this mode, the controller extracts the .bin file into the RAM and runs from there. This mode uses more memory than install mode because the packages extracted from boot up are copied to the RAM.

Tip: Install mode is the recommended mode to run the WLC.

Note: Before High Availability (HA SSO) configuration on the 9800 WLC, ensure that both devices have the same installation mode. Otherwise, you can face a V-Mismatch error: %BOOT-3-BOOTTIME_INCOMPATIBLE_SW_DETECTED: R0/0: issu_stack: Incompatible software detected.

Before You Begin

Verify the operation mode of the 9800 WLC in order to determine which procedure you have to perform in order to convert between modes. Run the show version | include Installation mode command to see the current installation mode.

9800-40#show version | include Installation mode

Installation mode is INSTALL

Configure

From Install to Bundle Mode

Step 1. Ensure that you have enough space in flash in order to expand a new image.

9800-40#show flash:

...

277 42838080 Oct 08 2018 14:22:06.0000000000 +00:00 wlc9500C-rpboot.2018-10-05_08.14_prabhask.SSA.pkg

278 10633472 Oct 09 2018 20:58:55.0000000000 +00:00 system-report_20181009-205853-Universal.tar.gz

279 19921673 Dec 13 2018 19:27:45.0000000000 +00:00 system-report_20181213-192546-Pacific.tar.gz

235937792 bytes available (5746528256 bytes used)

Step 2. Clean up old installation files in case of insufficient space and in order to discard added packages.

9800-40#install remove inactive

Cleaning up unnecessary package files

Scanning boot directory for packages ... done.

Preparing packages list to delete ...

C9800-CL-universalk9.2019-12-28_15.32_saurasi3.SSA.bin

File is in use, will not delete.

done.

The following files will be deleted:

[chassis 2]:

/bootflash/C9800-CL-mono-universalk9.16.10.01.SPA.pkg

/bootflash/C9800-CL-rpboot.16.10.01.SPA.pkg

/bootflash/C9800-CL-universalk9.16.10.01.SPA.conf

/bootflash/packages.conf

/bootflash/wlc9500C-mono-universalk9.2018-10-05_08.14_prabhask.SSA.pkg

/bootflash/wlc9500C-mono-universalk9.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg

/bootflash/wlc9500C-rpboot.2018-10-05_08.14_prabhask.SSA.pkg

/bootflash/wlc9500C-rpboot.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg

/bootflash/wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.bin

/bootflash/wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.conf

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

[chassis 2]:

Deleting file bootflash:C9800-CL-mono-universalk9.16.10.01.SPA.pkg ... done.

Deleting file bootflash:C9800-CL-rpboot.16.10.01.SPA.pkg ... done.

Deleting file bootflash:C9800-CL-universalk9.16.10.01.SPA.conf ... done.

Deleting file bootflash:packages.conf ... done.

Deleting file bootflash:wlc9500C-mono-universalk9.2018-10-05_08.14_prabhask.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-mono-universalk9.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-rpboot.2018-10-05_08.14_prabhask.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-rpboot.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.bin ... done.

Deleting file bootflash:wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.conf ... done.

SUCCESS: Files deleted.

--- Starting Post_Remove_Cleanup ---

Performing Post_Remove_Cleanup on all members

[2] Post_Remove_Cleanup package(s) on chassis 2

[2] Finished Post_Remove_Cleanup on chassis 2

Checking status of Post_Remove_Cleanup on [2]

Post_Remove_Cleanup: Passed on [2]

Finished Post_Remove_Cleanup

SUCCESS: install_remove  Fri Feb 14 15:06:14 Pacific 2020

9800-40#show flash:

...

297   30983948 Jan 07 2019 04:46:03.0000000000 +00:00 system-report_20190107-044600-Pacific.tar.gz

298   10633472 Oct 09 2018 20:58:55.0000000000 +00:00 system-report_20181009-205853-Universal.tar.gz

299   19921673 Dec 13 2018 19:27:45.0000000000 +00:00 system-report_20181213-192546-Pacific.tar.gz

2931425280 bytes available (3051040768 bytes used)

Step 3. Copy new image to flash.

9800-40#copy tftp: flash:

Address or name of remote host []? 10.152.200.238

Source filename []? C9800-40-universalk9_wlc.16.11.01c.SPA.bin

Destination filename [C9800-40-universalk9_wlc.16.11.01c.SPA.bin]?

Accessing tftp://10.152.200.238/C9800-40-universalk9_wlc.16.11.01c.SPA.bin...

Loading C9800-40-universalk9_wlc.16.11.01c.SPA.bin from 10.152.200.238 (via Vlan210): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Step 4. Run this command in order to confirm that the image has been successfully copied to flash:

9800-40#dir flash:*.bin

Directory of bootflash:/*.bin

Directory of bootflash:/

16  -rw-   884905681  Aug 13 2019 22:29:34 +00:00  C9800-40-universalk9_wlc.16.11.01c.SPA.bin

Step 5. Check current boot variable, if it uses packages.conf, delete it and set image.bin as new boot variable. It is important to delete previous boot variable and save. For the new variable, you have to save the new configuration as well. Otherwise, the change does not take place.

9800-40#show boot

BOOT variable = bootflash:packages.conf,12;

CONFIG_FILE variable =

BOOTLDR variable does not exist

Configuration register is 0x2102

9800-40(config)#no boot system

9800-40(config)#do write

9800-40(config)#boot system bootflash:C9800-40-universalk9_wlc.16.11.01c.SPA.bin

9800-40(config)#do write

Step 6. Run this command in order to verify the boot variable is set to bootflash:<image.bin>.

The output displays BOOT variable = bootflash:<image.bin>.

9800-40#show boot

BOOT variable = bootflash:C9800-40-universalk9_wlc.16.11.01c.SPA.bin,12;

CONFIG_FILE variable =

BOOTLDR variable does not exist

Configuration register is 0x2102

Step 7. Reload the controller in order to boot in bundle mode.

9800-40#reload

From Bundle to Install Mode

Step 1. Ensure that you have enough of space in flash in order to expand a new image.

9800-40#dir flash:

Step 2. Clean up old installation files in case of insufficient space and in order to discard added packages.

9800-40#install remove inactive

Cleaning up unnecessary package files

Scanning boot directory for packages ... done.

Preparing packages list to delete ...

C9800-CL-universalk9.2019-12-28_15.32_saurasi3.SSA.bin

File is in use, will not delete.

done.

The following files will be deleted:

[chassis 2]:

/bootflash/C9800-CL-mono-universalk9.16.10.01.SPA.pkg

/bootflash/C9800-CL-rpboot.16.10.01.SPA.pkg

/bootflash/C9800-CL-universalk9.16.10.01.SPA.conf

/bootflash/packages.conf

/bootflash/wlc9500C-mono-universalk9.2018-10-05_08.14_prabhask.SSA.pkg

/bootflash/wlc9500C-mono-universalk9.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg

/bootflash/wlc9500C-rpboot.2018-10-05_08.14_prabhask.SSA.pkg

/bootflash/wlc9500C-rpboot.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg

/bootflash/wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.bin

/bootflash/wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.conf

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

[chassis 2]:

Deleting file bootflash:C9800-CL-mono-universalk9.16.10.01.SPA.pkg ... done.

Deleting file bootflash:C9800-CL-rpboot.16.10.01.SPA.pkg ... done.

Deleting file bootflash:C9800-CL-universalk9.16.10.01.SPA.conf ... done.

Deleting file bootflash:packages.conf ... done.

Deleting file bootflash:wlc9500C-mono-universalk9.2018-10-05_08.14_prabhask.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-mono-universalk9.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-rpboot.2018-10-05_08.14_prabhask.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-rpboot.BLD_POLARIS_DEV_LATEST_20180812_104316_V16_10_0_83.SSA.pkg ... done.

Deleting file bootflash:wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.bin ... done.

Deleting file bootflash:wlc9500C-universalk9.2018-10-05_08.14_prabhask.SSA.conf ... done.

SUCCESS: Files deleted.

--- Starting Post_Remove_Cleanup ---

Performing Post_Remove_Cleanup on all members

[2] Post_Remove_Cleanup package(s) on chassis 2

[2] Finished Post_Remove_Cleanup on chassis 2

Checking status of Post_Remove_Cleanup on [2]

Post_Remove_Cleanup: Passed on [2]

Finished Post_Remove_Cleanup

SUCCESS: install_remove  Fri Feb 14 15:06:14 Pacific 2020

9800-40#show flash:

...

297   30983948 Jan 07 2019 04:46:03.0000000000 +00:00 system-report_20190107-044600-Pacific.tar.gz

298   10633472 Oct 09 2018 20:58:55.0000000000 +00:00 system-report_20181009-205853-Universal.tar.gz

299   19921673 Dec 13 2018 19:27:45.0000000000 +00:00 system-report_20181213-192546-Pacific.tar.gz

2931425280 bytes available (3051040768 bytes used)

Step 3. Copy the new image to flash.

9800-40#copy tftp: flash:

Address or name of remote host []? 10.152.200.238

Source filename []? C9800-40-universalk9_wlc.16.11.01c.SPA.bin

Destination filename [C9800-40-universalk9_wlc.16.11.01c.SPA.bin]?

Accessing tftp://10.152.200.238/C9800-40-universalk9_wlc.16.11.01c.SPA.bin...

Loading C9800-40-universalk9_wlc.16.11.01c.SPA.bin from 10.152.200.238 (via Vlan210): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Step 4. Run this command in order to confirm that the image has been successfully copied to flash:

9800-40#dir flash:*.bin

Directory of bootflash:/*.bin

Directory of bootflash:/

16  -rw-   884905681  Aug 13 2019 22:29:34 +00:00  C9800-40-universalk9_wlc.16.11.01c.SPA.bin

Step 5. Check current boot variable, if it shows the image.bin file, delete it and set packages.conf as new boot variable. It is important to delete previous boot variable and save. For the new variable, you have to save the new configuration as well. Otherwise, the change does not take place.

9800-40#show boot

BOOT variable = bootflash:C9800-40-universalk9_wlc.16.11.01c.SPA.bin,12;

CONFIG_FILE variable =

BOOTLDR variable does not exist

Configuration register is 0x2102

9800-40(config)#no boot system

9800-40(config)#do write

9800-40(config)#boot system bootflash:packages.conf

9800-40(config)#do write

Step 6. Run this command in order to verify the boot variable is set tobootflash:packages.conf.

The output displays BOOT variable = flash:packages.conf.

9800-40#show boot

BOOT variable = bootflash:packages.conf,12;

CONFIG_FILE variable =

BOOTLDR variable does not exist

Configuration register is 0x2102

Step 7. Software install image to flash. The install add file bootflash:<image.bin> activate commit command moves the switch from bundle mode to install mode.

9800-40#install add file bootflash:C9800-40-universalk9_wlc.16.11.01c.SPA.bin activate commit

Step 8. Type y (yes) for all the prompts.  Once the install is completed, the controller proceeds to reload.

install_add_activate_commit: START Tue Aug 13 23:10:24 Central 2019

Aug 13 23:10:25.685: %INSTALL-5-INSTALL_START_INFO: Chassis 1 R0/0: install_engine: Started install one-shot bootflash:C9800-40-universalk9_wlc.16.11.01c.SPA.bininstall_add_activate_commit: Adding PACKAGE

This operation requires a reload of the system. Do you want to proceed?

Please confirm you have changed boot config to bootlegs:packages.conf [y/n]y

--- Starting initial file syncing ---

Info: Finished copying bootflash:C9800-40-universalk9_wlc.16.11.01c.SPA.bin to the selected chassis

Finished initial file syncing

--- Starting Add ---

Performing Add on all members

[1] Add package(s) on chassis 1

[1] Finished Add on chassis 1

Checking status of Add on [1]

Add: Passed on [1]

Finished Add

Image added. Version: 16.11.1c.0.503

install_add_activate_commit: Activating PACKAGE

Following packages shall be activated:

/bootflash/C9800-rpboot.16.11.01c.SPA.pkg

/bootflash/C9800-mono-universalk9_wlc.16.11.01c.SPA.pkg

/bootflash/C9800-hw-programmables.16.11.01c.SPA.pkg

This operation may require a reload of the system. Do you want to proceed? [y/n]y

--- Starting Activate ---

Performing Activate on all members

[1] Activate package(s) on chassis 1

[1] Finished Activate on chassis 1

Checking status of Activate on [1]

Activate: Passed on [1]

Finished Activate

--- Starting Commit ---

Performing Commit on all members

Aug 13 23:14:12.122: %INSTALL-5-INSTALL_AUTO_ABORT_TIMER_PROGRESS: Chassis 1 R0/0: rollback_timer: Install auto abort timer will expire in 21600 seconds

Aug 13 23:14:13.350: %IGMP_QUERIER-4-SAME_SRC_IP_ADDR: An IGMP General Query packet with the same source IP address (172.16.76.83) is received in VLAN 1 on port Te0/0/1.

Aug 13 23:14:16.635: %IGMP_QUERIER-4-SAME_SRC_IP_ADDR: An IGMP General Query packet with the same source IP address (172.16.76.83) is received in VLAN 1 on port Te0/0/1. [1] Commit package(s) on chassis 1

[1] Finished Commit on chassis 1

Checking status of Commit on [1]

Commit: Passed on [1]

Finished Commit

/usr/binos/conf/install_util.sh: line 594: /bootflash/.installer/install_add_pkg_list.txt: No such file or directory

Install will reload the system now!

SUCCESS: install_add_activate_commit Tue Aug 13 23:14:49 Central 2019

Aug 13 23:14:49.485: %INSTALL-5-INSTALL_COMPLETED_INFO: Chassis 1 R0/0: install_engine: Completed install one-shot PACKAGE bootflash:C9800-40-universalk9_wlc.16.11.01c.SPA.bin

Chassis 1 reloading, reason - Reload command

Aug 13 23:14:51.994: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting:

Aug 13 23:14:52.000: %PMAN-5-EXITACTION: C0/0: pvp: Process manager is exiting:

Aug 13 23:14:53.100: %PMAN-5

Initializing Hardware ...

Verify

Use this section to confirm that your configuration works properly.

After the controller reboot, you can verify the current installation mode of the controller. Run the show version command in order to confirm that conversion is successful.

Install Mode

9800-40#show version | include System image|Installation mode

System image file is "bootflash:packages.conf"

Installation mode is INSTALL

Bundle Mode

9800-40#show version | include System image|Installation mode

System image file is "bootflash:/C9800-40-universalk9_wlc.16.11.01c.SPA.bin"

Installation mode is BUNDLE

Troubleshoot

There is currently no specific information available to troubleshoot this configuration.

Related Information

- Cisco Catalyst 9800-CL Cloud Wireless Controller Installation Guide

- TAC Recommended IOS XE Builds for Wireless LAN Controllers

- End User Guide

- Cisco Technical Support & Downloads