Contents

Introduction

Prerequisites

Requirements

Components Used

Configure

Password Recovery Procedure for Virtual 9800 (9800-CL)

Password Recovery Procedure for Appliance via ROMMON

Password Recovery Procedure for Appliance via USB

Boot the WLC from ROMMON

Load image through USB

Load an image from TFTP

Troubleshoot

Other useful ROMMON commands

Related Information

Introduction

This document describes how to recover a Catalyst 9800 controller based on ROMMON mode and no image in the flash.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Catalyst Wireless Controllers 9800

Components Used

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

- Catalyst 9800 version 16.10.1

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.

Configure

Password Recovery Procedure for Virtual 9800 (9800-CL)

Step 1. Reboot the 9800-CL. You quickly see a boot selection screen:

Step 2. Press C  on this screen to get the grub prompt

Step 3. You can change the config register in that prompt with the config  0x2142  command

Step 4. Press the ESC key to return to the boot selection prompt and chose the packages.conf  to boot on the regular image.

Step 5. Your WLC boots without configuration. Recover it.

Step 6. Do not forget to repeat the Procedure from step 1 and to set the config register back to the original value of 0x2002 so that the configuration gets saved and loaded upon reboots.

Password Recovery Procedure for Appliance via ROMMON

Step 1. Send 'break' key when you see ##### print on console for system that loads image. Then, the system breaks the bootup process and goes to the ROMMON prompt. You can either do this when you press break or ctrl+break on the keyboard. You can also send the break from terminal program (for example, Putty Special Command > Break, Teraterm Control > Send Break).

Caution: Password recovery requires the system to be dropped into ROMMON.  In classic Cisco IOS®, the config-register setting determines whether the system could return to ROMMON. A config-register of 0x2102 would prevent return to ROMMON when "break" is issued. By default, all 9800 appliances (9800-40, 9800-80, 9800-L) have the config-register set 0x2102. However, since they run Linux based Cisco IOS-XE®, this is ignored and only way to prevent return to ROMMON is to configure command "no service password-recovery".

Caveat:  On 9800-L that runs ROMMON older than 16.12(3r), this bit in config-register prevents 'break' into ROMMON to do password-recovery.

Fix: If you run older ROMMON, upgrade ROMMON with instructions documented at: Upgrade Field Programmables for Cisco Catalyst 9800-L Wireless Controller

Workaround: If upgrade cannot be done; modify the config-register to 0x2002 as a workaround and prevent lock out of ROMMON.

File size is 0x01d191f3

Located C9800-rpboot.16.10.01.SPA.pkg

Image size 30511603 inode num 874837, bks cnt 7450 blk size 8*512

################################################################################

################################################################################

################################################################################

##########################################################

Boot image size = 30511603 (0x1d191f3) bytes

ROM:RSA Self Test Passed

ROM:Sha512 Self Test Passed

Package header rev 3 structure detected

Calculating SHA-1 hash...done

validate_package_cs: SHA-1 hash:

calculated e36f46af:2c06b38d:eeb6e65b:ffaeb429:a6982d29

expected   e36f46af:2c06b38d:eeb6e65b:ffaeb429:a6982d29

Validating main package signatures

monitor: command "boot" aborted due to user interrupt

rommon 1 >

Step 2.Change config register to 0x2142 with the  confreg 0x2142  command from ROMMON prompt.

rommon 1 > confreg 0x2142

You must reset or power cycle for new config to take effect

Step 3. To save rommon config change, execute  sync at the rommon prompt,  reset  rommon to applied change from rommon prompt.

rommon 2 > sync

rommon 3 > reset

Resetting .......

Initializing Hardware ...

System integrity status: 90170200 12030107

System Bootstrap, Version 16.10(2r), RELEASE SOFTWARE

Copyright (c) 1994-2018  by cisco Systems, Inc.

Current image running: Boot ROM0

Last reset cause: LocalSoft

