top of page
Search
  • Jason

Migrating From Cisco AireOS


Traditionally AP’s download their image from the Controller when they first associate for the first time and subsequently when the Controller is upgraded. The problem is that post Controller upgrade, all AP’s must upgrade their code to match, creating a huge download bottleneck. While the AP’s are downloading the image, it cannot serve clients. The problem is even more profound when you have remote sites that need to upgrade over a WAN connection, the process of upgrading an entire site can be painfully slow.

When faced with the circumstance of having many Access Points to upgrade and especially with remote sites running FlexConnect Access Points, IT administrators will oftentimes pre-download the code to the backup image location on each access point first. Pre-Downloading allows the Access point to keep serving clients while it stages the image in its backup image spot. Once the pre-download is complete, the image can be switched to the primary (active) image spot. While this solution solves the problem of user downtime while the AP is downloading code, it does not solve the problem of having to wait days, weeks (or longer) for all your AP’s to complete the download and finish the upgrade.

Cisco has a feature called “AP Efficient Upgrade” method that works by making 1 FlexConnect AP the master AP. The master AP first pre-downloads the image and once staged, the remaining FlexConnect (slave) AP’s on the controller can pre-download the image from the master AP instead from the Controller itself. While this solution works well for AP’s that are already joined to a Controller, it does not solve the problem of migrating Access Points from say a AireOS controller such as the Cisco 5520 to an IOS-XE based Cisco 9800 Controller. This is because the AP’s must be first be tagged on a 9800 controller with the Flex Profile before it can make use of the Efficient Upgrade feature. In other words, a Chicken or the Egg type problem: How can an AP pre-download from the master FlexConnect AP when it does not have the IOS-XE code installed? Answer: It cannot.


SOLUTION:


We can migrate from the AireOS platform to the IOS-XE Platform by making use of the “archive download-sw” command found on IOS and COS based Cisco Access Points.





This works great for a few AP’s at a few remote sites but if we have more than just “a few” were going to need some automation. The best solution for automating this type of migration is to use the Cisco WLAN Poller tool found here:



Originally designed as a tool for diagnosing and resolving corrupted flash issues, this tool can be used to “mass migrate” AP’s at remote sites from AireOS to IOS-XE with just a few modifications.


PREREQUISITES:


· Cisco WLAN Poller Script

· TFTP Server

· AP Images (available at Cisco.com)

· Prime Infrastructure (Optional)



Extract the contents of the “Enterprise-WlanPoller-Win-3.0-Bundle.zip” to a folder




APLIST.CSV

The folder contents the file “aplist.csv” (this is where you add the IP addresses of your Access Points). If you do not wish to TFTP download ALL of your access points at once, you can specify your IP’s in this file. In order to make sure of the .CSV file you must make the following changes (in Red) to the Config.ini file (refer to Config.ini section).







CONFIG.INI

The “config.ini” file contains all the IP address and username/password information for connecting for AP’s and the WLC’s.


Update the Red highlighted sections with your AP credentials and TFTP ip address.




If you want to make use of the APLIst.csv file to only download to select AP's as opposed to all AP's, set the "active flag" in the [WLC} section = False. As well as remove the semicolons ";" from the [AP-CSV] section.



CMDLIST_.TXT

The cmdlist txt files contain the commands to execute on each Access Point. In this solution we have only (1) command to run:


archive download-sw /no-reload tftp://<ip address>/AP_image.tar


Update all the cmdlist text files with the appropriate AP image. Use the # to comment out all the commands you do not wish to run. You will need to find the AP image version that is a 1:1 match with that of the target Wireless Controller image. For example, Cisco IOS-XE 17.3.1 = 153-3.JPJ4.




For a complete mapping of Controller to AP images, consult the wireless matrix:



Execute the script by running wlanpoller.exe from windows command line:


LOG OUTPUT

WLAN Poller logs all output to WLANPoller\Data\2020\12\13




Each Access Point writes its output to its own log file. This is very useful when troubleshooting if things don't work right.




Update the High Availability TAB on each AP from the WLC or use Prime Infrastructure to configure multiple AP’s at once:




Setting the Primary Controller IP address of the target WLC for each AP will take precedence over DHCP option 43 or DNS based discovery.





If you have Prime Infrastructure managing your wireless devices, you can create a "Lightweight AP Template" and push out the Primary Controller name and IP to any number of AP's you wish. The template below updates the High Availability TAB on the Controller for the selected AP's.





The 2 AP’s (3702i and 3802-1) that were prepared using the WLAN Poller .CSV file joined without downloading…while the ap 3802-2 that was NOT listed in the CSV is downloading code direct from the WLC over the WAN.





The "show ap image" command displays the status of how many AP's are either Downloading or Pre-downloading, as well as the list of AP's that are currently joined, along with their Primary and Backup image versions. It should be noted however that because this solution used direct TFTP download from 2/3 of the AP's, the only way to monitor the progress from those two AP's would be from the WLAN poller logs.



AND......were done! Our two access points that were prepped using WLAN Poller joined without having to download code from the controller!



2,236 views0 comments
bottom of page