Looking for a quick step-by-step guide for updating your Cisco 5520 Wireless Lan Controllers and associated Access Points? You’re in the right place.
Updating Cisco WLCs is a fairly simple process but there are some different paths you can take to help speed things along and minimize downtime.
Less downtime mean less user’s that will notice anything is going on, which always the goal when it comes to keeping your network humming along!
Verifying Compatibility and Downloading Update Files
The first thing you need to do is determine the software version you wish to update to. I always recommend sticking with Cisco’s suggested releases, which are the ones with the gold star. I also recommend reading the release notes to verify the hardware you have in your environment is supported.
In my case, I wanted to update to 8.8 but I saw that 22.214.171.124(ED) is the latest suggested release, so we’ll start there. I read the release notes and noticed that some of our older AIR-LAP1142N-A-K9 APs weren’t on the “Supported Cisco Access Point Platforms” list. Because of this I opted to replace our outdated APs with AIR-AP3802I-B-K9 which are supported. Had I skipped checking the release notes I would have had APs down after the update.
Another thing you need to look out for in the release notes is upgrade paths. For example, if you look at the 8.8 release notes it tell you that any version lower than 8.5 has to update to 8.5 first before you can update to 8.8. So going from 8.3 to 8.8 is a no go.
Once you have your ideal update picked out, download it from Cisco’s website. The update for this particular walk-through was located at https://software.cisco.com/download/home/286284738/type/280926587/release/126.96.36.199. Since we have a support contract I was able to log in and download the software.
Pre-Staging 5520 WLC Software Update
The next thing we need to do is upload the software to the Wireless Lan Controller. This is not a disruptive task. Much like a Cisco switch, you’re just uploading software for the device to boot to after a reload.
To do this we need to log into our 5520 WLC and go to the Advanced menu and then to the Commands menu.
We then need to click on Download File so that we download our new firmware image to the WLCs. Yes I said download. For some oddball reason Cisco chose to use the term download rather than upload. If you choose upload you’ll actually pull a file from the WLC. Very confusing…
For the next step, we need to have a functioning TFTP server to copy the image to the wireless controller. I’m using SolarWinds Free TFTP Server. Copy your file to your TFTP server’s root folder.
Back in the WLC window, change the File Type to Code and then put in the IP address of your TFTP server and the File Name of the firmware image you’re uploading from your TFTP server’s root folder.
Click the Download button in the upper right corner of the window and click OK to confirm to proceed with uploading your new firmware image from the TFTP server to the WLC. You should receive a message that the “TFTP Code transfer is starting.”
Once the upload is complete you should see the message “File transfer is successful. Reboot the controller for update to complete. Optionally, pre-download the image to APs before rebooting to reduce network downtime.”
If your controllers are in High Availability mode or HA your Primary controller will upload the file to the standby wireless controller.
You can verify that the WLC is ready to boot to the new image by clicking on Config Boot and looking at the Primary Image. It should have the version number of your updated software.
You can also SSH into your controller and issue the show boot command like so:
(Cisco Controller) >show boot Primary Boot Image............................... 188.8.131.52 (default) Backup Boot Image................................ 184.108.40.206 (active)
Pre-Download Cisco WLC Update Image to APs
The next, optional, thing we can do is pre-download our new image to our APs. This will reduce downtime because the APs wont have to wait for the wireless controller to reload before they download their update and reload themselves. To do this, SSH into your controller and run the following command:
config ap image predownload primary all
This command tells the controller to download the image to all of your APs. Like the controller software download, this is a non-disruptive task. This process does take a few minutes on each AP. It would be a good time to go refill that coffee.
If you want to monitor the progress you can use the command:
show ap image all
You should see a table like below listing what stage each AP is in along with any problems if they popped up:
Total number of APs.............................. 31 Number of APs Initiated....................................... 0 Downloading..................................... 0 Predownloading.................................. 28 Completed predownloading........................ 3 Not Supported................................... 0 Failed to Predownload........................... 0
Now that all the APs have the new image preloaded, we need to tell them to set this image as the primary image to use on the next reboot. We do this with the following command:
(Cisco Controller) > config ap image swap all
Follow that with the show ap image all command again to verify the new image is now set as the primary image.
If your controllers are not running in HA using SSO then you’ll need to run these commands on both controllers.
If you’re running your controller in HA, now is a good time to make sure Redundancy is still working properly. To do this run the command:
show redundancy summary
Look at the output and verify Peer State = STANDBY HOT
(Cisco Controller) >show redundancy summary Redundancy Mode = SSO ENABLED Local State = ACTIVE Peer State = STANDBY HOT Unit = Secondary – HA SKU (Inherited AP License Count = 50)
You can also run a show boot again and double check that the right firmware is set as active.
If everything checks out, you are ready to reload the controllers and kick off the upgrade.
Reloading Cisco WLC to Perform Software Upgrade
If you are running your controllers in HA you want to ensure they reload together. To do this, SSH into into your Primary controller and issue the following command using more than 61 seconds:
reset system in HH:MM:SS image no-swap reset-aps save-config
As an example, I used this command:
reset system in 00:01:30 image no-swap reset-aps save-config
The “image no-swap” part of the command tells the controllers and APs to reload using the image current set as primary, which is the new image. If the new image was set as the backup image on the controllers and APs we would use the “image swap” command instead.
The “reset-aps” part of the command tells the APs to reload at the same time as the controllers rather than waiting until the controllers come back up to realize they need to reload. This will shorten your downtime window.
The “save-config” part of the command tells the controllers to save the running config to the startup config before reloading, ensuring any pending changes are written before the reboot.
If you prefer the GUI, you can navigate to Scheduled Reboot in the web interface menu and choose either Reboot At to specify a future day and time or Reboot In to specify a time to reload the WLCs and subsequently the APs.
If your WLCs are not in HA using SSO you will have to enter the above command on both controllers to ensure they both reload and everything is updated.
Once the controllers and APs reload, start checking your console and verifying wireless connectivity. At that point you’re finished!
Recommended for You: Solarwinds Network Performance Monitor (NPM)Do you know the health of your networking equipment? Know when something goes down before a user reports problems? Know where your bandwidth is going or where you’re losing your packets?
Automate data collection and alerting of your networking infrastructure with Solarwinds NPM so you know exactly what is going on in your network and can sleep easy.
Unlike other tools, NPM is ready to out of the box with most common makes and models of networking equipment. No messing around with custom templates, xml files, or code to extract important information.