C9800-40-K9 platform with 33554432 Kbytes of main memory

File size is 0x000015c9

Located packages.conf

Image size 5577 inode num 874834, bks cnt 2 blk size 8*512

#

File size is 0x01d191f3

Located C9800-rpboot.16.10.01.SPA.pkg

Image size 30511603 inode num 874837, bks cnt 7450 blk size 8*512

################################################################################

################################################################################

################################################################################

##########################################################

Boot image size = 30511603 (0x1d191f3) bytes

ROM:RSA Self Test Passed

ROM:Sha512 Self Test Passed

Package header rev 3 structure detected

Calculating SHA-1 hash...done

validate_package_cs: SHA-1 hash:

calculated e36f46af:2c06b38d:eeb6e65b:ffaeb429:a6982d29

expected   e36f46af:2c06b38d:eeb6e65b:ffaeb429:a6982d29

Validating main package signatures

RSA Signed RELEASE Image Signature Verification Successful.

Image validated

Jun 21 02:30:21.565: %PMAN-3-PROC_EMPTY_EXEC_FILE: R0/0: pvp: Empty executable u

sed for process bt_logger

Jun 21 02:30:24.561: %PMAN-3-PROC_EMPTY_EXEC_FILE: R0/0: pvp: Empty executable u

sed for process bt_logger

Both links down, not waiting for other chassis

Chassis number is 1

Jun 21 02:30:25.327: %PMAN-3-PROC_EMPTY_EXEC_FILE: R0/0: pvp: Empty executable u

sed for process bt_logger

Jun 21 02:30:27.293: %PMAN-3-PROC_EMPTY_EXEC_FILE: R0/0: pvp: Empty executable u

sed for process bt_logger

Jun 21 02:30:33.770: %PMAN-3-PROC_EMPTY_EXEC_FILE: R0/0: pvp: Empty executable u

sed for process bt_logger

Jun 21 02:30:37.045: %PMAN-3-PROC_EMPTY_EXEC_FILE: R0/0: pvp: Empty executable u

sed for process bt_logger

Restricted Rights Legend

Use, duplication, or disclosure by the Government is

subject to restrictions as set forth in subparagraph

(c) of the Commercial Computer Software - Restricted

Rights clause at FAR sec. 52.227-19 and subparagraph

(c) (1) (ii) of the Rights in Technical Data and Computer

Software clause at DFARS sec. 252.227-7013.

Cisco Systems, Inc.

170 West Tasman Drive

San Jose, California 95134-1706

Cisco IOS Software [Gibraltar], C9800 Software (C9800_IOSXE), Version 16.10.1, R

ELEASE SOFTWARE (fc4)

Technical Support: http://www.cisco.com/techsupport

Copyright (c) 1986-2018 by Cisco Systems, Inc.

Compiled Mon 19-Nov-18 08:27 by mcpre

PLEASE READ THE FOLLOWING TERMS CAREFULLY. INSTALLING THE LICENSE OR

LICENSE KEY PROVIDED FOR ANY CISCO SOFTWARE PRODUCT, PRODUCT FEATURE,

AND/OR SUBSEQUENTLY PROVIDED SOFTWARE FEATURES (COLLECTIVELY, THE

"SOFTWARE"), AND/OR WITH SUCH SOFTWARE CONSTITUTES YOUR FULL

ACCEPTANCE OF THE FOLLOWING TERMS. YOU MUST NOT PROCEED FURTHER IF YOU

ARE NOT WILLING TO BE BOUND BY ALL THE TERMS SET FORTH HEREIN.

Your use of the Software is subject to the Cisco End User License Agreement

(EULA) and any relevant supplemental terms (SEULA) found at

http://www.cisco.com/c/en/us/about/legal/cloud-and-software/software-terms.html.

You hereby acknowledge and agree that certain Software and/or features are

licensed for a particular term, that the license to such Software and/or

