If you’re looking for tips of how to implement a code upgrade on a Cisco 5520 Wireless Controller you are probably working in a medium-large organization as I don’t expect to see a normal guy installing a toy like that in their attic. But you’ll never know.
In my setup I have two Cisco 5520 Wireless Controllers configured for SSO High Availability and they are serving a mix of over…many Cisco Wireless Access Points: Cisco 3502, Cisco 3702 and the mGIG beauties Cisco 3802.
I am upgrading from 8.3.143 to 8.5.135. Please download the code only from Cisco’s official website.

A more elegant way and to minimize the downtime caused by the upgrade, we will download the new bin image on the controller, then pre-download the same image on all the Cisco Wireless Access Points and reload all the units in the same time. This way, after reboot the access points will already have the bin image loaded and will start serving users instantly, therefore minimum downtime. Otherwise there will be downtime caused by the reload of the controllers. Then the Cisco Access Points will have to download the image and reload causing downtime again.
Before moving ahead, if you’re using Cisco Prime with your controllers you may want to check the release notes for any compatibility issues.
To download the bin image, visit Cisco.
The steps to follow would be:
- Save the running configuration. You can do that by logging in to GUI and on top of the page, right hand side you’ll see the button Save Running configuration. If you SSH on the box, then type save config;
- Download a copy of the running configuration as backup on your local TFTP server. You’ll have to select “Upload file from controller”
- Upload the bin image to the Cisco 5520 Wireless Controller. You can do that by GUI of TFTP. GUI works really well and it’s much more convenient. It will automatically transfer it to the standby unit and automatically set up as primary.
- Check that the new image has been configured as primary and the existing/old one now servers as backup. This can be done from GUI and CLI as well. Click Commands then select Config boot from the menu on the left.
The bin file you just uploaded should now be listed as primary. If not the case, select it from the drop down menu below. - SSH on the Cisco 5520 Wireless Controller and check the wireless access points along with the existing image:
show ap image all
- Pre-download the new image on all the Cisco Wireless Access Points:
config ap image predownload primary all.
Check progress by typing:show ap image all
You may now see that all the APs are now downloading the new image, as backup. - When all our access points finished downloading you will have to swap their primary image with the backup. Check again the download status with:
show ap image all
The next step would be to swap the backup image with the primary image. Now, the image we uploaded in the previous steps (8.5.135) will be used on the next boot.config ap image swap all
- Check HA between both controllers is OK:
show redundancy summary
- Reload both controllers along with all wireless access points in the same time. Observe that we are telling the controllers not to swap the image.
reset system in 00:01:30 image no-swap reset-aps save-config
From memory, the entire operation would take around 8 maybe 9 minutes. The access points will instantly associate with the controller and will start serving users right away.
que buen tutorial, me ha servido bastante
I have a question about it, the new IOS is loaded automatically on the standby WLC and should I do the process of preloading the aps on the standby WLC?
I can’t comment without knowing what sort of HA you have.
With SSO HA between WLCs the WAPs will be associated with the primary WLC alone, no WAPs will be associated with the STANDBY controller.