features is valid only for the applicable term and that such Software and/or

features may be shut down or otherwise terminated by Cisco after expiration

of the applicable license term (for example, 90-day trial period). Cisco reserves

the right to terminate any such Software feature electronically or by any

other means available. While Cisco may provide alerts, it is your sole

responsibility to monitor your usage of any such term Software feature to

ensure that your systems and networks are prepared for a shutdown of the

Software feature.

cisco C9800-40-K9 (1GL) processor (revision 1GL) with 7866660K/6147K bytes of me

mory.

FIPS: Flash Key Check : Key Not Found, FIPS Mode Not Enabled

Processor board ID TTM22500DAL

1 Virtual Ethernet interface

4 Ten Gigabit Ethernet interfaces

32768K bytes of non-volatile configuration memory.

33554432K bytes of physical memory.

26255359K bytes of eUSB flash at bootflash:.

234365527K bytes of SATA hard disk at hard disk:.

0K bytes of WebUI ODM Files at webui:.

Base Ethernet MAC Address          : D4:C9:3C:CC:F2:E0

Installation mode is INSTALL

Press RETURN to get started!

*Jun 21 02:31:00.165: %IOSXE_PLATFORM-3-WDC_NOT_FOUND: WDC returned length: 0

*Jun 21 02:31:00.185: %SMART_LIC-6-EXPORT_CONTROLLED: Usage of export controlled

features is not allowedAdding registry invocations for the WLC platform

*Jun 21 02:31:01.743: %SMART_LIC-6-AGENT_READY: Smart Agent for Licensing is ini

tialized

*Jun 21 02:31:01.743: %SMART_LIC-6-AGENT_ENABLED: Smart Agent for Licensing is e

nabled

*Jun 21 02:31:01.743: %SMART_LIC-6-EXPORT_CONTROLLED: Usage of export controlled

features is not allowed

*Jun 21 02:31:04.732: mcp_pm_subsys_init : Init done sucessfullyRA Tracing tool

registry return: 0SID Manager, starting initialization ...

*Jun 21 02:31:05.511: Notifications initializedSID Manager, completed initializa

tion ...

*Jun 21 02:31:07.298: %SPANTREE-5-EXTENDED_SYSID: Extended SysId enabled for typ

e vlan

*Jun 21 02:31:08.999: %CRYPTO-4-AUDITWARN: Encryption audit check could not be p

erformed

*Jun 21 02:31:09.081: %VOICE_HA-7-STATUS: CUBE HA-supported platform detected.

*Jun 21 02:31:09.317: %IOSXE_VMAN-3-MSGINITFAIL: Failed to initialize required V

irt-manager resource: Initalize MQIPC

*Jun 21 02:31:09.333: mcp_pm_init_done : Called

*Jun 21 02:31:09.338: %LINK-3-UPDOWN: Interface Lsmpi0, changed state to up

*Jun 21 02:31:09.345: %LINK-3-UPDOWN: Interface EOBC0, changed state to up

*Jun 21 02:31:09.345: %LINEPROTO-5-UPDOWN: Line protocol on Interface VoIP-Null0

, changed state to up

*Jun 21 02:31:09.346: %LINEPROTO-5-UPDOWN: Line protocol on Interface LI-Null0,

changed state to up

*Jun 21 02:31:09.346: %LINK-3-UPDOWN: Interface GigabitEthernet0, changed state

to down

*Jun 21 02:31:09.351: %LINK-3-UPDOWN: Interface LIIN0, changed state to up

*Jun 21 02:30:33.738: %PMAN-3-PROC_EMPTY_EXEC_FILE: Chassis 1 R0/0: pvp: Empty e

xecutable used for process bt_logger

*Jun 21 02:30:37.011: %PMAN-3-PROC_EMPTY_EXEC_FILE: Chassis 1 R0/0: pvp: Empty e

xecutable used for process bt_logger

*Jun 21 02:30:39.576: %CMFP-6-CRYPTO_MODULE: Chassis 1 R0/0: cman_fp: Crypto Har

dware Module is present

*Jun 21 02:31:01.754: %LMRP-3-RTU_UNINITIALIZED: Chassis 1 R0/0: lman: RTU not y

et initialized: stack enabled 0

*Jun 21 02:31:09.489: %SMART_LIC-6-HA_ROLE_CHANGED: Smart Agent HA role changed

to Active.

*Jun 21 02:31:10.295: %IOSXE_MGMTVRF-6-CREATE_SUCCESS_INFO: Management vrf Mgmt-

intf created with ID 1, ipv4 table-id 0x1, ipv6 table-id 0x1E000001

*Jun 21 02:31:10.344: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, cha

nged state to down

*Jun 21 02:31:10.345: %LINEPROTO-5-UPDOWN: Line protocol on Interface Lsmpi0, ch

anged state to up

*Jun 21 02:31:10.394: %LINEPROTO-5-UPDOWN: Line protocol on Interface EOBC0, cha

nged state to up

*Jun 21 02:31:10.394: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEth

ernet0, changed state to down

*Jun 21 02:31:10.394: %LINEPROTO-5-UPDOWN: Line protocol on Interface LIIN0, cha

nged state to up

*Jun 21 02:31:10.966: %ONEP_BASE-6-SS_ENABLED: ONEP: Service set Base was enable

d by Default

*Jun 21 02:31:12.842: %SYS-6-STARTUP_CONFIG_IGNORED: System startup configuratio

n is ignored based on the configuration register setting.

*Jun 21 02:31:12.854: %IOSXE_OIR-6-REMSPA: SPA removed from subslot 0/0, interfa

ces disabled

*Jun 21 02:31:12.913: %SPA_OIR-6-OFFLINECARD: SPA (BUILT-IN-4X10G/1G) offline in

subslot 0/0

*Jun 21 02:31:12.919: %IOSXE_OIR-6-INSCARD: Card (fp) inserted in slot F0

*Jun 21 02:31:12.920: %IOSXE_OIR-6-ONLINECARD: Card (fp) online in slot F0

*Jun 21 02:31:12.946: %IOSXE_OIR-6-INSCARD: Card (cc) inserted in slot 0

*Jun 21 02:31:12.946: %IOSXE_OIR-6-ONLINECARD: Card (cc) online in slot 0

*Jun 21 02:31:13.111: % Redundancy mode change to SSO

*Jun 21 02:31:13.112: %VOICE_HA-7-STATUS: NONE->SSO; SSO mode can not take effe

ct until after a platform reload.

*Jun 21 02:31:13.231: %IOSXE_OIR-6-INSSPA: SPA inserted in subslot 0/0

*Jun 21 02:31:14.793: %SYS-5-RESTART: System restarted --

Cisco IOS Software [Gibraltar], C9800 Software (C9800_IOSXE), Version 16.10.1, R

ELEASE SOFTWARE (fc4)

Technical Support: http://www.cisco.com/techsupport

Copyright (c) 1986-2018 by Cisco Systems, Inc.

Compiled Mon 19-Nov-18 08:27 by mcpre

*Jun 21 02:31:14.834: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is OFF

*Jun 21 02:31:14.834: %CRYPTO-6-GDOI_ON_OFF: GDOI is OFF

*Jun 21 02:31:16.976: %LINK-3-UPDOWN: Interface GigabitEthernet0, changed state

to up

*Jun 21 02:31:17.079: %SYS-6-BOOTTIME: Time taken to reboot after reload =  325

seconds

*Jun 21 02:31:17.977: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEth

ernet0, changed state to up

*Jun 21 02:31:21.579: %SPA_OIR-6-ONLINECARD: SPA (BUILT-IN-4X10G/1G) online in s

ubslot 0/0

*Jun 21 02:31:21.638: %IOSXE_SPA-6-UPDOWN: Interface TenGigabitEthernet0/0/0, li

nk down due to remote fault

*Jun 21 02:31:21.708: %IOSXE_SPA-6-UPDOWN: Interface TenGigabitEthernet0/0/1, li

nk down due to local fault

*Jun 21 02:31:21.748: %IOSXE_SPA-6-UPDOWN: Interface TenGigabitEthernet0/0/2, li

nk down due to local fault

*Jun 21 02:31:21.788: %IOSXE_SPA-6-UPDOWN: Interface TenGigabitEthernet0/0/3, li

nk down due to local fault

*Jun 21 02:31:21.855: %PNP-6-PNP_DISCOVERY_STOPPED: PnP Discovery stopped (Start

up Config Present)

*Jun 21 02:31:23.541: %LINK-3-UPDOWN: Interface TenGigabitEthernet0/0/0, changed

state to down

*Jun 21 02:31:23.571: %LINK-3-UPDOWN: Interface TenGigabitEthernet0/0/1, changed

state to down

*Jun 21 02:31:23.572: %LINK-3-UPDOWN: Interface TenGigabitEthernet0/0/2, changed

state to down

*Jun 21 02:31:23.575: %LINK-3-UPDOWN: Interface TenGigabitEthernet0/0/3, changed

state to down

*Jun 21 02:31:24.680: %IOSXE_SPA-6-UPDOWN: Interface TenGigabitEthernet0/0/0, li

nk down due to local fault

*Jun 21 02:31:23.618: %LINK-3-UPDOWN: SIP0/0: Interface TenGigabitEthernet0/0/0,

changed state to down

*Jun 21 02:31:29.036: %PKI-2-NON_AUTHORITATIVE_CLOCK: PKI functions can not be i

nitialized until an authoritative time source, like NTP, can be obtained.

*Jun 21 02:31:29.491: %LINK-3-UPDOWN: Interface TenGigabitEthernet0/0/0, changed

state to up

*Jun 21 02:31:30.492: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabit

Ethernet0/0/0, changed state to up

*Jun 21 02:31:29.491: %LINK-3-UPDOWN: SIP0/0: Interface TenGigabitEthernet0/0/0,

changed state to up

*Jun 21 02:31:30.495: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, cha

nged state to up

*Jun 21 02:31:37.119: %CRYPTO_ENGINE-5-KEY_ADDITION: A key named CISCO_IDEVID_SU

DI_LEGACY has been generated or imported by pki-sudi

*Jun 21 02:31:39.050: %CRYPTO_ENGINE-5-KEY_ADDITION: A key named CISCO_IDEVID_SU

DI has been generated or imported by pki-sudi

Step 4. Now system boots without any config. Ignore startup config wizard.

Step 5. Once system comes up, copy startup-config to running-config.

Step 6. Reconfigure enable password or log in credentials, and check if you can access to the device via telnet or ssh.

C9800-40#telnet 172.22.175.1

Trying 172.22.175.1 ... Open

User Access Verification

Username: admin

Password:

C9800-40#

Step 7. Change config-register back to 0x2002.

C9800-40(config)#config-register 0x2002

Note: Do not use 0x2102. With 0x2102, you are not allowed to send break anymore.

Step 8. Save config.

C9800-40#write memory

Building configuration...

[OK]

Password Recovery Procedure for Appliance via USB

Boot the WLC from ROMMON

If you get stuck in ROMMON and boot does not work:

rommon 12 > boot

File size is 0x0001dfe6

Located memleak.tcl

Image size 122854 inode num 12, bks cnt 30 blk size 8*512

##

Boot image size = 122854 (0x1dfe6) bytes

Unsigned package found, aborting package loading...

Failed to Free memory block at address 0x00000000cd50b000

File size is 0x00000023

Located pnp-tech-time

Image size 35 inode num 13, bks cnt 1 blk size 8*512

Boot image size = 35 (0x23) bytes

Unsigned package found, aborting package loading...

Failed to Free memory block at address 0x00000000cd4d3000

File size is 0x0001ad3f

Located pnp-tech-discovery-summary

Image size 109887 inode num 14, bks cnt 27 blk size 8*512

#

Boot image size = 109887 (0x1ad3f) bytes

Unsigned package found, aborting package loading...

Failed to Free memory block at address 0x00000000cd49b000

File size is 0x00000268

Located vlan.dat

Image size 616 inode num 15, bks cnt 1 blk size 8*512

Boot image size = 616 (0x268) bytes

Unsigned package found, aborting package loading...

Failed to Free memory block at address 0x00000000cd463000

boot: cannot determine first file name on device "bootflash:/"

rommon 13 >

And the flash does not have any image to boot from:

rommon 13 > dir bootflash:

File System: EXT2/EXT3

11         16384     drwx------     lost+found

850305     4096      drwxr-xr-x     .installer

588673     4096      drwxrwxrwx     .prst_sync

948417     4096      drwxr-xr-x     .rollback_timer

1381745    4096      drwxr-xr-x     dc_profile_dir

12         122854    -rw-r--r--     memleak.tcl

506913     4096      drwxr-x---     vman_fdb

670433     4096      drwxr-xr-x     .dbpersist

793073     4096      drwxr-xr-x     onep

13         35        -rw-r--r--     pnp-tech-time

14         109887    -rw-r--r--     pnp-tech-discovery-summary

15         616       -rw-r--r--     vlan.dat

You can recover the box by either:

- Loading an image through a USB pen drive.

- Loading an image through Gigabit0 (out of band management interface).

Load image through USB

Step 1. Have a USB pen drive with the .bin file to be loaded to the 9800 controller. (on 9800-80, due to Cisco bug ID CSCvn82287, a USB 3.0 flash drive cannot be recognized in ROMMON). Note that the procedure is the same in case of a virtual 9800-CL but you can have to plug the USB drive on the VMhost and map it to the VM.

Step 2. Connect the USB driver to the USB port 0 of the 9800.

Front view:

Step 3. Log in from console to the controller and ensure it can read the USB.

rommon 19 > dir usb0:

File System: FAT32

!

!--Output omitted--

!

335644   1009389904-rw-     <filename>SSA.bin

Step 4. Configure the 9800 to boot from the USB image.

rommon 21 > boot usb0:<filename>.bin

Located qwlc-universalk9_wlc.BLD_V169_THROTTLE_LATEST_20180601_191011.SSA.bin, start cluster is 335644

########################################################################################################

########################################################################################################

########################################################################################################

Step 5. Once the 9800 runs, copy the image from the USB to the booflash:

WLC# copy usb0:<filename>.bin bootflash:

Destination filename [qwlc-universalk9_wlc.BLD_V169_THROTTLE_LATEST_20180601_191011.SSA.bin]?

Copy in progress...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

Step 6. Change the 9800 from bundle mode to install mode.

When you boot the controller from a USB, it boots in Bundle mode:

!

!--Output omitted--

!

FIPS: Flash Key Check : Key Not Found, FIPS Mode Not Enabled

Processor board ID TTM22071510

1 Virtual Ethernet interface

4 Ten Gigabit Ethernet interfaces

32768K bytes of non-volatile configuration memory.

33554432K bytes of physical memory.

26910719K bytes of eUSB flash at bootflash:.

234365527K bytes of SATA hard disk at hard disk:.

15243680K bytes of USB flash at usb0:.

0K bytes of WebUI ODM Files at webui:.

Base Ethernet MAC Address          : 00:A3:8E:23:A2:40

Installation mode is BUNDLE

%INIT: waited 0 seconds for NVRAM to be available

From 16.12, in the UI, you can chose to move to INSTALL mode at the next upgrade. Provide any software file, which includes current release to move to INSTALL mode.

Step 7. Edit the boot variable if it does not point towards a packages.conf file already.

WLC#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

WLC(config)#no boot system

WLC(config)#boot system bootflash:packages.conf

WLC(config)#end

WLC#write

Building configuration...

[OK]

WLC#show boot

BOOT variable = flash:packages.conf,12;

CONFIG_FILE variable does not exist

BOOTLDR variable does not exist

Configuration register is 0x2102

Standby not ready to show bootvar

Make sure that the config register is 0x2002.

Step 8. Reload the WLC:

WLC#reload

After this, the controller boots up in Install mode.

WLC#show version

!

!--Output omitted--

!

Installation mode is INSTALL Configuration register is 0x2002

Load an image from TFTP

To load an image from the network, you must have the GigabitEthernet0 management port physically connected to an access port.

From the ROMMON, you can verify the variables at any time with command set.

rommon 1 > set

PS1=rommon ! >

?=0

DEFAULT_GATEWAY=10.1.1.1

ETHER_SPEED_MODE=4

TFTP_RETRY_COUNT=36

SWITCH_NUMBER=1

DLC_DONE=TRUE

RET_2_RTS=

RET_2_RCALTS=

MCP_STARTUP_TRACEFLAGS=00000000:00000000

TFTP_MACADDR=00:db:ad:ba:d0:52

IP_SUBNET_MASK=255.255.255.0

IP_ADDRESS=10.1.1.152

TFTP_SERVER=10.1.1.1

TFTP_FILE=C9800-80-universalk9_wlc.BLD_V1610_1_THROTTLE_LATEST_20181016_174328_2.bin

BSI=0

RANDOM_NUM=1650632109

You can then set the variables one by one. There is no need to type  set before the variable name as you do for other devices ROMMON. Avoid typos when you type the variable name as there is no verification of any sort.

rommon 2 > IP_ADDRESS=10.48.71.113

rommon 3 > IP_SUBNET_MASK=255.255.255.128

rommon 4 > DEFAULT_GATEWAY=10.48.71.5

Once the IP settings are in place, you can boot from a TFTP image  with the next command:

rommon 5 > boot tftp://10.48.39.33/C9800-80-universalk9_wlc.16.10.01.SPA.bin

IP_ADDRESS: 10.48.71.113

IP_SUBNET_MASK: 255.255.255.128

DEFAULT_GATEWAY: 10.48.71.5

TFTP_SERVER: 10.48.39.33

TFTP_FILE: C9800-80-universalk9_wlc.16.10.01.SPA.bin

TFTP_MACADDR: 70:6d:15:35:99:ff

TFTP_VERBOSE: Progress

TFTP_RETRY_COUNT: 36

TFTP_TIMEOUT: 7200

TFTP_BLKSIZE: 1460

TFTP_CHECKSUM: Yes

ETHER_PORT: 3

ETHER_SPEED_MODE: 1000MB/HD

link up

Receiving C9800-80-universalk9_wlc.16.10.01.SPA.bin from 10.48.39.33

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

You end up in the Cisco IOS command line. Do not forget to actually copy the Cisco IOS image to the flash or hard disk and set the boot variable correctly. You can resume the procedure from the USB, previous as of step 6, once the file is copied in the flash or harddisk:.

Troubleshoot

If you keep seeing the rommon telling you "Please reset before booting" when you try to boot from a file in memory,USB or TFTP like this :

rommon 4 > boot bootflash:C9800-L-universalk9_wlc.V176_1.SPA.bin

Please reset before booting

All you have to do is to nullify the config register and reset, the problem goes away after reboot and you can boot from any source.

confreg 0x0

reset

Other useful ROMMON commands

The  dev  command lists the storage devices available (bootflash, harddisk, usb, and so on).

The command  showmon shows the ROMMON version.

Related Information

- Cisco Technical Support & Downloads